Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    C++ Battaglia Navale

    Ciao, sto implementando il classico gioco delle battaglie navali, dove gli 1 nelle matrici (a,b ) rapprensentano le navi e gli array chiamati griglie sono le matrici che i giocatori vedono riempite da 0 finche il giocatore dà le coordinate affinche possa affondare una nave, la mia domanda è: se uno dei giocatori colpisce una nave come faccio a stampare l'array chimato griglia con qualche segno che identifichi che ha colpito una nave.

    grazie

    codice:
    # include <iostream>
    using namespace std;
    const int n=4;
    
    
    void stampa (int [][n]);
    bool spara (int [][n],int,int);
    
    
    
    int main ()
    {
    	int riga, colonna;
    	int griglia [n][n]={0};
    	int griglia2 [n][n]={1};
    	
    	
    	
    	
    	int a[][n]= {{0,1,1,0},
    			{0,1,1,0},
    			{0,1,1,0},
    			{0,1,1,0}};
    						
        int  b[][n]={{0,0,1,0},
    		{0,1,0,0},
    		{0,1,1,1},
    		{0,0,0,0}};
    						
    	cout<<"________BENBENUTI ALLE BATTAGLIE NAVALI__________"<<endl;
    	cout<<"giocatore 1 :"<<endl;
    	stampa (griglia);
    	cout<<"dammi riga"<<endl;
    	cin>>riga;
    	cout<<"dammi colonna"<<endl;
    	cin>>colonna;
    	
    	if (spara(a,riga,colonna)){
    	cout<<"NAVE COLPITA"<<endl;
    	}
    	else{
    	cout<<"NAVE NON COLPITA"<<endl;
    	}		
    
    
    
    
    
    return 0;
    }
    
    void stampa (int griglia[][n])
    {
    	for (int i=0; i < n; i++)
    	{
    		for (int j=0; j<n; j++)
    		cout<<griglia[i][j]<<' ';
    		cout<<endl;
    	}
    }
    bool spara (int a[][n],int riga, int colonna)
    {
    	if (a[riga][colonna]==1)
    	return true;
    	return false;
    }

  2. #2
    Guarda io ti allego un codice che avevo iniziato a fare, anche se non sono riuscito mai a farlo funzionare, gli errori sono 0 ma non mi riconosce le navi colpite... puoi prendere spunto se vuoi:

    codice:
    #include <iostream>
    
    using namespace std;
    
    int campo[5][5]={{1,1,0,0,0},
                     {0,0,0,0,0},
                     {0,0,0,0,0},
                     {0,0,0,0,0},
                     {0,0,0,0,0}};
                     
    void close_game()
    {
        exit(0);
    }
         
    
    int start_game()
    {
        int x, y;
        int navi=0;
        int navi_colpite=0;
        int m=5,n=5;
        cout<<"\n\n********************************************************************";
        cout<<"                            BATTAGLIA NAVALE                            ";
        cout<<"\n\n********************************************************************";
        //Controllo generale navi sul campo.
        for(x=0;x<m;x++)
            for(y=0;y<n;y++)
            {
                if(campo[x][y]==1)
                navi++;
            }
        navi_colpite=navi;
        //Avvio gioco "Battaglia Navale".
        do
        {
            cout<<"\n\n\n  Inserisci le coordinate di X = ";
            cin>>x;
            cout<<"\n\n  Inserisci le coordinate di Y = ";
            cin>>y;
            if(campo[x][y]==-1)
            {
                cout<<"\n\n   - Mmm... Ci sono dei reliti di nave... -\n\n";
                system("PAUSE");
            }
            else
            if(campo[x][y]==1)
            {
                campo[x][y]=-1;
                navi_colpite--;
                cout<<"\n\n   - OTTIMOOOO! Hai centrato il tuo bersaglio! -\n\n";
            }
            else
            if(campo[x][y]==-2)
            {
                cout<<"\n\n   - Qui ci hai gia' sparato! -\n\n";
                system("PAUSE");
            }
            else
            if(campo[x][y]==0)
            {
                campo[x][y]=-2;
                cout<<"\n\n   - C'e solo acqua qui! -\n\n";
                system("PAUSE");
            }
        }
        while(navi_colpite=0);
        cout<<"\n\n             - HAI VINTO LA PARTITA, CONGRATULAZIONI! -\n\n";
        system("PAUSE");
        close_game();
    }
    
    
    char menu ()
    {
        char commando_menu;
        do
        {
            cout<<"                                 MENU DI GIOCO\n\n";
            cout<<"   Premi [i] per iniziare a giocare";
            cout<<"   Premi <u> per uscire dal gioco";
            cout<<"\n\n\n   Cosa vuoi fare?! ...... ";
            cin>>commando_menu;
            if(commando_menu=='i')
            {
                start_game();
            }
            if(commando_menu=='u')
            {
                close_game();
            }
            else
            cout<<"\n\n   Spieacente questo commando non e' riconosciuto!\n\n\n   Cosa vuoi fare?!";
        }
        while(commando_menu=='i'||commando_menu=='u');
    }
    
    
    int main()
    {
        menu();
    }

  3. #3
    grazie guardero!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.