我使用Ncurses创建了Tic Tac Toe。有没有在指定坐标的屏幕值上打印的功能?C在ncurses中打印指定坐标的值
实施例:游戏的
结果:
XOO
OOX
XXO
然后,程序将要求用户写入坐标。用户写入y = 3 x = 3,程序的响应为O.对于x = 1的用户响应y = 1,程序的响应为X等。
我使用Ncurses创建了Tic Tac Toe。有没有在指定坐标的屏幕值上打印的功能?C在ncurses中打印指定坐标的值
实施例:游戏的
结果:
XOO
OOX
XXO
然后,程序将要求用户写入坐标。用户写入y = 3 x = 3,程序的响应为O.对于x = 1的用户响应y = 1,程序的响应为X等。
对于此,您不需要任何来自ncurses的信息。如果你有玩家X和O的值,你应该已经知道坐标。我假设你有一个3x3数组(或某种等价物,比如std::vector<std::vector<int>>
),因为这是游戏的基本先决条件(状态必须在某个地方举行)。
比方说,你已经有了
int board[3][3];
并承担了价值X
是1(一)和O
为0(零)。如果他们要求x,y坐标{ 3, 3 }
只是给他们:
std :: cout < <(board [coordX - 1] [coordY - 1])? 'X':'O'; //我假设数组是基于零的,因此coord - 1
代码未经测试,但您应该明白。
[mvinch(3)][1]
(或朋友)应该这样做,如果你知道屏幕上的显示位置。
但是正如@frasnian所说,在板子的状态下使用屏幕外数据结构更传统。
所有XES OES由玩家给出:
getyx(stdscr上,Y,X); mvaddch(y,x,'X');
我没有板子3x3。