Qualche anno fa anche io avevo cercato di creare una versione di "Indovina il numero",eccone una:
Si gioca contro il computer!codice:/* ***************************************** **** NOME: indovina il numero v.3.5 ***** **** DATA: 21 Agosto 2002 *************** ***************************************** Programma che genera due numeri casuali mediante la funzione "time" e riferisce se un numero digitato è maggiore o minore di uno dei due numeri(in sequenza ciclica). */ #include <iostream.h> #include <iomanip.h> #include <stdlib.h> #include <time.h> #include<dos.h> int main(){ int casuale, casuale2, numero=1001, numero2=1001, sentinella=1, sentinella2=1, minore, maggiore; char selezione='s', nome[11], nome2[11]; cout <<"\n -----------------------------"; cout <<"\n | INDOVINA IL NUMERO(v.3.5) |\n"; cout <<" -----------------------------\n"; while(selezione=='s'){ srand(time (0) *23);//generazione del seme (casuale =(rand() % 1001)); //generazione del numero casuale srand(time (0) );//generazione del secondo seme (casuale2 =(rand() % 1001)); //generazione del secondo numero casuale minore=0; maggiore=1000; cout <<"\n E' stato generato un numero da 0 a 1000 per ogni giocatore. Indovinate!\n\n"; cout <<" Nome primo giocatore: COMPUTER("<<casuale<<")\n"; cout <<" Nome secondo giocatore: "; cin >> nome2; cout<<"\n"; while(numero!=casuale || numero2!=casuale2){ if(numero!=casuale){ cout <<" Turno di COMPUTER("<<casuale<<") : "; numero=(minore+maggiore)/2; if(numero==minore) ++numero; if(numero==maggiore) --numero; cout <<numero; if(numero < casuale){ minore=numero; cout<<"\n" << setw(2) <<sentinella <<") Troppo piccolo.\n\n"; } if(numero > casuale){ maggiore=numero; cout<<"\n" << setw(2) <<sentinella <<") Troppo grande.\n\n"; } if(numero==casuale){ sound(100); delay(100); nosound(); cout<<"\n" << setw(2) <<sentinella <<") NUMERO INDOVINATO!\n\n"; } ++sentinella; } if(numero2!=casuale2){ cout <<" Turno di " <<nome2<< " : "; cin >> numero2; if(numero2==-1){ cout<<" (il tuo numero e' "<<casuale2<<")\n"; } if(numero2 < casuale2){ cout<< setw(2) <<sentinella2 <<") Troppo piccolo.\n\n"; } if(numero2 > casuale2){ cout<< setw(2) <<sentinella2 <<") Troppo grande.\n\n"; } if(numero2==casuale2){ sound(100); delay(100); nosound(); cout<< setw(2) <<sentinella2 <<") NUMERO INDOVINATO!\n\n"; } ++sentinella2; } } if(sentinella > sentinella2){ cout <<" "<<nome2<<" vince con " <<sentinella2 -1 <<" tentativi."; } if(sentinella < sentinella2){ cout <<" COMPUTER vince con " <<sentinella -1 <<" tentativi."; } if(sentinella==sentinella2){ cout <<" Situazione di parita'.\n"; } sentinella=1; sentinella2=1; numero=1001; numero2=1001; cout <<"\n Vuoi rigiocare? s/n : "; cin >> selezione; switch(selezione){ case 's' : break; case 'n' : break; default : while(selezione!='s' && selezione!='n'){ cout <<" Selezione non valida,ripetere: "; cin >> selezione; } break; } } return 0; }

Rispondi quotando