私はHTMLを学んだCSS、Wordpressでカスタムテーマを作成するウェブデザインの背景から学びました。ショット。私は友人が私を助けてくれていて、私のための彼の最新の仕事はチック・タック・トー・ゲームでした。以下は私がこれまで持っていたコードです。私は現在、プレイヤー1とプレイヤー2の間でゲームループを作ることに問題があり、ゲームが不完全であるかどうかを認識させ、1 p1の勝利、2 p2の勝ち、または3の猫のゲームを認識させる。Cを学ぶ - チック - タック - トゥプログラムを終了するための助けが必要
#include <stdio.h>
#define O 2
#define X 1
void printItem(int item)
{
char items[] = { ' ', 'X', 'O' };
printf(" %c ", items[item]);
/*
if (item == 0)
printf(" ");
else if (item == 1)
printf("X");
else
printf("O");
*/
}
void printRowDivider()
{
printf(" +---+---+---+\n");
}
void printBoard(int board[9])
{
printf(" A B C\n");
printRowDivider();
printf("1 ");
for (int i = 0; i < 9; i++)
{
printf("|");
printItem(board[i]);
if (i == 2 || i == 5)
{
printf("|\n");
printRowDivider();
printf("%d ", (i+1)/3 + 1);
}
}
printf("|\n");
printRowDivider();
}
int gameStatus(int board[9]) {
// check rows
if (board[0] == board[1] && board[1] == board[2] && board[0] != 0)
return board[0];
else if (board[3] == board[4] && board[4] == board[5] && board[3] != 0)
return board[3];
else if (board[6] == board[7] && board[7] == board[8] && board[6] != 0)
return board[6];
// check columns
else if (board[0] == board[3] && board[3] == board[6] && board[0] != 0)
return board[0];
else if (board[1] == board[4] && board[4] == board[7] && board[1] != 0)
return board[1];
else if (board[2] == board[5] && board[5] == board[9] && board[2] != 0)
return board[2];
// check diagnols
else if (board[0] == board[4] && board[4] == board[8] && board[0] != 0)
return board[0];
else if (board[2] == board[4] && board[4] == board[6] && board[2] != 0)
return board[2];
else {
return 3;
}
}
int main()
{
int gameBoard[9] = { 0, 0, 0,
0, 0, 0,
0, 0, 0 };
printBoard(gameBoard);
printf("p1 (Column + Row): ");
int row;
char column;
scanf(" %c%d", &column, &row);
printf("You said %d, %d.\n", row, column);
row -= 1;
column -= 'A';
printf("You said %d, %d.\n", row, column);
gameBoard[row*3 + column] = X;
printBoard(gameBoard);
printf("p2 (Column + Row): ");
scanf(" %c%d", &column, &row);
row -= 1;
column -= 'A';
printf("You said %d, %d.\n", row, column);
gameBoard[row*3 + column] = O;
printBoard(gameBoard);
int player = 0;
while (1) {
printBoard(gameBoard);
printf("Player %d: ", player + 1);
scanf(" %c%d", &column, &row);
player -= player;
}
printBoard(gameBoard);
return 0;
}
ありがとうございます。あなたのメインプログラムで
コードレビューはこのより良い場所になります –
あなたが直面している問題は何ですか? *あなたはそれが何を期待しているのか、それはATmが何をしているのか、 –