HTML、CSS、Wordpress でのカスタム テーマの作成の経験を持つ Web デザインのバックグラウンドを持つ私は、プログラミングを試してみたかったのです。私を手伝ってくれる友人がいて、彼の最近の仕事は三目並べゲームでした。以下は私がこれまでに持っているコードです。現在、プレイヤー 1 とプレイヤー 2 の間でゲーム ループを作成し、ゲームが 0 未完了、1 p1 勝利、2 p2 勝利、または 3 匹の猫のゲームであるかどうかをゲームに認識させるのに問題があります。
#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;
}
読んでくれてありがとう。