Hai ragione, scusa! Il fatto è che appena avvio il programma creato con la funzione debug, ad esempio, mi da solo la frase di benvenuto e finisce lì..mi ero dimenticato di inizializzare la variabile oltretutto..comunque l'ho rifatto inserendo un loop.
/*Programma in C++ variante del gioco "Campo minato"
tramite l'uso di una matrice 10x10 dove si nascondono 8 mine*/
#include <iostream>
using namespace std;
int campo_minato[10][10]=
{
{0, 0, 2, 2, 2, 1, 2, 2, 2, 2},
{0, 0, 2, 1, 2, 2, 2, 2, 1, 2},
{0, 0, 2, 2, 2, 2, 2, 2, 2, 2},
{0, 0, 0, 0, 0, 2, 1, 2, 0, 0},
{0, 0, 0, 0, 0, 2, 2, 2, 0, 0},
{2, 2, 2, 0, 0, 0, 0, 0, 0, 0},
{2, 1, 2, 0, 0, 0, 0, 0, 0, 0},
{2, 2, 2, 0, 0, 0, 0, 2, 2, 2},
{0, 0, 0, 2, 2, 2, 0, 2, 1, 2},
{0, 0, 0, 2, 1, 2, 0, 2, 2, 1},
};
int x; //valore colonne inserito dall'utente
int y; //valore righe inserito dall'utente
int conteggio; //valore dei punti ottenuti durante la partita dall'utente utilizzatore
int z; //valore della cella di array
int main()
{
conteggio= 0;
cout << "Benvenuto nella variante del gioco 'Campo minato'!";
cout << endl;
while (true)
{
cout << "inserire le coordinate";
cin >> x;
cout << "inserire y";
cin >>y;
if ( x < 0 || x > 9 || y < 0 || y > 9){
cout << "Casella fuori campo";
break;
campo_minato [x] [y] = z;
switch (z) {
case 0:
cout << "OK";
conteggio = conteggio +2;
continue;
case 2:
cout << "TIC TAC";
conteggio--;
continue;
case 1:
cout << "BOOM";
conteggio = conteggio -5;
break;
}
cout << "Il punteggio ottenuto è pari a: " << conteggio;
}
return(0);
}
}
se inserisco valori fuori dall'array mi da solo casella fuori campo e non mi mette il punteggio, mentre se metto valori interni all'array, li inserisco e si chiude inaspettatamente, qualche idea? PS: ho inserito la x e la y differenti solo per provare, poi modifico come suggerito sopra!