View Full Version : Battaglia Navale Intelligenza Artificiale
Salve a tutti,
sto realizzando il videogioco di Battaglia Navale. Avrei bisogno di qualche suggerimento per quanto riguarda la parte logica sull'IA. Qualcuno può essermi d'aiuto?
Grazieeeeeeeeee
clockover
26-10-2011, 11:54
Coordinata random--> se colpito coordinata adiacente altrimenti ancora random :D magari però è un'intelligenza stupida...
roccia1234
26-10-2011, 12:03
Coordinata random--> se colpito coordinata adiacente altrimenti ancora random :D magari però è un'intelligenza stupida...
beh, non è che nella realtà si giochi molto diversamente eh (almeno per come gioco io XD ).
l'unico accorgimento in più si ha quando colpisci due caselle di una stessa nave:
in quel caso l'IA non deve colpire una casella adiacente a caso, ma deve continuare lungo "la linea" finchè la nave non è affondata, poi ricominciare il tiro random.
SerMagnus
26-10-2011, 12:11
premetto che non me ne intendo, ma partendo dall'idea di roccia magari puoi farla ancora meno stupida salvandoti i punti in cui sei andato a vuoto, così da evitare di sparare più di una volta nello stesso punto.
un'altra piccola ottimizzazione è che dopo aver colpito un punto, postresti sparare anche nelle posizioni SOPRA/SOTTO/DESTRA/SINISTRA al punto colpito e continuare in quella direzione finquando nn vai a vuoto o affondi la nave.
se il colpo va a vuoto, ma nn la affondi allora devi iniziare a sparare nel lato opposto al primo colpo a segno
clockover
26-10-2011, 12:15
Si poi secondo me più si va avanti e più si trovano tecniche più gagliarde.. ad esempio puoi sceglierti dei quadrati in cui generarti la coordinata random in base alla loro dimensione... ad esempio puoi sceglierti il quadrato più grande e generarti una coordinata al suo interno
SerMagnus
26-10-2011, 12:57
wa simpatica come idea :D
un'altra piccola ottimizzazione è che dopo aver colpito un punto, postresti sparare anche nelle posizioni SOPRA/SOTTO/DESTRA/SINISTRA al punto colpito e continuare in quella direzione fin quando nn vai a vuoto o affondi la nave.
se il colpo va a vuoto, ma nn la affondi allora devi iniziare a sparare nel lato opposto al primo colpo a segno
Io infatti ho pensato proprio a questo...solo che l'algoritmo diventa un pò complicato...dopo aver colpito un punto, provo nelle posizioni adiacenti scegliendo random...e devo escludere quelle in cui colpendo trovo acqua....nn so se è possibile altrimenti potrei pubblicare il codice :) magari potete darmi altri consigli!
clockover
27-10-2011, 10:19
Tutto dipende dalla struttura dati che intendi utilizzare. Il codice non è importante per ora. Basta che prima ti fai un'immagine di quello che intendi utilizzare. Che ne so, le navi come intendi rappresentarle, la griglia, ecc..
Le strutture sono tutte realizzate..Navi, griglia, ecc con tutti i metodi necessari per il funzionamento...devo migliorare l'IA e poi fare la grafica!!! grazie a tutti cmq
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.