PDA

Visualizza la versione completa : [C] Muoversi a random in una matrice fino ad un ostacolo


DoomMark
29-06-2017, 13:40
Salve a tutti, sono piuttosto nuovo del mondo della programmazione, ma mentre le nozioni base le ho studiate, devo ancora (ovviamente) formare il modus operandi dettato dall'esperienza.
Mi trovo di fronte a questo problema: ho una matrice (char) 4x4 e 3 tipi diversi di caselle, ho necessità di muovermi in modo casuale nella matrice (solo su celle contigue, quindi niente diagonali) finché non trovo una casella diversa, una volta trovata, tramite un'altra function che ho fatto (e questa sembra funzionare) in modo casuale sovrascriverò una delle due caselle, in un caso continuerò il percorso, nell'altro selezionerò un'altra casella a caso e ripartirò da li.
I miei problemi arrivano proprio quando devo continuare il percorso, ho creato uno switch con case random che dettano le 4 direzioni, ho messo un while che si muove in quella direzione finché non arriva al bordo o finché non trova una casella diversa in tutti e 4 casi, ma così facendo, ho una grande probabilità che il ciclo mi entri in loop sul contorno... Il punto è che non ho proprio idea di come "smuovere" il mio cursore da li, ho anche provato a spostarmi di una sola posizione invece di muovermi finché non ho una casella diversa, ma in quel caso inizierei un loop "sopra-destra-sotto-sinistra".
Qualcuno può darmi un consiglio?
ps: credo si capisca che non voglio la pappa pronta, voglio proprio capire il modo migliore per muovere il cursore senza finire in loop, grazie in anticipo!

DoomMark
30-06-2017, 00:59
Alla fine sono riuscito a risolvere da solo, grazie comunque a chi ha letto la discussione

Loading