Come posso impostare un limite di tempo per un gioco?

1

Sto imparando il multi-threading e il timer in C # ora. Ma sembra che non riesca a trovare una buona soluzione.

Ad esempio, vorrei vedere quanti problemi di addizione riesco a risolvere entro 1 minuto. Vorrei che il mio programma avesse

  1. Un orologio digitale da contare per 60 secondi nella parte superiore della mia console.
  2. Stampa un problema di matematica nel mezzo della mia console. Attendi il mio input.
  3. Al termine di 60 secondi, interrompi immediatamente il problema matematico (la maggior parte delle volte è ancora in attesa del mio input, ma lo interromperà immediatamente).
  4. Conta quanti problemi corretti ho risolto.

Due sfide del programma ora.
a) come possiamo assicurarci che i problemi di tempo di stampa e matematica non si rovinino.
b) come possiamo fermare le sfide matematiche parte subito dopo che il tempo è scaduto

    
posta Haoda Fu 17.08.2014 - 19:36
fonte

2 risposte

3

Suggerirei piuttosto di utilizzare un'app Win Form per il gioco. Se si utilizza Console, sarà necessario aggiornare (cancellare e ridisegnare) la console ogni volta che si desidera modificare la visualizzazione, ovvero con cambio in ogni secondo.

Su un modulo di vincita puoi mettere direttamente un controllo del timer e avviare il timer all'avvio del gioco (clic del pulsante, caricamento del modulo - secondo le tue necessità).

Quando si attiva l'evento tick del timer, puoi semplicemente disabilitare la domanda corrente e mostrare il punteggio.

    
risposta data 04.05.2016 - 13:51
fonte
2

Non penso che l'applicazione console sia adatta a questo tipo di controlli dell'interfaccia utente sfidati.

Consiglio di usare oggetti molto più intelligenti. Ad ogni modo per fare il timer puoi usare un Time e sull'evento Tick puoi chiamare la funzione per fermare il gioco e mostrare il punteggio.

E per tempo puoi ottenere DateTime.Now ma questo non è un risultato dinamico, sarà solo il momento di iniziare.

Se vuoi davvero utilizzare una console, puoi fare due app per console: la prima è il gioco e la seconda è il timer che invia i messaggi della finestra al primo quando viene spuntato l'evento tick.

    
risposta data 19.08.2014 - 14:32
fonte

Leggi altre domande sui tag