here is my code so far
Code
#include <stdio.h>
#include <stdlib.h>
void ShowTable(char [][3]);
void ResetTable(char[] [3]);
char Marker[][3]={'1', '2', '3', '4', '5', '6', '7', '8', '9'};
int main(void)
{
char player_symbol = 'X';
char player_turn = '1';
char player_move;
char play_again = 'Y';
int R,C,times_played = 0; // just for FOR Loop
ShowTable(Marker);
do{
printf("Player No. %c turn \n", player_turn);
scanf("%c", &player_move);
for ( R = 0; R<3; R++)
{
for(C = 0; C<3; C++)
{
if(Marker[R][C] == player_move)
{
Marker[R][C] = player_symbol;
}
}
}
for (R=0; R<3; R++)
{
if((Marker[R][0] == Marker[R][1] && Marker[R][1] == Marker[R][2]) || (Marker[0][R] == Marker[1][R]&& Marker[1][R] == Marker[2][R]))
{
ShowTable(Marker);
printf("Player No. %c wins\nCongratulations\n\n", player_turn);
printf("Do you want to player again\nEnter Y for yes ->\n");
scanf("%c", &play_again);
if(play_again == 'Y' || play_again == 'y')
{
ResetTable(Marker);
play_again = 'Y';
player_turn = '2';
times_played = 0;
}
}
}
if((Marker[0][0] == Marker[1][1] && Marker[1][1] == Marker[2][2]) || (Marker[0][2] == Marker[1][1]&& Marker[1][1] == Marker[2][0]))
{
ShowTable(Marker);
printf("Player No. %c wins\nCongratulations\n", player_turn);
printf("Do you wnat to player again\nEnter Y for yes ->\n");
scanf("%c", &play_again);
if(play_again == 'Y' || play_again == 'y')
{
ResetTable(Marker);
play_again = 'Y';
player_turn = '2';
times_played = 0;
}
}
if( play_again == 'Y')
{
if(player_turn == '1')
{
player_turn = '2';
player_symbol = 'O';
ShowTable(Marker);
}
else
{
player_turn = '1';
player_symbol = 'X';
ShowTable(Marker);
}
}
times_played++;
if(times_played == 9)
{
printf("There's no winner\n\nDo you want to play again?\nEnter Y for yes->\n");
scanf("%c", &play_again);
if(play_again == 'Y' || play_again == 'y')
{
ResetTable(Marker);
play_again = 'Y';
player_turn = '1';
times_played = 0;
ShowTable(Marker);
}
}
}while(play_again == 'Y');
}
void ShowTable(char M[][3])
{
int i,j;
for(i=0;i<3;i++)
{
printf("| ");
for(j=0;j<3;j++)
{
printf("%c | ", M[i][j]);
}
printf("\n\n");
}
}
void ResetTable(char M[][3])
{
char cChar = '1';
int R,C;
for(R=0; R<3; R++)
{
for(C=0; C<3; C++)
{
M[R][C] = cChar;
cChar++;
system ("pause");
}
}
}
there are major flaws I forgot about