Using a string to initiate a while loop

Hey,
I want to make a Tic Tac Toe game with LEDs and buttons.
I got it all wired up and I started to write the code for it. I have ran into a problem though: when I try to start the game (by checking if win== "inGame"), the while loop that runs the game doesn't even start.
Here is the code for my program

int controlLED = 22;
int controlButton = 53;
char nextTurn[] = "X";
int operateOn;
char win[] = "inGame";
char winner_message[] = "No one ;)";
int controlButtonState;
int BottomRightButtonState;
int BottomCenterButtonState;
int BottomLeftButtonState;
int MiddleRightButtonState;
int MiddleCenterButtonState;
int MiddleLeftButtonState;
int TopRightButtonState;
int TopCenterButtonState;
int TopLeftButtonState;


//Board
int BottomRight = 24;
int BottomCenter = 26;
int BottomLeft = 28;
int MiddleRight = 30;
int MiddleCenter = 32;
int MiddleLeft = 34;
int TopRight = 36;
int TopCenter = 38;
int TopLeft = 40;

//Buttons
int BottomRightButton = 43;
int BottomCenterButton = 45;
int BottomLeftButton = 47;
int MiddleRightButton = 31;
int MiddleCenterButton = 33;
int MiddleLeftButton = 35;
int TopRightButton = 37;
int TopCenterButton = 39;
int TopLeftButton = 41;

int board[] = {0,0,0
              ,0,0,0
              ,0,0,0};




void setup() {
Serial.begin(9600);
pinMode(BottomRight, OUTPUT);
pinMode(BottomCenter, OUTPUT);
pinMode(BottomLeft, OUTPUT);
pinMode(MiddleRight, OUTPUT);
pinMode(MiddleCenter, OUTPUT);
pinMode(MiddleLeft, OUTPUT);
pinMode(TopRight, OUTPUT);
pinMode(TopCenter, OUTPUT);
pinMode(TopLeft, OUTPUT);
pinMode(controlLED, OUTPUT);

pinMode(controlButton, INPUT);
pinMode(BottomRightButton, INPUT);
pinMode(BottomCenterButton, INPUT);
pinMode(BottomLeftButton, INPUT);
pinMode(MiddleRightButton, INPUT);
pinMode(MiddleCenterButton, INPUT);
pinMode(MiddleLeftButton, INPUT);
pinMode(TopRightButton, INPUT);
pinMode(TopCenterButton, INPUT);
pinMode(TopLeftButton, INPUT);

digitalWrite(controlButton,HIGH);
digitalWrite(BottomRightButton,HIGH);
digitalWrite(BottomCenterButton,HIGH);
digitalWrite(BottomLeftButton,HIGH);
digitalWrite(MiddleRightButton,HIGH);
digitalWrite(MiddleCenterButton,HIGH);
digitalWrite(MiddleLeftButton,HIGH);
digitalWrite(TopRightButton,HIGH);
digitalWrite(TopCenterButton,HIGH);
digitalWrite(TopLeftButton,HIGH);
}

void loop() {
  controlButtonState = digitalRead(controlButton);
  if(controlButtonState == 0){
    Serial.println("0");
    digitalWrite(controlLED, HIGH);
    PvP();
  }
}

void PvP() {
      Serial.println(win);
  while (win == "inGame") {
    Serial.println(nextTurn);
    checkButtonPress();
    gameCondition();
  }
}

void X() {
  while(true){
  digitalWrite(operateOn, HIGH);
  delay(250);
  digitalWrite(operateOn, LOW);
  delay(250);
  }
}

void O() {
  digitalWrite(operateOn, HIGH);
}

