gpt4 book ai didi

scala - 如何检测控制台上的按键?

转载 作者:行者123 更新时间:2023-12-04 16:55:10 27 4
gpt4 key购买 nike

我正在Scala中编写类似roguelike的文字。例如,我需要能够看到用户何时按下箭头键。我找到的所有解决方案都要求玩家按Enter键。

有什么方法可以类似于C语言中的getch()来检测控制台应用程序中的按键吗?

最佳答案

Scala在其发行版中包含了jline(包装略有修改),因为它在REPL中使用了它。它通常不会加载,但是如果您知道Scala lib目录在哪里,则可以将其添加到类路径中。如果将其添加到类路径中,那么它将起作用:

object Key extends App {
val con = new tools.jline.console.ConsoleReader()
println( con.readVirtualKey() )
}

(请注意,此方法将分别为^ P ^ N ^ B ^ F给出与标准控制键匹配的上,下,左和右)。但这也会覆盖 System.in.read()的标准行为,因此您可以将其传递为长度为1的数组以获取下一个等待字节(并使用 System.in.available测试等待字节,对于箭头键应大于1)。

关于scala - 如何检测控制台上的按键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8582018/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com