Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.
Menu
Calculatrices
Graph 35 à 100
Graph 25+Pro/25+E/25+E II
Graph 35+USB/75(+E)/85/95 SD
Graph 100(+)
Classpad 300/330(+)
fx-CG 10/20 (Prizm)
Classpad 400(+E)
Graph 90+E
fx-92+ SC
Liens
¤ Transférer un programme sur
sa calculatrice

¤ Vous cherchez une fonction ?
Utilitaires >> Graph 35+USB/75(+E)/85/95 SD >> Divers >> Pathfinding
Pathfinding
Version : 1.0 Taille : 1840 octets Ajouté le : 2014-11-10 19:20 Modifié le : 2014-11-10 19:52
Auteur et posteur :
PositonHors ligneRédacteurPoints: 2396 Défis: 57 Message
Aucune image disponible
Nombre de visites sur cette page : 3656
Score au progrank : 19
Pas encore de note !
Vous devez être connecté(e) pour noter (inscription).
459 téléchargements | Soumettre un test

Ce programme est sous licence Creative Commons 2.0 BY-NC-ND


Votre calculatrice doit posséder les chaines de caractères (Str) et Menu pour utiliser ce programme. Si vous avez une Graph 85 (SD), mettez-la à jour.
Description :

Et voilà mon défi de la semaine : une implémentation de l'algorithme A* en basic.

Mettez en place le chemin le plus tordu que vous le souhaitez, s'il existe une solution, l'algorithme vous la donnera.
Méfiez-vous par contre, la complexité n'est pas linéaire, donc plus le programme avance, plus il est lent...

Vous avez le choix entre deux modes : une map éditée par vous-mêmes ou une map aléatoire.

Map aléatoire :
EXE : Valider
DEL : Recharger la map

Map configurée :
Flèches : déplacer le curseur
F1 : Placer un mur
F2 : Enlever un mur
SHIFT : Placer le personnage
ALPHA : Placer la sortie
EXE : Valider

Vous pouvez utiliser EXIT pour quitter en cours de calcul

/!\ Attention /!\ Le programme ne pèse que 1840 octets mais il utilise 19512 octets de matrice pour le calcul


Commentaires :


EltoredoHors ligneModérateurPoints: 4301 Défis: 35 Message
Posté le 10-11-2014 à 19:23 | #
Waw il est léger mais les matrices pour le calcul prennent 10x plus Je le teste
LoulouxHors ligneAncien administrateurPoints: 7035 Défis: 61 Message
Posté le 10-11-2014 à 20:07 | #
Mouarf faut utiliser Dijkstra il est beaucoup plus optimisé et trouve toujours un chemin (dans une map qui ne se modifie pas certes).

Je plaisante bien joué !
LephenixnoirEn ligneAdministrateurPoints: 24225 Défis: 170 Message
Posté le 10-11-2014 à 20:45 | #
Bravo ! Le défi était de taille.

Pourquoi t'as pas une version native avec, c'est pas juste
IntelligideHors ligneMembre de CreativeCalcPoints: 49 Défis: 5 Message
Posté le 10-11-2014 à 20:52 | #
Prologin ?
PositonHors ligneRédacteurPoints: 2396 Défis: 57 Message
Posté le 10-11-2014 à 22:01 | #
@Lephenixnoir : pardon ?
@Intelligide : pardon ?

Double combo, +50 points
BtlHors ligneAncien modérateurPoints: 3879 Défis: 107 Message
Posté le 11-11-2014 à 01:12 | #
Disons que le 4e algo demandé par Prologin est le plus court chemin entre 2 points.
Sauf que les arrêtes ont un poids, ce que ne prends pas en compte A* si je ne m'abuse.
(Sinon effectivement pour Prologin vaut mieux utiliser Dijkstra)
PositonHors ligneRédacteurPoints: 2396 Défis: 57 Message
Posté le 11-11-2014 à 10:58 | #
Si si, A* peut prendre en compte des différences de qualité selon les noeuds
LoulouxHors ligneAncien administrateurPoints: 7035 Défis: 61 Message
Posté le 12-11-2014 à 21:44 | #
Yep btl le 4e exo est un Dijkstra.
En A* tu passes pas du tout les tests de perf.
BtlHors ligneAncien modérateurPoints: 3879 Défis: 107 Message
Posté le 13-11-2014 à 13:06 | #
Perso pour le pacman que j'ai fait en basic j'avais aussi appris à utiliser A* (mais pas sur que je l'ai implémenté dans le jeu finalement). C'est mieux pour du basic car l'algo gère au case par case. Avec Dijkstra ce serait trop long de tout recalculer à chaque fois.

Tout ça pour dire que les 2 algos sont intéressants, il faut juste utiliser celui qui est le plus approprié au problème demandé.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 117 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd