My Simon Says not working code…

this is YiNing’s not working Simon code….

boolean simonDone;
int simonSays[99] ={};
int user[99] = {};
int nextStep = 0 ;
int usernextStep = 1;

int simonSpeed = 500;
int ledpin[4] = {};
int btnpin[4] = {};
int count = 0;

int debouncedelay = 10;
boolean debouncefunction(int pin){
  boolean state;
  boolean previousState;

  previousState = digitalRead(pin);
  for(int counter =0; counter > debouncedelay; counter++){
    delay(1);
    state = digitalRead(pin); //readpin
      if(state != previousState)
      {counter = 0;
      previousState = state;
      }
  }
  return state;
}

void setup()
{
  for(int i = 4; i < 8; i++){
    pinMode(btnpin[i], INPUT);
  }

  for(int i =8; i < 12; i++){
    pinMode(ledpin[i], OUTPUT);
  }

  Serial.begin(9600);
  randomSeed(analogRead(0));
}

void loop ()
{
  if (simonDone == false)
  {
    simonSays[nextStep] = int(random(1,5)) ;
    Serial.print("nextStep: " );
    Serial.println(nextStep);

    Serial.print("simonSpeed: " );    // Show how the new time feature works
    Serial.println(simonSpeed);         // Show how the new time feature works

    Serial.print("simonSays: ");

    for (int i =0; i <= nextStep ; i++)
    {
      Serial.print(simonSays[i]);
      Serial.print(" , ");
    if(simonSays[i] == 1){
      digitalWrite(8, HIGH);
      delay(300);
      digitalWrite(8, LOW);
    }
    if(simonSays[i] == 2){
      digitalWrite(9, HIGH);
      delay(300);
      digitalWrite(9, LOW);
    }
    if(simonSays[i] == 3){
      digitalWrite(10, HIGH);
      delay(300);
      digitalWrite(10, LOW);
    }
    if(simonSays[i] == 4){
      digitalWrite(11, HIGH);
      delay(300);
      digitalWrite(11, LOW);
    }
      delay(simonSpeed);
    }

    simonSpeed= (simonSpeed - (nextStep*5));
    simonSpeed = max(simonSpeed, 200);

    simonDone = true;
    Serial.println(" ");
  }

  if (simonDone == true)
  {
    //delay(3000);
    Serial.println("User's turn");
    Serial.print("User says:  ");
    for(int i = 0; i <= nextStep; i++){
      boolean wait = true;
      if(user[i] != 1 || user[i] != 2 || user[i] != 3 || user[i] != 4){
        if(wait == true) {
          for(int i = 0; i <count+1; i++){
          delay(count);
          count++;
          }
        }
      }
      if (digitalRead(4) == HIGH){
        wait = false;
        Serial.print("1");
        user[i] = 1;
        delay(200);
      }
      if (digitalRead(5) == HIGH){
        wait = false;
        Serial.print("2");
        user[i] = 2;
        delay(200);
      }
      if (digitalRead(6) == HIGH){
        wait = false;
        Serial.print("3");
        user[i] = 3;
        delay(200);
      }
      if (digitalRead(7)== HIGH){
        wait = false;
        Serial.print("4");
        user[i] = 4;
        delay(200);
      }
      if (user[i] == simonSays[i]){
        //usernextStep ++;
        Serial.print(" , ");
        //if(usernextStep == nextStep + 1){
          Serial.println("User got it right, add a new step and give Simon a Turn");
          simonDone = false;
        //}
      }
    }
    nextStep++;
  }
}