Tic Tak Toe help

closed account (4iLAqMoL)
Hi I'm kind of new to C++ and I have an assignment to create a Tic Tak Toe game. I have most of the program done. All I need is to update the board and to have the winning function check if there is a winner and if there is one to say who it was. Here is a copy of my code.



#include <iostream>
#include<cstdio>
using namespace std;

const int SIZE = 3;

bool validate(char caBoard[SIZE][SIZE],bool bTurn, int iSpace);
void displayBoard (char caBoard[SIZE][SIZE],bool bTurn);
void update(char caBoard[SIZE][SIZE],bool bTurn, int iSpace);
void winner(char caBoard[SIZE][SIZE],bool bTurn);

int main ()
{
//Define adn initalize veriables
int iTurnCount = 0, iWinner = 0;
int iSpace; //THe user selected move, legal values 1-9
bool bTurn = true; //If ture X turn if fales O turn
char caBoard [SIZE] [SIZE];
printf("XOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO\n");
printf(" Tic Tak Toe \n");
printf("XOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO\n");
for (int iRow = 0; iRow < SIZE; iRow++)
{
for (int iCol = 0; iCol < SIZE; iCol++)
{
caBoard[iRow][iCol] = '%';
}
}
// main game loop
do {
//display board
displayBoard (caBoard, bTurn);

//Get user input
cin >> iSpace;


//Validate user input
while(validate(caBoard, bTurn, iSpace))
{
printf("ERROR, must a correct choice\n");
displayBoard (caBoard, bTurn);
cin >> iSpace;
}
//Update board/game
update(caBoard, bTurn, iSpace);

//Determine if there is a winner
iWinner = winner(caBoard, bTurn);//1 X win 2 O win 3 cat
// Change player
bTurn = !bTurn;
//End main loop
}while (iWinner == 0);
return 0;
}

bool validate(char caBoard[SIZE][SIZE],bool bTurn, int iSpace)
{
int iRow, iCol;
iRow = (iSpace - 1) / SIZE;
iCol = (iSpace - 1) % SIZE;
if (iSpace < 1 || iSpace > 9)
return false;
}

void displayBoard (char caBoard[SIZE][SIZE],bool bTurn)
{
for (int iRow = 0; iRow < SIZE; iRow++)
{
{
for (int iCol = 0; iCol < SIZE; iCol++)
{
printf(" % c", caBoard[iRow][iCol]);
}
printf("\n\n");
}


}
printf("%c it is your turn\n", (bTurn ? 'X' : 'O'));
printf("\n");
}

void update(char caBoard[SIZE][SIZE],bool bTurn, int iSpace);
{
for (int iRow = 0; iRow < SIZE; iRow++)
{
{
for (int iCol = 0; iCol < SIZE; iCol++)
{
printf(" c", caBoard[iRow][iCol]);
}
printf("\n\n");
}


}

}

boil winner(char caBoard[SIZE][SIZE],bool bTurn);
{
int iCor1, iCor2, iCor3, iCor4, iCor5, iCor6;
boil bwin = true;

switch(iCor1, iCor2);
{
//Coordinate Cases
case (iCor1 == 0) && (iCor2 == 0) && (iCor3 == 0) && (iCor4 == 1) && (iCor5 == 0) && (iCor6 == 2)
{
printf("Tic Tak Toe 3 in a row Wins!!!");
break;
}
case (iCor1 == 1) && (iCor2 == 0) && (iCor3 == 1) && (iCor4 == 1) && (iCor5 == 1) && (iCor6 == 2)
{
printf("Tic Tak Toe 3 in a row Wins!!!");
break;
}
case (iCor1 == 2) && (iCor2 == 0) && (iCor3 == 2) && (iCor4 == 1) && (iCor5 == 2) && (iCor6 == 2)
{
printf("Tic Tak Toe 3 in a row Wins!!!");
break;
}
case (iCor1 == 0) && (iCor2 == 0) && (iCor3 == 1) && (iCor4 == 0) && (iCor5 == 2) && (iCor6 == 0)
{
printf("Tic Tak Toe 3 in a row Wins!!!");
break;
}
case (iCor1 == 0) && (iCor2 == 1) && (iCor3 == 1) && (iCor4 == 1) && (iCor5 == 2) && (iCor6 == 1)
{
printf("Tic Tak Toe 3 in a row Wins!!!");
break;
}
case (iCor1 == 0) && (iCor2 == 2) && (iCor3 == 1) && (iCor4 == 2) && (iCor5 == 2) && (iCor6 == 2)
{
printf("Tic Tak Toe 3 in a row Wins!!!");
break;
}
case (iCor1 == 0) && (iCor2 == 0) && (iCor3 == 1) && (iCor4 == 1) && (iCor5 == 2) && (iCor6 == 2)
{
printf("Tic Tak Toe 3 in a row Wins!!!");
break;
}
case (iCor1 == 0) && (iCor2 == 2) && (iCor3 == 1) && (iCor4 == 1) && (iCor5 == 2) && (iCor6 == 0)
{
printf("Tic Tak Toe 3 in a row Wins!!!");
break;
}

printf("It's a tie the Cat wins");
}
Last edited on
Topic archived. No new replies allowed.