   Serial.println("*********************");
   Serial.println("***** Game Loop *****");
   Serial.println("*********************");
+  Serial.println("-Turn: " + String(turn));
+  Serial.println("-Start turn: " + start_turn);
   Serial.println("");
   delay(200);
   boolean waitForMove = true;


void initializeHardwarePeripherals(){
  Serial.println("Initializing hardware:");
  initializeScreen();
  display.printText("Initializing...", 6, 1, GREEN);
  initializeRFID();
  initializeSoundPlayer();
  initializeBoard();
}

void initializeBoard(){

  Serial.println("Finding other player...");
  boolean notFound = true;
  while(notFound){
    Serial.println("-Searching for other players...");
    String res = sendAndWait(MSG_FIND_GAME + SEP_CHAR_COMMANDS  + player_id + END_CHAR);
    Serial.println("-reply: '" + res + "'");
    String command = getCommand(res);

    // if waiting_for_player -> delay 100
    // if not_registered -> register
    // if rival -> set start_turn, set rival_id, notFound = false
    if (command.startsWith(CMD_WAITING_PLAYERS)){
      Serial.println("-Waiting for rivals...");
      delay(1000);
    } 
    else if (command.startsWith(CMD_NOT_REGISTERED)){ // This shouldn't happen
      Serial.println("-Not registered");
      registerPlayer();
    } 
    else if (command.startsWith(CMD_RIVAL)){
      Serial.println("-Rival found");
      String parameters = getParameters(res);
      rival_id = getParameter(parameters, 1);
      start_turn = getParameter(parameters, 2);
      notFound = false;
    } else{
      Serial.println("Unknown command: '" + command + "'");
    
    }
  }
}
