C打印ncurses中指定坐标的值

时间:2014-11-23 14:42:49

标签: c coordinates ncurses curses

我使用Ncurses创建了Tic Tac Toe。是否有任何功能可以在指定坐标的屏幕值上打印?

示例:

游戏结果:

XOO

OOX

XXO

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

3 个答案:

答案 0 :(得分:0)

你不需要ncurses的任何东西。如果你有玩家X和O的值,你应该已经知道了坐标。我假设你有3x3数组中的值(或某种等价物,比如说std::vector<std::vector<int>>),因为这是游戏的基本先决条件(状态必​​须保持在某个地方)。

让我们说你有

int board[3][3];

并假设X的值为1(一),O为0(零)。如果他们要求x,y坐标{ 3, 3 }给他们:

std :: cout&lt;&lt; (董事会[coordX - 1] [coordY - 1])? &#39; X&#39; :&#39; O&#39 ;; //我假设数组是从零开始的,因此coord - 1

代码未经过测试,但您应该明白这一点。

答案 1 :(得分:0)

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

但正如@frasnian所说,在电路板状态下建立屏幕外数据结构更为传统。

答案 2 :(得分:-1)

所有Xes Oes都由玩家提供:

getyx(stdscr上,Y,X); mvaddch(Y,X,&#39; X&#39);

我没有3x3的电路板。