我使用Ncurses创建了Tic Tac Toe。是否有任何功能可以在指定坐标的屏幕值上打印?
示例:
游戏结果:
XOO
OOX
XXO
然后,程序要求用户写入坐标。用户写y = 3 x = 3,程序的响应为O.对于用户对x = 1 y = 1的响应,程序的响应为X等。
答案 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的电路板。