Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 27

Discussione: [C] battaglia navale

  1. #1

    [C] battaglia navale

    Salve ragazzi... mi servirebbe un aiuto per un programma in C : battaglia navale con matrici 3 0 per 3 0 ...
    C'è qualcuno che mi sa aiutare?
    Vi prego ....

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    173
    Non so se ho afferrato bene il prob.
    Con un array multidimensionale non potrebbe andare?

    tipo nome[x][y][z][..];

    Il tipo lo metti te e i val di x, y, z li setti in base alla tue necessità!

    Spero d aver colto il problema!!


    CIAO

  3. #3
    Perchè a 3 dimensioni??
    La battaglia navale è una matrice a due dimensioni.

    .:: Zetra.it - Web. ads . multimedia . graphix ::.
    Realizzazione siti web - Carte Magic ai prezzi più bassi d'italia
    - Comuni e Città

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    173
    Era un esempio di dikiarazione di array multi!!!

    CIAO

  5. #5
    battaglia navale in C?
    qual'è il problema non rieco a capire la tua domanda.
    1)creare tramite array multidimensionali (come hanno detto prima di me) due quadrati,
    2)tramite scanf() fare posizionare all'utente la "navi",
    3)per quanto riguarda il computer avversario basta far si che metta le "navi" in modo randomico (che è più facile farlo che dirlo!),
    4)creare un ciclo che finisca quando le variabili (array) vengono identificate.
    cmq questo scommetto non sia una grande verità ma...è già qualcosa, se vuoi una mano per realizzare questo giochino son disponibile.
    l'unico problema che potrei riscontrare serebbe quello delle API per creare un'interfaccia grafica ma...basta studiare e si può fare tutto

  6. #6
    come interfaccia grafica si potrebbe utilizzare il codice ascii...
    provate questo:
    codice:
    #include<stdio.h>
    #include<stdlib.h>
    #include<windows.h>
    #include<conio.h>
    
    
    
    void gotoxy(int x, int y){
       
        COORD coor; 
        HANDLE hOutput; 
        hOutput = GetStdHandle(STD_OUTPUT_HANDLE); 
        coor.X = x; 
        coor.Y = y; 
        SetConsoleCursorPosition(hOutput,coor); 
    
    }
    
    
    
    
    void disegna_scacchiera(){
    
        int n;
        int y;
    
        system("CLS");
        gotoxy(12,1);
        printf("   A B C D E F G H I J K L M N O P Q R S T U W V X Y Z");
    	
        for(n=1, y=2; n<21; n++, y++){
     	gotoxy(12,y);
            printf("  -----------------------------------------------------");
            y++;
    	gotoxy(12,y);
            printf("%2d| | | | | | | | | | | | | | | | | | | | | | | | | | |", n);
        }
    		
        gotoxy(12,y);
        printf("  -----------------------------------------------------");
    
    }
    
    
    
    
    void main(){
    
        disegna_scacchiera(); 
    
        gotoxy(12,44);
        printf("PREMI INVIO");
        getchar();
    
    }
    N.B. la parte di codice colorata in rosso e in verde
    non appartiene allo standard C/C++

    quindi... se utilizzate un compilatore VISUAL C++
    togliete la parte di codice evidenziata in rosso
    se invece utilizzate un compilatore BORLAND C o C++
    togliete la parte di codice evidenziata in verde.
    ...Terrible warlords, good warlords, and an english song

  7. #7
    ciao forse questa sarà una domanda stupida ma sono niubbo:
    se inserisco il codice nel vc++ (togliendo la parte rossa), e faccio execute ecc ecc mi apre la solita finestra dos, scorrono dei comandi, esce scritto premi invio ma niente assomiglia alla battaglia navale...



    devo fare qualcosa?

  8. #8
    carina come idea,direi abbastanza geniale!!!!

  9. #9
    ok,come grafica ok,ma come facciamo a far modificare quell'"interfaccia"?
    cioè,quando devo modificare la mia schermata(il mio mare dove posizionare le navi)dovrei fare un refresh.
    ...hummm...in dos se si scrive cls si cancella l'intera schermata.
    però...non saprei come fare,l'unica cmq è cancellare e ricreare l'intera schermata.

  10. #10
    A me la griglia si vede bene...

    ovviamente il programma è tutto da sviluppare!!!

    io ho soltanto inserito una "funzioncina"

    che disegna la griglia...

    ed un'altra gotoxy()...

    che permette di dare delle coordinate X Y

    al codice inserito (disegnare griglia, inserire, cancellare navi ecc...)


    E' ovvio che a ogni nuova mossa (es: affondamento o "ferimento"
    di una flotta) bisogna richiamare la funzione "disegna_scacchiera()"

    che "pulisce lo schermo" e ridisegna la griglia...

    e poi aggiungere/cancellare/modificare tramite gotoxy() navi e punteggio.
    ...Terrible warlords, good warlords, and an english song

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 © 2025 vBulletin Solutions, Inc. All rights reserved.