void checkButtonPress() {
  BottomRightButtonState = digitalRead(BottomRightButton);
  BottomCenterButtonState = digitalRead(BottomCenterButton);
  BottomLeftButtonState = digitalRead(BottomLeftButton);
  MiddleRightButtonState = digitalRead(MiddleRightButton);
  MiddleCenterButtonState = digitalRead(MiddleCenterButton);
  MiddleLeftButtonState = digitalRead(MiddleLeftButton);
  TopRightButtonState = digitalRead(TopRightButton);
  TopCenterButtonState = digitalRead(TopRightButton);
  TopLeftButtonState = digitalRead(TopLeftButton);
  
  
  if (BottomRightButtonState == 0){
    operateOn = BottomRight;
    board[8] = nextTurn[0];
    whoseTurn();
    Serial.println("BottomRight");
  }
  if (BottomCenterButtonState == 0){
    operateOn = BottomCenter;
    board[7] = nextTurn[0];
    whoseTurn();
    Serial.println("BottomCenter");
  }
  if (BottomLeftButtonState == 0){
    operateOn = BottomLeft;
    board[6] = nextTurn[0];
    whoseTurn();
    Serial.println("BottomLeft");
  }
  if (MiddleRightButtonState == 0){
    operateOn = MiddleRight;
    board[5] = nextTurn[0];
    whoseTurn();
    Serial.println("MiddleRight");
  }
  if (MiddleCenterButtonState == 0){
    operateOn = MiddleCenter;
    board[4] = nextTurn[0];
    whoseTurn();
    Serial.println("MiddleCenter");
  }
  if (MiddleLeftButtonState == 0){
    operateOn = MiddleLeft;
    board[3] = nextTurn[0];
    whoseTurn();
    Serial.println("MiddleLeft");
  }
  if (TopRightButtonState == 0){
    operateOn = TopRight;
    board[2] = nextTurn[0];
    whoseTurn();
    Serial.println("TopRight");
  }
  if (TopCenterButtonState == 0){
    operateOn = TopCenter;
    board[1] = nextTurn[0];
    whoseTurn();
    Serial.println("TopCenter");
  }
  if (TopLeftButtonState == 0){
    operateOn = TopLeft;
    board[0] = nextTurn[0];
    whoseTurn();
    Serial.println("TopLeft");
  }
}

void whoseTurn() {
  if (nextTurn == "X"){
    X();
    nextTurn[0] = "O";
  }
  if (nextTurn == "O"){
    O();
    nextTurn[0] = "X";
  }
}

void initializeGame() {
  Serial.println(winner_message);
  winner_message[0] = "\0";
  winner_message[0] = "No one ;)";
  board[0] = 0;
  board[1] = 0;
  board[2] = 0;
  board[3] = 0;
  board[4] = 0;
  board[5] = 0;
  board[6] = 0;
  board[7] = 0;
  board[8] = 0;
  nextTurn[0] = "X";
  digitalWrite(BottomRight,LOW);
  digitalWrite(BottomCenter,LOW);
  digitalWrite(BottomLeft,LOW);
  digitalWrite(MiddleRight,LOW);
  digitalWrite(MiddleCenter,LOW);
  digitalWrite(MiddleLeft,LOW);
  digitalWrite(TopRight,LOW);
  digitalWrite(TopCenter,LOW);
  digitalWrite(TopLeft,LOW);
  win[0] = "\0";
  win[0] = "inGame";
}

void winnerMessage() {
  if (win[0] == "X"){
    winner_message[0] = "\0";
    winner_message[0] = "The winner is the player who played X"; 
  }
  if (win[0] == "O"){
    winner_message[0] = "\0";
    winner_message[0] = "The winner is the player who played O"; 
  }
  if (win[0] == "Tie"){
    winner_message[0] = "\0";
    winner_message[0] = "No one won this time... It's a tie :D"; 
  }
}

