Cercando il gioco Nibbles riscritto in C #
Domanda
Sto scrivendo una console app che sarebbe dando il via i processi in esecuzione lungo. Quindi, piuttosto che lasciare che lo sguardo dell'utente verso lo schermo per diversi minuti, mi piacerebbe buttare la mia elaborazione su un thread in background e consentire all'utente di giocare una partita nel frattempo.
Se sei la mia età, è sicuramente ricordate il gioco Nibbles scritto in QBasic fornito con il DOS per anni. Ricordo di aver letto molti anni fa, che qualcuno ha riscritto in modalità # console C. Ma io non riesco a trovarlo. Qualcuno sa dove potrei prenderlo?
Soluzione
Ho visto la tua domanda e subito andato avanti e tradotto l'originale NIBBLES.BAS direttamente in C #.
Naturalmente, il codice è pieno di Basicisms; in particolare, gli array partono da 1. Ho cambiato le matrici sammy
e colorTable
modo che partono da 0, ma non l'array arena
(questo ora ha un indice di 0
inutilizzato).
Molte cose si potrebbe fare di più “corretto” in C # (per esempio uno dovrebbe probabilmente usare le enumerazioni al posto dei numeri 1,2,3,4 per le direzioni su, giù, sinistra, destra, si dovrebbe utilizzare l'enum ConsoleColor
invece di interi per i colori).
Ho provato un paio di C # ismi però:. L'effetto scintilla sulla schermata iniziale è fatto in un thread separato in modo che io posso solo usare Console.ReadKey()
per attendere l'input dell'utente
ho dovuto commentare il codice che mostra / non mostra Num Lock, Caps Lock e Scroll Lock perché Console
s C #’consente solo di leggere lo stato di quelli, non cambiano loro. Avrei dovuto usare WinAPI per questo che ho deciso sarebbe stato sopra le righe.
Tutti i commenti sono dall'originale.
Modifica Per ora la versione finale di questo è su GitHub. Ho cambiato il link qui sopra per andare al repo GitHub invece di un pastebin. Per coloro che ancora interessato nella prima versione originale, ecco il link pastebin originale .