11-11-2010, 01:39 AM
Au vu de tes exemples, j’en déduits que tu ne géres pas le cas des boules en diagonales ?
Sinon au niveau de l’algo, je ne vois pas trop le problème. Il suffit de faire une fonction récursive. La fonction regarde que les coordonnées autour de celle passé en paramètre comportent que des boules « ennemis ».
Ensuite pour le cas « chian », il te suffit d’enregistrer toutes les boule « ami » adjacente que tu rencontres, en stockant les coordonnées de celle-ci dans un tableau $en_attente_de_traitement (par exemple), puis une fois l’algo de la boule en cours terminer, soir il n’y a rien dans $en_attente_de_traitement et tu peux directement en tirer les conclusions dont tu as besoin, soit tu relances la même fonction avec les coordonnées (et autre paramètres de la fonction dont tu aurait éventuellement besoin) de la première boule de la liste $en_attente_de_traitement (bien entendu tu vérifieras de ne pas remettre en attente des boules déjà traité historie de na pas bouclé a l’infinie. De plus tu enregistres dans un autre tableau, genre $resultat, les coordonnées des boules déjà traité et donc potentiellement celle qui t’intéresse, que tu gardes a chaque itération de la fonction, tout comme $en_attente_de_traitement.)
En fin d’algo, tu te retrouves avec $resultat qui est un tableau de x éléments qui sont la ou les solutions que tu souhaites (et $en_attente_de_traitement vide).
C’est marrant, ton projet ma tout de suite fait pensé a un petit jeu que j’ai créé il y a 2 ans, durant un cours d’éco. (que j’ai ensuite codé vite fait sur machine), le but était de mettre le plus de cases de même couleur bout à bout sur une grille de x*x cases avec les couleurs à mettre dans les cases qui été randomisé a chaque tour, pour faire plus de points que son adversaires… bref, je gérais le cas des diagonales pour ce petit jeu là, mais en l’occurrence cela ne change rien à l’algorithme, a part que tu doit t’embêté a ne pas vérifier les diagonales ^^
Sinon au niveau de l’algo, je ne vois pas trop le problème. Il suffit de faire une fonction récursive. La fonction regarde que les coordonnées autour de celle passé en paramètre comportent que des boules « ennemis ».
Ensuite pour le cas « chian », il te suffit d’enregistrer toutes les boule « ami » adjacente que tu rencontres, en stockant les coordonnées de celle-ci dans un tableau $en_attente_de_traitement (par exemple), puis une fois l’algo de la boule en cours terminer, soir il n’y a rien dans $en_attente_de_traitement et tu peux directement en tirer les conclusions dont tu as besoin, soit tu relances la même fonction avec les coordonnées (et autre paramètres de la fonction dont tu aurait éventuellement besoin) de la première boule de la liste $en_attente_de_traitement (bien entendu tu vérifieras de ne pas remettre en attente des boules déjà traité historie de na pas bouclé a l’infinie. De plus tu enregistres dans un autre tableau, genre $resultat, les coordonnées des boules déjà traité et donc potentiellement celle qui t’intéresse, que tu gardes a chaque itération de la fonction, tout comme $en_attente_de_traitement.)
En fin d’algo, tu te retrouves avec $resultat qui est un tableau de x éléments qui sont la ou les solutions que tu souhaites (et $en_attente_de_traitement vide).
C’est marrant, ton projet ma tout de suite fait pensé a un petit jeu que j’ai créé il y a 2 ans, durant un cours d’éco. (que j’ai ensuite codé vite fait sur machine), le but était de mettre le plus de cases de même couleur bout à bout sur une grille de x*x cases avec les couleurs à mettre dans les cases qui été randomisé a chaque tour, pour faire plus de points que son adversaires… bref, je gérais le cas des diagonales pour ce petit jeu là, mais en l’occurrence cela ne change rien à l’algorithme, a part que tu doit t’embêté a ne pas vérifier les diagonales ^^
Dévotion, jeu multijoueur gratuit par navigateur de stratégie et de conquête
The Magic Institute, le jeu de magie médieval fantastique gratuit en ligne
Rapture Studio : créateur de divertissement pour tous
JePolitique.fr - débattons ensemble
JécrisLaConstitution.fr - ne laissons pas les Hommes aux pouvoirs écrire les règles du pouvoir
Je Deviens Citoyen (Association à but non lucratif)
The Magic Institute, le jeu de magie médieval fantastique gratuit en ligne
Rapture Studio : créateur de divertissement pour tous
JePolitique.fr - débattons ensemble
JécrisLaConstitution.fr - ne laissons pas les Hommes aux pouvoirs écrire les règles du pouvoir
Je Deviens Citoyen (Association à but non lucratif)