Catturare eventi della tastiera per un tempo limitato

1

Sto provando a codificare una specie di semplice videogioco in cui ci sono due tipi di giocatori:

  • Giocatori umani: inseriscono un input da tastiera
  • Giocatori della CPU: viene calcolato un input casuale

Per Giocatori umani c'è un tempo di round T e un input di T' che inserisce il tempo. Diciamo che, se T=20 e T'=5 , un giocatore ha 20 secondi per iniziare a digitare, ma solo 5 secondi di tempo di digitazione. Quindi, se il lettore inizia a digitare a T=10 , sarà in grado di digitare quei T'=5 secondi fino a T=15 .

Solo per quello che sai, sto usando Typescript, e avevo in mente qualcosa di simile:

while (!gameOver) {
   // do some stuff like knowing who's player turn is it

   var enteredInput;

   if (player.isHuman()) {
      enteredInput = captureKeyboardInputsFor(seconds);
   } else {
      enteredInput = calculateRandomCPUPlayerInput();
   }

   // process input & do actions
}

Quello che mi piacerebbe ottenere qui è una sorta di processo di digitazione sincrono, ho ben presente la logica del gioco, ma sto cercando di capire come posso fare questo mantenendo il mio ciclo di gioco sincrono (come i giocatori giocare a turni), usando TypeScript.

Gradirei davvero ogni tipo di guida, alternative o idee su possibili modi per risolvere i miei dubbi.

    
posta charliebrownie 09.03.2017 - 18:59
fonte

0 risposte