编辑。我在Windows环境中工作。
我想用OCaml在控制台输出中编写一个简单的游戏。我需要能够使用'read_key'函数。但是:
Exception: Graphics.Graphic_failure "graphic screen not opened".
但我不想打开图形窗口。read_line
强制用户在每次按键后按“返回”... 答案 0 :(得分:2)
使用纯OCaml无法实现此类功能。您需要调用特定于平台的库。这不是OCaml问题,对于其他语言也是如此,包括python,java,c等。实际上,以便携方式与终端交互是一种火箭科学。主要是出于历史原因。
我怀疑,你不想陷入这样的麻烦,所以我可以建议一些简单的解决方案:
使用OCamlSDL库, - 您正在开发游戏,而SDL适用于游戏
使用图形模块,是的,你需要打开图形窗口,你的游戏将不是一个纯粹的控制台...但也许这不是一个大问题。此外,您可以制作黑色背景并模拟终端:)
安装Cygwin版本的OCaml。您将获得类似unix的环境,Unix.tc_*
将开始工作。
切换到正常的操作系统。通常我指的是类Unix。您可以首次使用虚拟机或容器(如Docker)。