APPLICAZIONE: realizzazione di un videogioco

Al gioco dell'"uno, due o tre" partecipano due giocatori che a turno prelevano dal tavolo una, due o tre palline. Il numero di palline presenti all'inizio della partita può essere qualsiasi. Vince chi riesce a lasciare sul tavolo una sola pallina. 

Visto il successo dei videogiochi, la tua software house ha deciso di produrre e vendere su dischetto il gioco dell'"uno, due o tre". I requisiti del prodotto sono i seguenti: 
 

(a) all'inizio della partita ci sono 25 palline sul tavolo. 
(b) il giocatore fa la prima mossa battendo 1, 2 o 3 sulla tastiera; il calcolatore preleva, a sua volta, 1, 2 o 3 palline, seguendo una sua strategia: il risultato è un certo numero di palline sul tavolo. Si continua così sino al termine della partita.
(c) se il giocatore compie una mossa illecita (ad esempo, battendo 2 o 3 quando ci sono solo 2 palline sul tavolo), la vittoria viene automaticamente assegnata alla macchina.
(d) la strategia seguita dal calcolatore offre al giocatore la possibilità di vincere la partita decidendo, ad ogni mossa, unicamente sulla base del numero di palline presenti.
(e) tra tutte le strategie che soddisfano il precedente requisito, il calcolatore sceglie quella che massimizza le sue probabilità di vittoria.
(f) il programma che realizza il gioco deve essere il più compatto possibile.

soluzione