【问题标题】:C Printing value of specified coordinates in ncursesC在ncurses中打印指定坐标的值
【发布时间】:2014-11-23 14:42:48
【问题描述】:

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

例子:

比赛结果:

XOO

OOX

XXO

然后,程序要求用户写坐标。用户写y=3 x=3,程序响应为O。用户响应x=1 y=1,程序响应为X,以此类推。

【问题讨论】:

    标签: c coordinates ncurses curses


    【解决方案1】:

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

    假设你有

    int board[3][3];
    

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

    std::cout

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

    【讨论】:

      【解决方案2】:

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

      但正如@frasnian 所说,更传统的做法是使用带有棋盘状态的屏幕外数据结构。

      【讨论】:

        【解决方案3】:

        所有的Xes Oes都是玩家给的:

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

        我没有 3x3 板。

        【讨论】:

          猜你喜欢
          • 2012-09-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-04-04
          • 2016-08-07
          • 2014-03-20
          • 2011-01-29
          • 1970-01-01
          相关资源
          最近更新 更多