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);
}
Matrice-Vettore in c++
- jackynet92
- 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++
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
Grazie per l'attenzione
I limiti esistono solo perché noi possiamo superarli.
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 7 ospiti