Matrice-Vettore in c++

Qui vengono spostati discussioni e messaggi ritenuti inadeguati per il contenuto o la forma con cui sono stati espressi.
Chiusa
Hoiya_85
Prode Principiante
Messaggi: 69
Iscrizione: venerdì 27 febbraio 2015, 2:06
Sesso: Maschile
Località: Baldissero D'Alba

Matrice-Vettore in c++

Messaggio da Hoiya_85 »

l'obiettivo del programma è il classico gioco della battaglia navale, so che ci sono molti programmi già fatti in rete però preferisco farne uno da me. il programma in teoria funzionerebbe però non mi fa finire la partita. comunque posto le due funzioni così forse capite meglio quello che ho fatto.

void inserisci (int m[max_size][max_size],int r,int c,int k,int cg[max_size],int n) {
m[r][c] = k;
cg[n] = m[r][c];
}

questa è la funzione della prima modifica e copia nel vettore (r è la riga,c è la colonna,m è la matrice cioè la griglia, k è il valore dell'elemento di matrice cioè 0 se la casella è vuota 1 per le navi del primo giocatore o 2 per quelle del secondo giocatore, cg è il vettore che include le navi e n è l'indice del vettore)

void turno (int m[max_size][max_size],int k,int cg[max_size],int csg,int ctg,int cig,int cpg,int totg,int r,int c) {
if (m[r][c] == k) {
cout << " Nave Colpita! ";
m[r][c] = 0;
}
else
cout << " Colpo in Mare ";
for (int i = 1;i<=4;i++) {
if (cg == 0) {
while (csg != 0)
csg = csg - 1;
}
}
for (int i = 5;i<=10;i++) {
if (cg == 0) {
while (ctg != 0)
ctg = ctg - 1;
}
}
for (int i = 11;i<=16;i++) {
if (cg == 0) {
while (cig != 0)
cig = cig - 1;
}
}
for (int i = 17;i<=20;i++) {
if (cg == 0) {
while (cpg != 0)
cpg = cpg - 1;
}
}
totg = csg+ctg+cig+cpg;
}

questa è la funzione che implementa i turni di giocho (csg,ctg,cig,cpg sono i contatori delle navi e tot è il numero totale delle navi)

nel main i turni di gioco sono implementati come segue:

while (tot1 || tot2 == 0) {
cout << " Turno del giocatore " << player1 << endl;
cout << " Inserisci le coordinate della casella da colpire " << endl;
cout << "Inserisci la riga " << endl;
cin >> r;
cout << "Inserisci la colonna " << endl;
cin >> c;
turno (griglia2,2,c2,cs2,ct2,ci2,cp2,tot2,r,c);
cout << " Turno del giocatore " << player2 << endl;
cout << " Inserisci le coordinate della casella da colpire " << endl;
cout << "Inserisci la riga " << endl;
cin >> r;
cout << "Inserisci la colonna " << endl;
cin >> c;
turno (griglia1,1,c1,cs1,ct1,ci1,cp1,tot1,r,c);
}
Avatar utente
jackynet92
Moderatore Globale
Moderatore Globale
Messaggi: 13413
Iscrizione: sabato 3 settembre 2011, 1:41
Desktop: Mate
Distribuzione: Ubuntu 16.04 64bit
Sesso: Maschile
Località: Torino

Re: Matrice-Vettore in c++

Messaggio da jackynet92 »

Ciao, quando ti capita di inserire per sbaglio due messaggi uguali, clicca sul tasto ! a destra del post per segnalarlo, senza aspettare che - come adesso - qualcuno dello staff o qualche utente se ne accorga.
Grazie per l'attenzione :ciao:
Chiusa

Ritorna a “Quarantena”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 7 ospiti