salut a tous, je me suis lancé dans la creation d'un demineur a l'aide de fast-rpl et je recontre deja un probleme :

(j'utilise une matrice avec un numero pour chaques type de case (bombes fermé, bombes ouevrte, case vide ouverte, case vide fermé etc...)
als voila :
comment verifier que les cases qui reste sont des bombes?
comment faire pour que lorsqu'on ouvre une case vide qui touche des autres cases vide ils s'ouvrent tous en meme temps? je voudrai eviter de faire une boucle pour sa smile

voila j'espere que vs arriverez a trouver les solutions qui pourraient m'aider
Pour la fin de partie, quand toute les cases restante sont des bombe, tu peux le tester en connaissant le nombre de bombe et le nombre de case qui ont été ouverte... donc il faut compté l'ouverture des cases...

Pour l'ouverture des casea adjacente, c'est plus chaud ( tu n'echaperra pas aux boucles, il risque même d'avoir besoin de plusieur....).
Ou alors, il faudrai s'y prendre avec un fonction recursive, ce qui est fesable mais assez complexe en fastRPL...
en plus il y a le risque de faire deborder la pile... je vais y reflechir grin...
En fait c'est le meme principe que "le pot de peinture" sur paint, je vais chercher sur le net s'il y a d'autre moyen de le faire...le problème est interressant...
Léo
Essaye de mettre une boucle For(A, X, X' ), avec X et X' les bords qui s'agrandissent au fur et à mesure que la boucle ne rencontre pas de bombes (mets du genre If... X-1->X : X'+1->X'). Même chose pour Y/Y'. Le seul problème de cette solution est que ça ferait que des rectangles...
oué c sa le probleme j'y avait penser au debut ^^
kuda m'a filé une bonne methode regarder plutot ce code :
label:A
X,Y(rho)AMatrix>10= not if goto
0,X,Y(rho)A>matrix
X,1 + ->(rho) A call
2X- -> X (rho)A call
X,& +-> X,Y,1 + -> Y (rho) A call
2,Y- ->Y(rho)A call
Y,1 + -> Y
goto


genial non?? en tout cas kuda a eu la une vraiment bonne idée avec sa fonction "pseudo-recirsive" smile

PS : pour ceux qui ne comprennent pas le language apres avoir lu le tuto de kuda prenez mon msn je vous expliquerait (comme j'avais pas comprit non plus en lisant son tuto) rider_12206@hotmail.com
grin