/* Programma 41c++Dadi.cpp questo programma simula il gioco dei dadi, si può giocare contro il pc o contro un altro giocatore: vince chi totalizza più punti. Riontino Raffaele 3 AS INF 21-12-'09 */ #include #include #include #include #include #include using namespace std; void menu(); void informazione(); void duegiocatori(); void ungiocatore(); void fine(); int giocatore1[5], giocatore2[5],puntata1,puntata2; char nome1[20],nome2[20],scelta; int i, ris1=0, ris2=0,credito1,credito2,p; main() { do{ srand((unsigned)time(NULL)); system("color 79"); menu(); switch (scelta) { case 'I': informazione(); break; case 'P': ungiocatore(); break; case 'G': duegiocatori(); break; case 'E': fine(); exit(0); break; default: system("cls"); cout << "\nScelta non consentita.\n\n"; system("pause"); } }while (1 == 1); } void menu() { system("cls"); cout<<"\n\t\t\t Gioco dei Dadi\n\n"; cout<<"\t\t\tMenu' principale\n\n"; cout<<"\n\n\t - I - Informazioni sul gioco"; cout<<"\n\n\t - P - Gioca contro computer"; cout<<"\n\n\t - G - Due giocatori"; cout<<"\n\n\t - E - Esci"; cout<<"\n\n\n\tScegli l'operazione da eseguire e premi invio..."; cin>>scelta; scelta=toupper(scelta); //trasforma tutte le lettere in maiuscolo } // guida al gioco void informazione() { system("cls"); cout << "\n\n\t\tGuida al gioco\n\n"; cout << "\n\t Questo gioco simula il lancio dei dadi,\n\n\t si puo' giocare contro il computer\n"; cout << "\n\t o contro un amico.\n"; cout << "\n\t Vince chi totalizzare il maggior numero di punti possibili.\n"; cout << "\n\t I punti vengono visualizzati nel credito disponibile.\n\n\n\t"; system("pause"); } // partita a due giocatori void duegiocatori() { system("cls"); cout << "\n\n\tPartita a due giocatori \n\n"; cout << "\n\tGiocatore 1 inserisci il tuo nome = "; cin.ignore(); // elimina tutti i caratteri presenti nel buffer cin.getline(nome1,20); // permette di inserire gli spazzi tra i nomi (es : nicola pio) cout << "\n\tGiocatore 2 inserisci il tuo nome = "; cin.getline(nome2,20); credito1 = 100; credito2 = 100; do{ system ("cls"); // visualizza il credito cout << "\n\n\t\tCredito " << nome1 << " = " << credito1; cout << " -- Credito " << nome2 << " = " << credito2; do{ // puntata giocatore 1 cout << "\n\n\n\t " << nome1 << " fai la tua puntata = "; cin >> puntata1; if (puntata1 > credito1) {cout << " \n\n\t Non si fa credito a nessuno!!!\n\n";} }while (puntata1 > credito1); do{ // puntata giocatore 2 cout << "\n\n\t " << nome2 << " fai la tua puntata = "; cin >> puntata2; if (puntata2 > credito2) {cout << " \n\n\t Non si fa credito a nessuno!!!\n\n";} }while (puntata2 > credito2); for (i=0 ; i<5 ; i++) { system("cls"); cout << "\n\t\t\t\t Partita\n\n "; cout << "\t\t\t\tLancio numero "<< i+1; cout << "\n\n\t\tCredito " << nome1 << " = " << credito1; cout << " -- Credito " << nome2 << " = " << credito2; cout << "\n\n\t\tPunteggio " << nome1 << " = " << ris1; cout << " -- Punteggio " << nome2 << " = " << ris2; // lancio giocatore 1 giocatore1[i] = rand ()%6+1; ris1 = ris1 + giocatore1[i]; cout << "\n\n\n Lancia il dado " << nome1 << " "; getch(); Sleep(1500); cout << giocatore1[i]; cout << "\n\n Punteggio totale = "; Sleep(1500); cout << ris1; // lancio giocatore 2 giocatore2[i] = rand ()%6+1; ris2 = ris2 + giocatore2[i]; cout << "\n\n\n Lancia il dado " << nome2 << " "; getch(); Sleep(1500); cout << giocatore2[i]; cout << "\n\n Punteggio totale = "; Sleep(1500); cout << ris2; getch(); } //controllo del vincitore e assegnazione del credito if (ris1 > ris2) {credito1 = credito1 + puntata1; credito2 = credito2 - puntata2; } else { if (ris1 < ris2) { credito1 = credito1 - puntata1; credito2 = credito2 + puntata2; } else{ credito1 = credito1 - puntata1; credito2 = credito2 - puntata2; } } if (ris1 == ris2) { cout << "\n\n Parita'"; } else{ if (ris1 > ris2) {cout << "\n\n Il vincitore e' " << nome1; } else {cout << "\n\n Il vincitore e' " << nome2; } } cout << "\n\n\t\tCredito " << nome1 << " = " << credito1; cout << " -- Credito " << nome2 << " = " << credito2; if ((credito1 == 0) || (credito2 == 0)) { cout << "\n\n\tPartita terminata..."; p = 2; getch(); } else {cout << "\n\n\tDigitare 1 e premere invio per continuare la partita, 2 per terminare."; cin >> p;} ris1 = 0; ris2 = 0; }while (p == 1); } // partita contro il pc void ungiocatore() { system("cls"); cout << "\n\n\tPartita contro il Computer \n\n"; cout << "\n\tGiocatore 1 inserisci il tuo nome = "; cin.ignore(); cin.getline(nome1,20); credito1 = 100; do{ system ("cls"); // visualizza il credito cout << "\n\n\t\t\tCredito " << nome1 << " = " << credito1; do{ // puntata giocatore 1 cout << "\n\n\n\t " << nome1 << " fai la tua puntata = "; cin >> puntata1; if (puntata1 > credito1) {cout << " \n\n\t Non si fa credito a nessuno!!!\n\n";} }while (puntata1 > credito1); for (i=0 ; i<5 ; i++) { system("cls"); cout << "\n\t\t\t\t Partita\n\n "; cout << "\t\t\t\tLancio numero "<< i+1; cout << "\n\n\t\t\t Credito " << nome1 << " = " << credito1; cout << "\n\n\t\tPunteggio " << nome1 << " = " << ris1; cout << " -- Punteggio Computer = " << ris2; // lancio giocatore 1 giocatore1[i] = rand ()%6+1; ris1 = ris1 + giocatore1[i]; cout << "\n\n\n Lancia il dado " << nome1 << " "; getch(); Sleep(1500); cout << giocatore1[i]; cout << "\n\n Punteggio totale = "; Sleep(1500); cout << ris1; // lancio giocatore 2 giocatore2[i] = rand ()%6+1; ris2 = ris2 + giocatore2[i]; cout << "\n\n\n Lancia il dado computer "; Sleep(1500); cout << giocatore2[i]; cout << "\n\n Punteggio totale = "; Sleep(1500); cout << ris2; getch(); } //controllo del vincitore e assegnazione del credito if (ris1 > ris2) {credito1 = credito1 + puntata1; } else {credito1 = credito1 - puntata1; } if (ris1 == ris2) { cout << "\n\n Parita'"; } else{ if (ris1 > ris2) {cout << "\n\n Il vincitore e' " << nome1; } else {cout << "\n\n Il vincitore e' il computer"; } } cout << "\n\n\t\t\tCredito " << nome1 << " = " << credito1; if (credito1 == 0) { cout << "\n\n\tPartita terminata..."; p = 2; getch(); } else {cout << "\n\n\tDigitare 1 e premere invio per continuare la partita, 2 per terminare."; cin >> p;} ris1 = 0; ris2 = 0; }while (p == 1); } void fine() { system("cls"); cout<<"\n\n\t\tFine del programma\n\n\n\n"; cout<<"\n\n\n\tRiontino Raffaele 3 AS INF 21 - 12 - '09 \n\n\n\n"; system("pause"); }