gpt4 book ai didi

c - 在基本井字游戏中保存数据

转载 作者:行者123 更新时间:2023-12-01 13:58:40 24 4
gpt4 key购买 nike

我对 C 语言还比较陌生。在 Kochan 的“C 语言编程”中,我目前使用的是 if-else 语句。我正在尝试编写一个基本的井字游戏,但遇到了一些困难。一旦玩家放置了 x 或 o,我不确定如何保存棋盘。这是我到目前为止的代码:

#include <stdio.h>

int main (void)
{
int board = "_|_|_\n
_|_|_\n
| | \n";
int player1, player2;

printf ("Print %i", board)

printf("Player 1, it's your move:")
scanf("%i", player1)

if(player1 == "upLeft")
printf("x|_|_\n
_|_|_\n
_|_|_\n
etc.

我是不是太新手了,无法实现这个功能?

最佳答案

首先,这没有意义:

int board = "_|_|_\n
_|_|_\n
| | \n";

int 不是字符串,您不能将字符串分配给 int。在 C 中,字符串是字符数组:

char board[] = "_|_|_\n_|_|_\n | | \n";

这更有意义。但这确实不是存储井字棋盘状态的好方法。您应该做的是为棋盘上的每个位置存储一些值。不用担心板子的实际格式,你可以在显示的时候按照你喜欢的格式设置。所以以这种方式存储您的电路板:

char board[9] = "---------";

其中“-”表示空格为空。当玩家移动时,您将数组中适当位置的字符替换为“X”或“O”(或 1 和 2,或任何其他适合您的值)。当您从用户那里获得一些输入时,您将只更改 board 数组中的相应值。例如,如果您从左上角开始对位置编号 0-8,则中间行中最右边的位置将是位置 5。 (记住,C 数组是从零开始的,所以第一个索引是 0。)所以如果用户想在那个位置放一个 X,你会说:

board[5] = 'X';

接下来,您可能想要编写一个打印电路板的函数。 就是您要插入任何字符来绘制板的地方。

最后,您将要使用某种循环来重复读取用户的输入、修改板的状态、打印板,并可能显示提示。

关于c - 在基本井字游戏中保存数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8825422/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com