Sono un po 'un principiante al Perl (rispetto alle persone qui). Ne so abbastanza per essere in grado di scrivere programmi per fare molte cose con il prompt dei comandi. A un certo punto, ho deciso di scrivere un gioco di prompt dei comandi che ha costruito un labirinto e mi ha permesso di risolverlo. Oltre alla grafica di qualità, l'unica cosa che mancava era la possibilità di usare i controlli di WASD senza premere Invio dopo ogni mossa che avevo fatto nel labirinto.In che modo Perl può ricevere input da STDIN un carattere alla volta?
Per far funzionare il mio gioco, voglio essere in grado di far prendere a Perl un singolo carattere come input da STDIN, senza che io debba usare qualcosa per separare il mio input, come il default \n
. Come potrei realizzare questo?
Ho provato a cercare una semplice risposta in linea e in un libro che ho, ma non ho trovato nulla. Ho provato a impostare $/=""
, ma questo sembrava ignorare tutti gli input. Penso che possa esserci una risposta molto semplice alla mia domanda, ma temo anche che potrebbe essere impossibile.
Inoltre, lo $/=""
in realtà esclude l'input, o prende l'input così rapidamente da presupporre che non ci sia alcun input se non sto già premendo il tasto?
[Term :: ReadKey] (http://search.cpan.org/perldoc?Term::PreadKey) – ikegami
@ikegami Perfetto! – PhiNotPi
Possibile duplicato di [Come si legge un singolo carattere da STDIN utilizzando Perl su Windows?] (Https://stackoverflow.com/questions/2021482/how-do-i-read-a-single-character-from-stdin -utilizzando-perl-on-finestre) –