【问题标题】:Game loop that won't stop waiting for user input不会停止等待用户输入的游戏循环
【发布时间】:2009-03-16 15:33:49
【问题描述】:

我开始使用 C 来提高我的编程技能,并决定尝试实现俄罗斯方块游戏。没什么太花哨的,它会在控制台上运行。

我从来没有实现过一款在用户输入的情况下仍能继续运行的游戏,并且直到我开始考虑游戏算法时才知道我必须处理这个问题。

谷歌搜索解决方案我想出了一个 _kbhit() 函数,但我在 Linux 机器上编程,该函数仅在 Windows 上可用。我该怎么做?

【问题讨论】:

  • 您可能想查看 Allegro 游戏编程库。它是跨平台的,可以做你想做的事情以及更多。它只是非控制台的 AFAIK,所以我认为这不值得作为答案发布:)

标签: c loops


【解决方案1】:

对于控制台应用程序,您可以考虑使用GNU ncurses,它是一种用于编写控制台应用程序的工具包,并支持此类输入。它还应该通过提供在坐标处打印字符的方法等来帮助您处理游戏的输出。

【讨论】:

    【解决方案2】:

    为了能够拦截特殊字符,请将终端切换到non-canonical mode

    【讨论】:

      猜你喜欢
      • 2016-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-19
      • 2016-07-19
      • 1970-01-01
      • 1970-01-01
      • 2021-12-08
      相关资源
      最近更新 更多