Démineur

ça avance bien dis donc

Oui faut pas mettre trop de temps sur une grille 1000x1000 avec 1 ou 2 bombes placé dedans ^^

multi-bombe par case? je ne connais pas du tout

Bonsoir

Bon et bien ma procédure d'affichage des "blanc" n'est pas top....

Modifiée par une procédure récursive cela est mieux mais dès que la grille est grande j'ai un problème de "pile"...

Donc du retard sur la sortie...

@ bientôt

LouReeD

C'était mon premier algorithme en 2017 une fonction récursive mais même pour une grille 100x100 au final selon le nombre de bombe présente cela pouvait quand même faire une erreur de pile

Et j'ai pas trouvé comment modifier cette limite du coup faut partir sur une autre fonction en effet

Bonjour,

merci du coup de main

Je vais voir ce que je peux trouver comme "autre" fonction, car la récursivité fonctionne mais elle a ses limites...

Ou bien le codage de celle ci n'est pas des "plus propres"...

@ bientôt

LouReeD

Bonjour,

Un petit mot pour vous donner des nouvelles de mes recherches sur le code d'affichage des cellules blanches.

Et bien j'en ai trouvé un, en me basant sur une technique de recherche de chemin dans un labirynthe parfais. Le principe général est le suivant :

On clic sur une cellule, celle-ci est blanche, du coup on vérifie les 8 autour, si une ou plusieurs de celles-ci sont considérées comme blanche alors on met leur "cordonnées" en mémoire dans un tableau.

Une fois les huit testées, on les reprend une par une grâce au tableau de coordonnées.

Pour un fonctionnement plus aisé du tableau on "attaque" à partir de la dernière donnée et du coup on réduit la taille du tableau d'un index. Au fur et à mesure des tests ce tableau va grandir et diminuer et lorsqu'il sera "vide" c'est que la zone sera traitée... Alors oui avec une grille de 1000 x 1000 et très peu de bombes, le code met du temps mais il n'y a pas de problème de pile et avec une proportion de 10% de bombe le temps de traitement est correcte vu le travail à faire.

Il me reste à gagner un peu de temps ici et là car le code s'est étoffé suite aux bugs et erreurs survenues, mais maintenant que le principe est dans ma tête je devrais pouvoir le ré écrire "en mieux"!

Avec votre version à 1000000 de cellules vous m'avez donné du fil à retordre...

@ bientôt

LouReeD

J'ai fais face aux mêmes problématiques ^^

Mon premier algo a été une simple récursivité mais en testant 100x100 avec 2 bombes ça plante à cause de la pile comme on a vu donc j'ai du refaire

Mon deuxième algo a été de faire via une macro sans finesse: pas de tableau mais sur une sheet excel et doublons mais en 100x100 au final le temps de calcule était viable... ce qui ne tenait plus du tout la route quand j'ai voulu étendre en 1000x1000 car je trouvais 100x100 trop petit

Selon le code utilisé attention à ne pas prendre en comptes plusieurs fois la même cases.

Après le 1000x1000 est juste une limite imposé par moi même, on peut aller au delà (à voir la limite des tableaux ou des variables en VBA) mais j'ai pas tester les temps de calcul ^^ je pense que cela n'a plus de sens

J'ai même chercher dès la construction de la grille à pré-calculer par avance ces zones "blanches" pour avoir juste à les afficher quand on clique dessus ou en passant à la volée par des ranges avec des unions sur les cellules à afficher plutôt que de faire des tableaux mais sans succès

C'était un bon exercice oui

Je me demande sur les autres technologies (C++, java etc) et si des grilles 1000x1000 existent quelle est la solution choisie? est ce qu'il y a aussi des limites/sécurités d'effet de pile et si non combien de temps mettait une simple récursivité à traiter une grille 1000x1000 avec 1 bombes dedans hmm

ECG

D'ailleurs un autre bon exercice est de faire l'IA d'un jeu de YAMs si tu cherches un nouveau "défis" après

J'crois qu'c'est clair !

@bientôt

LouReeD

Bonsoir,

en fait ce n'est pas seulement pour jouer, tout comme tous les jeux ici sur Excel, c'st surtout pour le plaisir de trouver des solutions à des problèmes que je me pose dans l'adaptation de certain jeux sous excel.

Mais si en plus cela permet à des personnes de pouvoir se détendre sur leur poste qui n'a peut-être pas accès à internet, alors je suis comblé !

@ bientôt

LouReeD

Rechercher des sujets similaires à "demineur"