首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >寻找用C#重写的Nibble游戏

寻找用C#重写的Nibble游戏
EN

Stack Overflow用户
提问于 2010-10-05 05:11:07
回答 1查看 1.3K关注 0票数 8

我正在写一个控制台应用程序,它将启动长时间运行的进程。因此,与其让用户盯着屏幕看几分钟,我更愿意将我的处理过程抛到后台线程上,让用户在此期间玩游戏。

如果你是我的同龄人,你肯定还记得用QBasic编写的多年来随DOS一起发布的Nibble游戏。我记得几年前读到有人在C#控制台模式下重写了它。但是我找不到它。有谁知道我在哪能买到吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-10-05 08:08:59

我看到了你的问题,立即继续,将原始的NIBBLES.BAS直接翻译成C#。

当然,代码充满了基本原理;特别是数组从1开始。我更改了sammycolorTable数组,使它们从0开始,但不是arena数组(这个数组现在有一个未使用的索引0)。

在C#中,许多事情可以做得更“恰当”(例如,向上、向下、向左、向右的方向应该使用枚举而不是数字1、2、3、4;颜色应该使用ConsoleColor枚举而不是整数)。

不过,我确实使用了一些C#isms :初始屏幕上的闪光效果是在一个单独的线程中完成的,这样我就可以使用Console.ReadKey()等待用户输入。

我不得不注释掉设置/取消设置Num Lock、Caps Lock和Scroll Lock的代码,因为C#的Console只允许我读取它们的状态,而不是更改它们。为此,我不得不使用WinAPI,我认为这太过分了。

所有的评论都来自原文。

github EDIT:现在已经在github上完成了这个版本。我已经更改了上面的链接,转到github代码库,而不是粘贴箱。对于那些仍然对最初的第一个版本感兴趣的人,here’s the original pastebin link

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3859135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档