int main(int argc, char* argv[]) { if(argc == 1) { cerr << "usage: play_game rounds [other arguments which your AI needs]" << endl; return 1; } int iPlayRounds = atoi(argv[1]); // create and initialize AI Fib2584Ai ai; ai.initialize(argc, argv); // initialize statistic data Statistic statistic; statistic.setStartTime(); // play each round for(int i = 0;i < iPlayRounds;i++) { GameBoard gameBoard; gameBoard.initialize(); int iScore = 0; int arrayBoard[4][4]; while(!gameBoard.terminated()) { gameBoard.getArrayBoard(arrayBoard); MoveDirection moveDirection = ai.generateMove(arrayBoard); GameBoard originalBoard = gameBoard; iScore += gameBoard.move(moveDirection); if(originalBoard == gameBoard) { printf("Repeated\n"); exit(1); } statistic.increaseOneMove(); gameBoard.addRandomTile(); } gameBoard.getArrayBoard(arrayBoard); ai.gameOver(arrayBoard, iScore); statistic.increaseOneGame(); // update statistic data statistic.updateScore(iScore); statistic.updateMaxTile(gameBoard.getMaxTile()); } statistic.setFinishTime(); // output statistic data statistic.show(); return 0; }