Salve a tutti, sono nuovo del forum.
Studio Informatica all' universit� al primo anno e per esercitarmi sto ho pensato di creare il gioco "DUBITO".
Nella compilazione del codice � sorto un problemino: sto implementando la funzione che gestisce il cambio turno dei vari giocatori, in pratica l'idea sarebbe quella di memorizzare in un vettore i giocatori della partita, con un ciclo for scorrere gli indici e una volta che il vettore � terminato ripartire da capo. Il problema sta proprio nel riportare la i al punto iniziale per ricominciare il giro.
Ringrazio anticipatamente chi riuscisse ad aiutarmi.
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
int main(){
string giocatori[4] = {"luca", "max", "tommy", "piero"};
bool victory = false; // condizone di uscita dal gioco se diventa true
int i, cont;
int iniziale=2, vincitore; // � un numero casuale con cui viene decretato il giocatore iniziale, lo ho ottenuto con la funzione srand ma per semplicit� lo fisso ad un certo indice
while(!victory){ // ciclo nel quale si svilupper� il gioco
for (i=iniziale;;i++){ // in questo modo diventa infinito lo so, per� teoricamente dovrebbe essere infinito fino a quando victory non cambia valore. Alternativamente ho pensato a queste condizioni: i=iniziale;victory != true;i++)
cout << "tocca a: " << giocatori[i] << endl;
if (i+1 == sizeof(giocatori){
cout << "sei arrivato alla fine" << endl;
vincitore = giocatore[i];
i= iniziale; // un altro problema che ho riscontrato � che il gioco parte da un valore casuale ma se lo faccio ripartire da quel valore salta tutti i giocatori prima ex se iniziale = 2 l' ordine di gioco sar� 2 - 3- 4 ma poi ritorner� a 2
}
else {
// qui si eseguirebbero le funzioni del gioco che per semplicit� sono sostituite da un incremento di un contatore
cont++;
}
}
// fuori dal for
if (cont==10){
vistory = true;
cout << "ha vinto: " << vincitore << endl;
}
}
}
Scusate se sono stato un pochino prolisso ma ho preferito spendere due parole in pi� su ogni pezzo per cercare di farvi capire come ho pensato il codice.
PS: potrebbero esserci parentesi sbagliate in quanto ho riscritto il codice a mano.
grazie a tutti in anticipo per l' aiuto.