我正在使用C#制作控制台游戏。我希望我的程序在用户点击箭头键时执行一段代码。虽然这听起来很简单,但我不知道如何做到这一点,因为我是C#的新手。
PS我正在为VS for Mac工作。
编辑1:我想跟踪用户输入意味着当程序正在监听用户输入时,我不希望它停止其他任务。
答案 0 :(得分:1)
您的GameLogic应该在无限循环中以单独的线程运行。 您可以通过在主线程上的while(true)循环无限循环中侦听Console.ReadKey()来跟踪。每次按下一个键,你都可以抛出一个由你的其他线程处理的事件。
要开始新的主题,请查看:How do I run a simple bit of code in a new thread?
一个干净的方法是创建一个拥有私有线程的GameLogicWorker(我认为最干净的方法) 这个回答说明了如何做到这一点:https://stackoverflow.com/a/8123600/4992212
但有几种选择。您还可以使用async和await关键字来实现异步操作。