void gameCondition() {
  //Top Row
  if (board[0] == "1" && board[1] == "1" && board[2] == "1"){
    digitalWrite(MiddleLeft, LOW);
    digitalWrite(MiddleCenter, LOW);
    digitalWrite(MiddleRight, LOW);
    digitalWrite(BottomLeft, LOW);
    digitalWrite(BottomCenter, LOW);
    digitalWrite(BottomRight, LOW);
    delay(5000);
    win[0] = "X";
    Serial.println("Game Over");
    initializeGame();
  }

  if (board[0] == "2" && board[1] == "2" && board[2] == "2"){
    digitalWrite(MiddleLeft, LOW);
    digitalWrite(MiddleCenter, LOW);
    digitalWrite(MiddleRight, LOW);
    digitalWrite(BottomLeft, LOW);
    digitalWrite(BottomCenter, LOW);
    digitalWrite(BottomRight, LOW);
    delay(5000);
    win[0] = "O";
    initializeGame();
  }

  //Middle Row
  if (board[3] == "1" && board[4] == "1" && board[5] == "1"){
    digitalWrite(TopLeft, LOW);
    digitalWrite(TopCenter, LOW);
    digitalWrite(TopRight, LOW);
    digitalWrite(BottomLeft, LOW);
    digitalWrite(BottomCenter, LOW);
    digitalWrite(BottomRight, LOW);
    delay(5000);
    win[0] = "X";
    initializeGame();
  }

  if (board[3] == "2" && board[4] == "2" && board[5] == "2"){
    digitalWrite(TopLeft, LOW);
    digitalWrite(TopCenter, LOW);
    digitalWrite(TopRight, LOW);
    digitalWrite(BottomLeft, LOW);
    digitalWrite(BottomCenter, LOW);
    digitalWrite(BottomRight, LOW);
    delay(5000);
    win[0] = "O";
    initializeGame();
  }

  //Bottom Row
  if (board[6] == "1" && board[7] == "1" && board[8] == "1"){
    digitalWrite(MiddleLeft, LOW);
    digitalWrite(MiddleCenter, LOW);
    digitalWrite(MiddleRight, LOW);
    digitalWrite(TopLeft, LOW);
    digitalWrite(TopCenter, LOW);
    digitalWrite(TopRight, LOW);
    delay(5000);
    win[0] = "X";
    initializeGame();
  }

  if (board[6] == "2" && board[7] == "2" && board[8] == "2"){
    digitalWrite(MiddleLeft, LOW);
    digitalWrite(MiddleCenter, LOW);
    digitalWrite(MiddleRight, LOW);
    digitalWrite(TopLeft, LOW);
    digitalWrite(TopCenter, LOW);
    digitalWrite(TopRight, LOW);
    delay(5000);
    win[0] = "O";
    initializeGame();
  }

  //Left Column
  if (board[0] == "1" && board[3] == "1" && board[6] == "1"){
    digitalWrite(TopCenter, LOW);
    digitalWrite(TopRight, LOW);
    digitalWrite(MiddleCenter, LOW);
    digitalWrite(MiddleRight, LOW);
    digitalWrite(BottomCenter, LOW);
    digitalWrite(BottomRight, LOW);
    delay(5000);
    win[0] = "X";
    initializeGame();
  }

  if (board[0] == "2" && board[3] == "2" && board[6] == "2"){
    digitalWrite(TopCenter, LOW);
    digitalWrite(TopRight, LOW);
    digitalWrite(MiddleCenter, LOW);
    digitalWrite(MiddleRight, LOW);
    digitalWrite(BottomCenter, LOW);
    digitalWrite(BottomRight, LOW);
    delay(5000);
    win[0] = "O";
    initializeGame();
  }

  //Middle Column
  if (board[1] == "1" && board[4] == "1" && board[7] == "1"){
    digitalWrite(MiddleLeft, LOW);
    digitalWrite(MiddleCenter, LOW);
    digitalWrite(MiddleRight, LOW);
    digitalWrite(BottomLeft, LOW);
    digitalWrite(BottomCenter, LOW);
    digitalWrite(BottomRight, LOW);
    delay(5000);
    win[0] = "X";
    initializeGame();
  }

  if (board[1] == "2" && board[4] == "2" && board[7] == "2"){
    digitalWrite(TopLeft, LOW);
    digitalWrite(TopRight, LOW);
    digitalWrite(MiddleRight, LOW);
    digitalWrite(MiddleLeft, LOW);
    digitalWrite(BottomLeft, LOW);
    digitalWrite(BottomRight, LOW);
    delay(5000);
    win[0] = "O";
    initializeGame();
  }

  //Right Column
  if (board[2] == "1" && board[5] == "1" && board[8] == "1"){
    digitalWrite(TopLeft, LOW);
    digitalWrite(TopCenter, LOW);
    digitalWrite(MiddleLeft, LOW);
    digitalWrite(MiddleCenter, LOW);
    digitalWrite(BottomLeft, LOW);
    digitalWrite(BottomCenter, LOW);
    delay(5000);
    win[0] = "X";
    initializeGame();
  }

  if (board[2] == "2" && board[5] == "2" && board[8] == "2"){
    digitalWrite(TopLeft, LOW);
    digitalWrite(TopCenter, LOW);
    digitalWrite(MiddleLeft, LOW);
    digitalWrite(MiddleCenter, LOW);
    digitalWrite(BottomLeft, LOW);
    digitalWrite(BottomCenter, LOW);
    delay(5000);
    win[0] = "O";
    initializeGame();
  }

  //Top left to bottom right diagonal
  if (board[0] == "1" && board[4] == "1" && board[8] == "1"){
    digitalWrite(TopCenter, LOW);
    digitalWrite(TopRight, LOW);
    digitalWrite(MiddleLeft, LOW);
    digitalWrite(MiddleRight, LOW);
    digitalWrite(BottomLeft, LOW);
    digitalWrite(BottomCenter, LOW);
    delay(5000);
    win[0] = "X";
    initializeGame();
  }

  if (board[0] == "2" && board[4] == "2" && board[8] == "2"){
    digitalWrite(TopCenter, LOW);
    digitalWrite(TopRight, LOW);
    digitalWrite(MiddleLeft, LOW);
    digitalWrite(MiddleRight, LOW);
    digitalWrite(BottomLeft, LOW);
    digitalWrite(BottomCenter, LOW);
    delay(5000);
    win[0] = "O";
    initializeGame();
  }

  //Top right to bottom left diagonal
  if (board[2] == "1" && board[4] == "1" && board[6] == "1"){
    digitalWrite(TopCenter, LOW);
    digitalWrite(TopLeft, LOW);
    digitalWrite(MiddleLeft, LOW);
    digitalWrite(MiddleRight, LOW);
    digitalWrite(BottomRight, LOW);
    digitalWrite(BottomCenter, LOW);
    delay(5000);
    win[0] = "X";
    initializeGame();
  }

  if (board[2] == "2" && board[4] == "2" && board[6] == "2"){
    digitalWrite(TopCenter, LOW);
    digitalWrite(TopLeft, LOW);
    digitalWrite(MiddleLeft, LOW);
    digitalWrite(MiddleRight, LOW);
    digitalWrite(BottomRight, LOW);
    digitalWrite(BottomCenter, LOW);
    delay(5000);
    win[0] = "O";
    initializeGame();
  }

  //Tie
  if (board[0] != "0" && board[1] != "0" && board[2] != "0" && board[3] != "0" && board[4] != "0" && board[5] != "0" && board[6] != "0" && board[7] != "0" && board[8] != "0"){
    win[0] = "Tie";
    initializeGame();
  }
}

You cannot use the equality operator (==) to compare strings (null terminated character arrays). Use the strcmp() function instead.

while (strcmp(win, "inGame") == 0) {

You can't use == to compare C style strings. Use strcmp() instead

  while (strcmp(win, "inGame") == 0)

However, there are other problems. For instance

    win[0] = "Tie";

  win[0] = "inGame";

win[0] can only hold a single character so you cannot change a whole array like that

If you want to change the contents of the string use strcpy()

strcpy(win, "inGame");

I see. Thank you.

ok Thanks.