2010-10-04 5 views
8

Estoy escribiendo una aplicación de consola que iniciaría largos procesos en ejecución. Entonces, en lugar de dejar que el usuario mire la pantalla durante varios minutos, me encantaría incluir mi procesamiento en un hilo de fondo y dejar que el usuario juegue un juego mientras tanto.Buscando el juego de Nibbles reescrito en C#

Si usted es de mi edad, que sin duda recuerdan el juego Nibbles QBasic escrito en que se envió con DOS durante años. Recuerdo haber leído hace varios años que alguien lo reescribió en el modo de consola C#. Pero no puedo encontrarlo ¿Alguien sabe dónde podría agarrarlo?

+3

+1 para la nostalgia. –

+0

Eso sí, no ser demandado por [Namco] (http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.htm&r=1&f=G&l = 50 & s1 = 5718632.PN. & OS = PN/5718632 & RS = PN/5718632) <- El paciente para un minijuego durante una pantalla de carga –

+0

lol, hay una patente para todo en estos días. Sólo ingoralos. –

Respuesta

12

vi tu pregunta e inmediatamente se pusieron adelante y traducidos al NIBBLES.BAS original directamente en C#.

Por supuesto, el código está lleno de Basicisms; en particular, las matrices comienzan en 1. Me han cambiado las sammy y colorTable matrices para que empiecen a 0, pero no la matriz arena (éste ahora tiene un índice sin usar 0).

Muchas cosas podrían hacerse más "correctamente" en C# (por ejemplo, uno debería usar enums en lugar de los números 1,2,3,4 para direcciones arriba, abajo, izquierda, derecha; uno debería usar la enumeración ConsoleColor en vez de enteros para los colores).

Sin embargo, utilicé algunos isósmos C#: el efecto de destello en la pantalla inicial se hace en una secuencia separada, así que puedo usar Console.ReadKey() para esperar la entrada del usuario.

Tuve que comentar el código que establece/desactiva Num Lock, Caps Lock y Scroll Lock porque C# 's Console solo me permite leer el estado de aquellos, no cambiarlos. Hubiera tenido que usar WinAPI para esto, que decidí que habría sido excesivo.

Todos los comentarios son del original.

EDITAR: Por ahora, la versión final de esto está en github. Cambié el enlace de arriba para ir al repositorio de github en lugar de un pastebin. Para aquellos interesados ​​en la primera versión original, here’s the original pastebin link.

+1

Eso es bastante increíble. – AngryHacker

+0

Una queja. Funciona bien si en las propiedades de la ventana de DOS ha seleccionado fuentes Lucida Console. Pero si seleccionas las Fuentes de Trama (que creo que son las predeterminadas), la pantalla es un desastre absoluto. – AngryHacker

+0

@AngryHacker: Lo sé. Es muy desafortunado Si conoces una forma de arreglar esto, me encantaría escucharlo. No sé cómo cambiar la fuente de la consola mediante programación, o incluso para determinar cuál es la fuente. Si al menos pudiera determinarlo, podría usar la antigua página de códigos de DOS cuando se trata de fuentes de trama. – Timwi

Cuestiones relacionadas