我正在编写一个控制台应用程序,它将启动长时间运行的进程.因此,我不想让用户盯着屏幕几分钟,而是喜欢将我的处理工作放在后台线程上,让用户同时玩游戏.
如果你是我的年龄,你肯定记得用DOS随附的QBasic写的Nibbles游戏多年.我记得几年前读过有人在C#控制台模式下重写了它.但我找不到它.谁知道我可以抓住它?
Tim*_*mwi 12
我看到了你的问题并立即将原来的NIBBLES.BAS直接翻译成C#.
当然,代码充满了基本主义; 特别是,数组从1开始.我已经更改了sammy和colorTable数组,使它们从0开始,但不是arena数组(这个数组现在有一个未使用的索引0).
在C#中可以更"正确"地完成许多事情(例如,一个应该使用枚举而不是数字1,2,3,4用于向上,向下,向左,向右的方向;一个应该使用ConsoleColor枚举而不是整数用于颜色).
我确实使用了一些C#主题:初始屏幕上的闪光效果是在一个单独的线程中完成的,这样我就可以Console.ReadKey()用来等待用户输入.
我必须注释掉设置/取消设置Num Lock,Caps Lock和Scroll Lock的代码,因为C#Console只允许我读取它们的状态,而不是更改它们.我本来不得不使用WinAPI,我认为这将是最重要的.
所有评论均来自原文.
编辑:到目前为止,完成版本是在github上.我已经将上面的链接更改为github repo而不是pastebin.对于那些仍然对原始第一版感兴趣的人,这里是原始的pastebin链接.
| 归档时间: |
|
| 查看次数: |
1153 次 |
| 最近记录: |