Realizzare un algoritmo che permetta di giocare col computer al gioco dell’11.
Il gioco dell’11 ha le seguenti regole:
- il gioco comincia con 11 fiammiferi disposti su un tavolo
- i due giocatori prelevano alternativamente un numero di fiammiferi compreso tra 1 e 3.
- Vince il giocatore che costringe l’avversario a prelevare l’ultimo fiammifero.
Analisi
Si ipotizza che sia il computer a vincere, quindi a fare la prima mossa mentre l’avversario è chi gioca col computer.
Dati
Input | Output | lavoro |
mu fiammiferi prelevati | n fiammiferi presenti sul tavolo | |
mc mossa del computer | ||
“hai perso” |
Relazione I/O
La strategia vincente può essere riassunta come segue:
prelevare 2 fiammiferi e poi, in base alla mossa dell’avversario, togliere sempre un numero di fiammiferi pari a 4 meno quelli tolti dal rivale.
Pseudo codifica
n = 11
mc=2
Scrivi mc
n =n – mc
scrivi fiammiferi
ripeti finchè (n> 1)
leggi mu
n = n – a
scrivi n
mc = 4 – mu
scrivi mc
n= n – mc
scrivi n
scrivi hai perso

// main.cpp // gioco dell 11 // // Created by Rolando Succo on 24/10/13. // Copyright (c) 2013 zerocrise. All rights reserved. // #include <iostream> using namespace std; int main(int argc, const char * argv[]) { int n, mu, mc; cout << "Gioco dell 11\n"; n = 11; mc = 2; cout << "fiammiferi presenti " << n; n = n - mc; cout << "\nmossa del computer " << mc; cout << "\nfiammiferi presenti " << n; do { cout << "\nFai la tua mossa "; cin >> mu; n = n - mu; cout << "fiammiferi presenti " << n; mc = 4 - mu; n = n - mc; cout << "\nmossa del computer " << mc; cout << "\nfiammiferi presenti " << n; } while (n > 1); cout << "\nhai perso\n"; return 0; }
Please follow and like us:
Lascia un commento