编辑。我在 Windows 环境中工作。
我想用 OCaml 在控制台输出中编写一个简单的游戏。我需要能够使用“read_key”功能。但是:
- 图形模块抛出错误:
异常:Graphics.Graphic_failure“图形屏幕未打开”。
但我不想打开图形窗口。 - 函数
read_line
强制用户在每次按键后按“return”...
最佳答案
使用纯 OCaml 不可能实现此类功能。您将需要调用特定于平台的库。这不是 OCaml 问题,其他语言也是如此,包括 python、java、c 等。实际上,以可移植的方式与终端交互是一种火箭科学。主要是历史原因。
我怀疑您不想陷入这样的麻烦,所以我可以建议一些简单的解决方案:
使用OCamlSDL库,- 您正在开发游戏,而 SDL 适合游戏
使用图形模块,是的,您将需要打开图形窗口,并且您的游戏将不是纯粹的控制台......但这也许不是一个大问题。另外,您可以制作黑色背景并模拟终端:)
安装 OCaml 的 Cygwin 版本。您将获得一个类似 UNIX 的环境,
Unix.tc_*
将开始工作。切换到正常操作系统。我所说的“正常”是指类 Unix 系统。您可以第一次使用虚拟机或容器,例如 Docker。
关于keyboard - OCaml 在没有图形窗口的情况下读取按键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36089021/