我正在编写一个控制台应用程序,它将启动长期运行的进程。因此,我不想让用户凝视屏幕几分钟,而是希望将处理过程放在后台线程上,同时让用户玩游戏。

如果您是我的年龄,您肯定记得DOS附带的用QBasic编写的Nibbles游戏。我记得几年前曾读过有人在C#控制台模式下重写它。但是我找不到。有人知道我可以在哪里买吗?

最佳答案

我看到了您的问题,并立即继续进行操作,将原始的NIBBLES.BAS直接转换为C#。

  • Nibbles in C#

  • 当然,代码充满了基本主义。特别是,数组从1开始。我更改了sammycolorTable数组,以便它们从0开始,但没有从arena数组开始(该数组现在有未使用的索引0)。

    在C#中,许多事情可以更“适本地”完成(例如,对于向上,向下,向左,向右的方向,应该使用枚举而不是数字1,2,3,4;对于,应该使用ConsoleColor枚举而不是整数。颜色)。

    我确实使用了一些C#ism:初始屏幕上的闪光效果是在单独的线程中完成的,因此我可以仅使用Console.ReadKey()来等待用户输入。

    我不得不注释掉设置/取消设置Num Lock,Caps Lock和Scroll Lock的代码,因为C#的Console仅允许我读取它们的状态,而不能更改它们。我将不得不为此使用WinAPI,我认为这应该是最重要的。

    所有评论均来自原始内容。

    编辑:现在,此版本的完成版本在github上。我已更改了上面的链接,以转到github仓库而不是pastebin。对于仍然对原始第一个版本感兴趣的人,here’s the original pastebin link

    关于c# - 寻找用C#重写的Nibbles游戏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3859135/

    10-11 08:55