View Single Post
Old 23-04-2013, 15:48   #1
HeroGian
Member
 
Iscritto dal: Sep 2009
Messaggi: 34
[C++] IA Battaglia Navale

Salve a tutti, volevo chiedervi qualche consiglio per programmare l'intelligenza artificiale del computer nel gioco della battaglia navale.
Preciso che non vi chiedo assolutamente di farmi il codice ci mancherebbe xd.. volevo giusto raccogliere qualche idea su come procedere e poi mettermi a fare qualche prova.

Per ora l'unica idea che mi è venuta in mente è una cosa del genere:

Nel mio programma ho definito una struttura dati fatta un questo modo
Codice:
struct nave {
      int x;
      int y;
      int lunghezza;
      int punti vita;
      int posizione;
      bool affondata;
};
x e y sono le coordinate della prima cella, la posizione mi segna se è verticale o orizzontale e punti vita quante celle ancora da colpire rimangono.

La mia idea era quella di fare un'altra strutta definita in questa maniera:
Codice:
struct tab {
    bool DX;
    bool SX;
    bool UP;
    bool DOWN;
    bool colpito;
};
e fare una cosa del genere: controllare che colpito sia false e in quel caso sparare a caso nella matrice del giocatore ed aggiornare le possibili posizioni di altre parti della nave, es: se colpisco una cella adiacente alla prima con la stessa coordinata x allora vuol dire che la nave è orizzontale, quindi posso già escludere UP e DOWN mettendoli a false..

L'unica idea che mi è venuta in mente, ma mi sembra un po intricata da mettere a punto.. o forse si potrebbe fare con solo tre booleani, due che mi stabiliscono se è orizzontale o verticale e il terzo se allo stato precedente ha colpito o meno una nave??
voi che fareste??
grazie

Ultima modifica di HeroGian : 23-04-2013 alle 15:52. Motivo: maggiore leggibilità
HeroGian è offline   Rispondi citando il messaggio o parte di esso