【发布时间】:2014-11-23 14:42:48
【问题描述】:
我使用 Ncurses 创建了井字游戏。是否有任何功能可以在指定坐标的屏幕值上打印?
例子:
比赛结果:
XOO
OOX
XXO
然后,程序要求用户写坐标。用户写y=3 x=3,程序响应为O。用户响应x=1 y=1,程序响应为X,以此类推。
【问题讨论】:
标签: c coordinates ncurses curses
我使用 Ncurses 创建了井字游戏。是否有任何功能可以在指定坐标的屏幕值上打印?
例子:
比赛结果:
XOO
OOX
XXO
然后,程序要求用户写坐标。用户写y=3 x=3,程序响应为O。用户响应x=1 y=1,程序响应为X,以此类推。
【问题讨论】:
标签: c coordinates ncurses curses
你不需要 ncurses 的任何东西。如果您有玩家 X 和 O 的值,您应该已经知道坐标。我假设你有一个 3x3 数组中的值(或某种等价物,比如std::vector<std::vector<int>>),因为这是游戏的基本先决条件(状态必须保存在某个地方)。
假设你有
int board[3][3];
并假设 X 的值为 1(一),O 的值为 0(零)。如果他们要求 x,y 坐标{ 3, 3 },只需给他们:
std::cout
代码未经测试,但你应该明白。
【讨论】:
[mvinch(3)][1](或朋友)应该这样做,如果你知道你的板子在屏幕上显示的位置。
但正如@frasnian 所说,更传统的做法是使用带有棋盘状态的屏幕外数据结构。
【讨论】:
所有的Xes Oes都是玩家给的:
getyx(stdscr,y,x); mvaddch(y,x,'X');
我没有 3x3 板。
【讨论】: