2014-11-23 64 views
0

我使用Ncurses创建了Tic Tac Toe。有没有在指定坐标的屏幕值上打印的功能?C在ncurses中打印指定坐标的值

实施例:游戏的

结果:

XOO

OOX

XXO

然后,程序将要求用户写入坐标。用户写入y = 3 x = 3,程序的响应为O.对于x = 1的用户响应y = 1,程序的响应为X等。

回答

0

对于此,您不需要任何来自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

代码未经测试,但您应该明白。

0

[mvinch(3)][1](或朋友)应该这样做,如果你知道屏幕上的显示位置。

但是正如@frasnian所说,在板子的状态下使用屏幕外数据结构更传统。

-1

所有XES OES由玩家给出:

getyx(stdscr上,Y,X); mvaddch(y,x,'X');

我没有板子3x3。