Я увидел ваш вопрос и сразу пошел дальше, и перевел оригинал NIBBLES.BAS непосредственно на C #.
Конечно, код полон основностей; в частности, массивы начинаются с 1. Я изменил массивы sammy
и colorTable
, чтобы они начинались с 0, но не с массива arena
(теперь этот индекс имеет неиспользуемый индекс 0
).
Многие вещи можно было бы сделать более «правильно» в C # (например, следует использовать перечисления вместо чисел 1,2,3,4 для указаний вверх, вниз, влево, вправо; следует использовать перечисление ConsoleColor
вместо целых чисел для цветов).
Хотя я использовал несколько C # -измов: эффект свечения на начальном экране делается в отдельном потоке, так что я могу просто использовать Console.ReadKey()
для ожидания ввода пользователя.
Мне пришлось закомментировать код, который устанавливает / отменяет Num Lock, Caps Lock и Scroll Lock, потому что Console
в C # позволяет мне только читать их состояние, а не изменять их. Мне бы пришлось использовать WinAPI для этого, что я решил, что было бы слишком.
Все комментарии взяты из оригинала.
РЕДАКТИРОВАТЬ: К настоящему времени готовая версия этого на GitHub. Я изменил приведенную выше ссылку, чтобы перейти на репозиторий github вместо pastebin. Для тех, кто все еще интересуется оригинальной первой версией, вот оригинальная ссылка для вставки .