Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Ciao, mi chiamo Claudia. Per compiti di scuola devo realizzare una battaglia navale in c#.
Devo partire da una matrice di checkbox che rappresenterà il mio campo.
Fatto ciò mi trovo immediatamente in difficoltà.
Come gestire il posizionamento delle navi (che deve avvenire tramite “il check” delle checkbox)? E come gestire i turni? Ricordo che è una battaglia contro il computer.
Chiedo aiutoo!!
e in vb.net ma puoi convertilo in c# anche dal web.
almeno prendi spunto da questo esempio. applicandolo alle checkbox.
Quel sorgente è in pascal.
Gestire il posizionamento è semplice. Nel gioco della battaglia navale si dispone di un numero fisso di navi di lunghezza stabilita. Poiché non hai specificato in altro modo, prendo la soluzione più semplice, nella quale si assegna un numero iniziale di "parti di nave" al giocatore, con il quale egli può costituire le proprie navi allineandole sulla griglia di checkbox. Partendo da questo presupposto, ogni check corrisponde a una parte posizionata, e quindi a un punto in meno a cui si può accedere per la costruzione della flotta.
Il meccanismo dei turni, invece, è implementabile attraverso una struttura ad eventi. L'ideale sarebbe dare la possibilità all'utente di selezionare una e una sola checkbox avversaria, che rappresenta il tentativo di affondare la nave. Fatto questo, passi il controllo direttamente al computer, o crei un pulsante "Passa" che dia la possibilità di passare il turno manualmente. Il computer non deve fare altro che tentare di selezionare una tua checkbox non ancora scoperta, e questo mi sembra un compito semplice. Dopodiché, passi il controllo di nuovo al giocatore. Ti suggerisco di visualizzare dei messaggi di gioco e di rallentare il computer di qualche secondo per far capire al giocatore la mossa compiuta.