我是 Ada 编程的初学者。我正在尝试使用 Ada 制作“2048”游戏。我在 C++ 中做了“2048”,并使用“kbhit()”来检测是否按下了任何键盘按钮。我想知道是否有任何类似的函数可用,如 Ada 中的“kbhit()”,或者如何编写一个函数来检测是否按下了任何键盘按钮,或者我应该只在 C++ 中通过接口使用该函数。
问问题
221 次
1 回答
4
是的,您可以使用Ada.Text_IO.Get_Immediate
. 声明是(从 2012 年版的 Ada 标准复制):
procedure Get_Immediate(File : in File_Type;
Item : out Character);
procedure Get_Immediate(Item : out Character);
从指定的文件或默认输入文件中读取下一个字符(控件或图形)。如果文件的模式不是 In_File,则传播 Mode_Error。End_Error 在文件末尾传播。文件的当前列号、行号和页码不受影响。
procedure Get_Immediate(File : in File_Type;
Item : out Character;
Available : out Boolean);
procedure Get_Immediate(Item : out Character;
Available : out Boolean);
如果从指定的文件或默认输入文件中可以得到一个字符,无论是控件还是图形,则读取该字符;Available 是 True 并且 Item 包含这个字符的值。如果某个字符不可用,则 Available 为 False,并且未指定 Item 的值。如果文件的模式不是 In_File,则传播 Mode_Error。End_Error 在文件末尾传播。文件的当前列号、行号和页码不受影响。
于 2020-04-05T04:21:18.017 回答