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?

È stato utile?

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 .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top