/*MAIN MENU * Displays main menu choices*/ void showMenu() { Cell board[BOARD_HEIGHT][BOARD_WIDTH]; while (TRUE) { int choice; printf("\n"); printf("Welcome to Car Board \n"); printf("-------------------- \n"); printf("1. Play game \n"); printf("2. Show student's information \n"); printf("3. Quit \n\n"); choice = validateNumber(); if (choice == 1) { showCommands(); initialiseBoard(board); displayBoard(board, NULL); printf("load <g>\n"); printf("quit\n\n"); initialiseGame(); } if (choice == 2) { showStudentInformation(); } if (choice == 3) { printf("\n"); printf("Good Bye!\n\n"); break; } } }
void playGame() { Boolean loaded = FALSE; Boolean hasInit = FALSE; Player player; Cell board[BOARD_HEIGHT][BOARD_WIDTH]; char load[BUFFER_SIZE]; char *token; char *readin; playgame_menu(); initialiseBoard(board); printf("Please enter to continue...\n"); while(getchar() != '\n'); displayBoard(board, NULL); twoCommands_menu(); while(TRUE) { if(loaded && hasInit) { fourCommands_menu(); } else if (loaded) { threeCommands_menu(); } readin = fgets(load,80,stdin); load[strlen(readin) - 1] = '\0'; token = strtok(readin,DELIMS); if(strcmp(token,COMMAND_LOAD) == 0) { token = strtok(NULL,DELIMS); getBoard(board,token); loaded = TRUE; } else if(strcmp(token,COMMAND_INIT) == 0) { if(!loaded) { printf("INVALID INPUT.\n"); } else { getInitialPosition(board,&player,token); displayBoard(board,&player); hasInit = TRUE; } } else if (strcmp(token,COMMAND_QUIT) == 0) { int moves = (int) player.moves; printf("Total player moves : %d\n",moves); break; } else { getNextMove(board,token,&player); } } }