编程怎么编井字题

时间:2025-01-25 15:53:28 网络游戏

```c

include

define ROW 3

define COL 3

int main() {

int player = 0;

int winner = 0;

int choice = 0;

unsigned int row = 0;

unsigned int col = 0;

char board[ROW][COL] = { {'1','2','3'},{'4','5','6'},{'7','8','9'} };

// 主游戏循环. 只要没有获胜者

for(unsigned int i = 0; i < 9 && winner == 0; ++i) {

// 显示白板

printf("\n");

printf("%c |%c |%c \n", board, board, board);

printf("%c |%c |%c \n", board, board, board);

printf("%c |%c |%c \n", board, board, board);

player = i % 2 + 1; // 获取有效的玩家编号

// 获取玩家输入

printf("玩家%d,请输入一个有效的行数(1-3): ", player);

scanf("%d", &choice);

row = --choice / 3;

// 获取玩家输入

printf("玩家%d,请输入一个有效的列数(1-3): ", player);

scanf("%d", &choice);

col = --choice % 3;

// 放置玩家棋子

board[row][col] = player;

// 检查获胜者

if (board[row][col] != ' ') {

winner = player;

}

}

if (winner == 0) {

printf("这是一个井字游戏,请尽情享受!\n");

} else {

printf("玩家%d获胜!\n", winner);

}

return 0;

}

```

这个代码实现了一个简单的井字游戏,玩家轮流在3x3的棋盘上放置自己的棋子('X'或'O'),第一个玩家总是放'X',第二个玩家总是放'O'。游戏会一直进行,直到有玩家获胜或棋盘填满。如果有玩家获胜,程序会输出获胜者的编号;如果棋盘填满且没有玩家获胜,则游戏以平局结束。