Gioco del 100 - Gioco_del_100.cpp
Cerca
 











Gioco_del_100.cpp

Caricato da: Paro
Scarica il programma completo

  1. /* Gioco del 100
  2.  * by Paro
  3.  * Classico gioco del 100, con cpu a 4 livelli di difficoltà
  4.  */
  5. #include <iostream>
  6. #include <cstdlib>
  7. #include <ctime>
  8. using namespace std;
  9.  
  10. //Definisce per diversi OS la costante Pulisci per il comando system()
  11. #ifdef WIN32
  12. #define Pulisci "cls"
  13. #elif WIN64
  14. #define Pulisci "cls"
  15. #else
  16. #define Pulisci "clear"
  17. #endif
  18.  
  19. int _random();
  20.  
  21. int main(){
  22. int cpu, p; // variabili per i valori scelti dalla cpu e dal giocatore
  23. char c; //variabile per le scelte dell'utente
  24. int valtrue[10] = {1,12,23,34,45,56,67,78,89,100}; //valori che assicurano la vittoria
  25. int dif; // variabile per il livello di difficoltà
  26. system(Pulisci);
  27. cout << "Gioco del 100" << endl << "Vuoi leggere le regole? (s/n) ";
  28. cin >> c;
  29. if ((c=='s')||(c=='S')) {
  30.     cout << "Regole del Gioco del 100" << endl;
  31.     cout << "Bisogna inserire un numero intero maggiore di quello attuale e non maggiore del numero attuale + 10" << endl;
  32.     cout << "Se, per esempio, il numero attuale è 5, l'intervallo dei numeri accettabili è compreso tra 6 e 15" << endl;
  33.     cout << "Si vince se si riesce ad immettere il valore 100" << endl;
  34.     for(;;){ //aspetta l'input di 's' o 'S' per continuare
  35.         cout << "Continuare? (s/) ";
  36.         cin >> c;
  37.         if ((c=='s')||(c=='S')) break;
  38.         cout << "Errore; Riprovare." << endl;
  39.     }
  40. }
  41. system(Pulisci);
  42. cout << "Gioco del 100" << endl;
  43. cout << "Inserire livello di difficoltà" << endl;
  44. cout << "1 --> Facile" << endl << "2 --> Medio" << endl << "3 --> Difficile"<<endl<<"4 --> Impossibile (o quasi...)"<<endl;
  45. for(;;){ //aspetta che si inserisca un livello di difficoltà accettabile
  46.     cout << "Livello: ";
  47.     cin >> dif;
  48.     if ((dif>0)&&(dif<5)) break;
  49.     cout << "Errore; Riprovare." << endl;
  50. }
  51. system(Pulisci);
  52. for(;;){ //ciclo dell'applicazione
  53. p=0; cpu=0;
  54. for(int n=0; n<100;){ //ciclo di gioco
  55.     system(Pulisci);
  56.     cout << "Gioco del 100" << endl;
  57.     cout << "Il numero che hai inserito prima: " << p << endl;
  58.     cout << "Operazione eseguita dal cpu: +" << cpu-p << endl;
  59.     cout << "Numero attuale: " << n << endl;
  60.     for(;;){ //input utente
  61.         cout << "Inserisci il nuovo numero: ";
  62.         cin >> p;
  63.         if ((p<n+11)&&(p>n)) break;
  64.         cout << "Errore; Riprovare." << endl;
  65.     }
  66.     n=p;
  67.     if (n>=100) continue;
  68.     if (dif==4) { //difficoltà massima
  69.         for(int i=0;i<10;i++){ //input cpu
  70.             if ((valtrue[i]<n+11)&&(valtrue[i]>n)) {cpu=valtrue[i]; break;}
  71.             if (i==9) {cpu = n + _random();}
  72.         }
  73.         n=cpu;
  74.         continue;
  75.     }
  76.     if (dif==3) {//difficoltà difficile
  77.         if (4 < _random()) {
  78.             for(int i=0;i<10;i++){ //input cpu
  79.                 if ((valtrue[i]<n+11)&&(valtrue[i]>n)) {cpu=valtrue[i]; break;}
  80.                 if (i==9) {cpu = n + _random();}
  81.             }
  82.         }
  83.         else {cpu = n + _random();}
  84.         n = cpu;
  85.         continue;
  86.     }
  87.     if (dif==2) {//difficoltà normale
  88.         if (6 < _random()) {
  89.             for(int i=0;i<10;i++){ //input cpu
  90.                 if ((valtrue[i]<n+11)&&(valtrue[i]>n)) {cpu=valtrue[i]; break;}
  91.                 if (i==9) {cpu = n + _random();}
  92.             }
  93.         }
  94.         else {cpu = n + _random();}
  95.         n = cpu;
  96.         continue;
  97.     }
  98.     if (dif==1) {//difficoltà facile
  99.         if (7 < _random()) {
  100.             for(int i=0;i<10;i++){ //input cpu
  101.                 if ((valtrue[i]<n+11)&&(valtrue[i]>n)) {cpu=valtrue[i]; break;}
  102.                 if (i==9) {cpu = n + _random();}
  103.             }
  104.         }
  105.         else {cpu = n + _random();}
  106.         n = cpu;
  107.         continue;
  108.     }
  109. } // fine del ciclo di gioco
  110. if (p>=100) {cout << "Hai vinto! :)" << endl;}
  111. else if (cpu>=100) {cout << "Ha vinto la cpu! :(" << endl;}
  112. cout << "Rigiocare? (/n) ";
  113. cin >> c;
  114. if ((c=='N')||(c=='n')) break; //esce dal giro dell'applicazione
  115. }
  116. cout << "Grazie per aver giocato" << endl;
  117. return 0;
  118. }
  119.  
  120. int _random(){ // restituisce un valore casuale da 1 a 10
  121. int r;
  122. srand((unsigned)time(NULL));
  123. r = rand() % 10 + 1;
  124. return r;
  125. }
 

Creative Commons License
Il layout di questo sito è concesso sotto licenza Creative Commons.
Per maggiori informazioni sulle licenze dei contenuti del sito, clicca.