Ejemplo n.º 1
0
/*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);
		}
	}
}