Update function playGame to do the following a. Change the data type of variable playerX from a character array to struct Player b. Change the data type of variable playerO from a character array
C Programming
Update function playGame to do the following
a. Change the data type of variable playerX from a character array
to struct Player
b. Change the data type of variable playerO from a character array
to struct Player
c. When prompting the players for their name
i. Change storing the entered player name in the previous
character array (i.e. playerX and playerO) to struct field
playerName field (i.e. playerX.playerName and
playerO.playerName)
ii. Set the value for struct field playerNum to the associated
macros for each player
iii. Set the value for struct field discCount to the value 2 for
5
each player
d. Update the printf statement to use the struct field playerName
e. Move function call displayBoard inside the while loop at the
beginning
f. Update calls to function makeMove so the argument list is
i. Address of the player’s struct (i.e. &playerX or
&playerO)
ii. Two-dimensional array board
g. Before incrementing the loop control variable (i.e. loop) call
function displayStats for each player, passing the player’s struct
as an argument (i.e. playerX or playerO, NOT as a pointer, just
the struct)
Update this code :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#define TRUE 1
#define FALSE 0
#define NAME 20
#define ROW 8
#define COL 8
#define SPACE ' '
#define PLAYER_X 1
#define PLAYER_O 2
#define ZERO 0
#define ONE 1
#define TWO 2
#define THREE 3
#define FOUR 4
#define INVALID -1
struct Player
{
int playerNum;
char playerName[NAME];
int discCount;
};
void playGame()
{
// get player names
char playerX[NAME];
char playerO[NAME];
// Othello board
char board[ROW][COL]; // this is really a memory location of board[0][0]
// black (X) always goes first
int currentPlayer = PLAYER_X;
int loop = ZERO;
printf("Player X, please enter your name\n");
scanf("%s", playerX);
printf("Player O, please enter your name\n");
scanf("%s", playerO);
printf("%s and %s, let's play Othello!\n", playerX, playerO);
// call function initializeBoard
initializeBoard(board);
// call function displayBoard
displayBoard(board);
while(loop < FOUR)
{
// request the player's move
if(currentPlayer == PLAYER_X)
{
makeMove(playerX, currentPlayer, board);
currentPlayer = PLAYER_O;
}
else if(currentPlayer == PLAYER_O)
{
makeMove(playerO, currentPlayer, board);
currentPlayer = PLAYER_X;
}
loop++;
}
}
Trending now
This is a popular solution!
Step by step
Solved in 2 steps