C'è già stata una domanda sulla simulazione del problema di Monty Hall . Questo è diverso. L' utente si giocherà il Problema di Monty Hall. Il tuo programma svolgerà il ruolo di host. Montybot, se vuoi.
Ecco i passaggi:
- Scegli (a caso) quale delle tre porte nasconde il premio.
- Emette un display visivo di tre porte. Un semplice
ABCfarà. O tre quadrati. O qualunque cosa. - Ricevi input scegliendo una delle porte. Potrebbe trattarsi di un clic del mouse sulla porta scelta o di un input di una sola lettera (
B) o altro. - Apri un'altra porta. Non si apre la porta scelta. Non si apre la porta nascondendo il premio principale. Ciò può significare che non hai scelta, oppure può avere una scelta tra due. Se hai una scelta di due, scegline uno a caso. Indica visivamente che la porta è stata aperta e che nessun premio è stato nascosto dietro di essa. Per un programma di input / output basato su testo, questo potrebbe essere semplice come emettere
AB0, per mostrare che la portaCè stata aperta. Sentiti libero di essere più creativo. Se stai eseguendo un programma GUI, la scelta del display dipende da te. - Accetta input da parte dell'utente. L'utente può inserire
stickoswitch(o, per un programma di interfaccia grafica, fare clic sui pulsanti o utilizzare un input di selezione o altro). Se l'utente inserisce qualcosa di diverso dastickoswitch, l'implementazione non è definita. Fai quello che vuoi. - Emette il testo
You won!oYou lost. - Termina il programma.
Regole:
- Quando devi scegliere qualcosa a caso , non preoccuparti della casualità crittografica. Qualsiasi
rand()funzione farà. - Il programma non deve barare. Il premio deve essere fissato prima dell'inizio del gioco. Vale a dire che i passaggi devono essere eseguiti nell'ordine indicato: prima scegli una porta dietro la quale nascondere il tuo premio, quindi chiedi al giocatore di scegliere. La scelta della porta da aprire al passaggio 4 deve avvenire al passaggio 4: non viene selezionata in anticipo.
- L'output nel passaggio 6 deve essere onesto.
- Questo è il codice golf. Il codice più corto vince.