Forum
>>
Programmazione Python
>>
Videogames
>>
Morra cinese
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da lillas ![]() |
2023-09-29 15:40:16 - Morra cinese
|
Buongiorno a tutte e tutti. Ho implementato il gioco morra cinese su Python, in modo tale che il giocatore 1 scelga, in input, carta, sasso o forbici e allo stesso modo faccia il giocatore 2. C'è un modo per far sì che il giocatore 2 non legga cosa ha scelto il giocatore 1? Grazie anticipatamente.
|
|
Scritto da nuzzopippo ![]() |
2023-09-30 08:49:02 - Re: Morra cinese
|
Dal punto di vista logico il problema è semplice : fai raccogliere l'input dei due giocatori da un "oggetto" intermedio che comunica quanto ricevuto (ed eventualmente il risultato) una volta acquisiti tutti gli input previsti.
... dal punto di vista "pratico", beh, serve un po' di contesto : se i giocatori sono su computer diversi e non possono vedere i rispettivi monitor problema non c'è, ben più articolata è la problematica se giocano sullo stesso computer dato che se si gioca in una shell l'input sarà visibile sullo schermo e, comunque, si potrebbe vedere le azioni sulla tastiera dell'altro giocatore (i tasti premuti in sostanza). Supposto che si possa impedire all'altro giocatore di vedere i tasti premuti e di usare cose tipo un framework grafico potranno intercettarsi gli eventi della tastiera prima che compaiano a schermo, memorizzare il carattere contenuto nell'evento e sostituire il carattere con un altro, tipo "*", nella visualizzazione. Il contesto in cui si opera è molto importante nella progettazione del codice. Ciao Fatti non foste a viver come bruti... |
|
Scritto da RaylinSmith ![]() |
2025-07-18 08:51:08 - Re: Morra cinese
|
... dal punto di vista "pratico", beh, serve un po' di contesto : se i giocatori sono su computer diversi e non possono vedere i rispettivi monitor problema non c'è, ben più articolata è la problematica se giocano sullo stesso computer dato che se si gioca in una shell l'input sarà visibile sullo schermo e, comunque, si potrebbe vedere le azioni sulla tastiera dell'altro giocatore (i tasti premuti in sostanza). Supposto che si possa impedire all'altro giocatore di vedere i tasti premuti e di usare cose tipo un framework grafico potranno intercettarsi gli eventi della tastiera prima che compaiano a schermo, memorizzare il carattere contenuto nell'evento e sostituire il carattere con un altro, tipo "*", nella visualizzazione.
So, how do you handle input visibility in a two-player command-line game on the same computer? From my experience, you can intercept keyboard events before they're displayed, store the actual character, and then output an asterisk (*) instead to mask the input. --- Ultima modifica di RaylinSmith in data 2025-07-18 08:51:54 --- |
|
Scritto da Ryan hughjack ![]() |
2025-07-25 06:12:13 - Re: Morra cinese
|
Ottimi spunti! Per i giochi a riga di comando, ho scoperto che usare getpass.getpass() funziona bene per nascondere gli input — è pensato per le password, ma è perfetto anche per questo tipo di inserimento privato.
--- Ultima modifica di Ryan hughjack in data 2025-07-25 06:12:54 --- |
Pagina: 1
Esegui il login per scrivere una risposta.