03-10-2008, 11:09 AM
Bonjour,
En gros, tu as ton tableau qui contient une carte et le deuxième avec des 1 ou 0 pour la visibilité :p
Est ce que vous masquez la carte à l'affichage ? Pour le masquage du contour, il suffit de balayer les éléments du tableau qui sont:
x-1,y
x+1,y
x,y+1
x,y-1
x+1,y+1
x-1,y-1
x-1,y+1
x+1,y-1
Ensuite, selon ta portée tu réalises ton cycle récurcif sur les cases autour :
Boucle 1:
on découvre à case + 1 en mettant un 1 dans ton tableau Visible[][]
Boucle 2:
On découvre à case + 2 en mettant un 1 dans ton tableau Visible[][]
(etc pour tes n cases visibles)
Après la question est: est ce que ton personnage ou la vision part du centre (dans ce cas là mon algo marche) ou bien est ce que ça part de n'importe où et dans ce cas là, tu devras faire:
on stocke les cases initiales autour du joueur à découvrir
Boucle 1:
on découvre à case + 1 en mettant un 1 dans ton tableau Visible[][]
on stocke dans un tableau secondaire les prochaines cases à découvrir
Boucle n:
On découvre les cases autour de la case du tableau si par exemple:
il n'y a pas de mur, le joueur peut voir la prochaine case
Il y a un mur, la case derriere le mur ne sera pas découverte,....
Ce principe est exactement celui du démineur :p
A bientôt !
En gros, tu as ton tableau qui contient une carte et le deuxième avec des 1 ou 0 pour la visibilité :p
Est ce que vous masquez la carte à l'affichage ? Pour le masquage du contour, il suffit de balayer les éléments du tableau qui sont:
x-1,y
x+1,y
x,y+1
x,y-1
x+1,y+1
x-1,y-1
x-1,y+1
x+1,y-1
Ensuite, selon ta portée tu réalises ton cycle récurcif sur les cases autour :
Boucle 1:
on découvre à case + 1 en mettant un 1 dans ton tableau Visible[][]
Boucle 2:
On découvre à case + 2 en mettant un 1 dans ton tableau Visible[][]
(etc pour tes n cases visibles)
Après la question est: est ce que ton personnage ou la vision part du centre (dans ce cas là mon algo marche) ou bien est ce que ça part de n'importe où et dans ce cas là, tu devras faire:
on stocke les cases initiales autour du joueur à découvrir
Boucle 1:
on découvre à case + 1 en mettant un 1 dans ton tableau Visible[][]
on stocke dans un tableau secondaire les prochaines cases à découvrir
Boucle n:
On découvre les cases autour de la case du tableau si par exemple:
il n'y a pas de mur, le joueur peut voir la prochaine case
Il y a un mur, la case derriere le mur ne sera pas découverte,....
Ce principe est exactement celui du démineur :p
A bientôt !
NoDev Progressing
Tu veux de la Bdd AH OUAI ? je vais t'en donner moi....
Tu veux de la Bdd AH OUAI ? je vais t'en donner moi....