Posté le 22/04/2020 12:05
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2025 | Il y a 112 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
Citer : Posté le 22/04/2020 12:11 | #
Ce que tu cherches s'appelle une recherche de chemin (ou pathfinding). Il y a plein d'algorithmes pour faire ça. Le plus simple est de faire un parcours en largeur de ta map ; le tank explore toutes les cases où il peut aller, de la plus proche à la plus lointaine, jusqu'à tomber sur la destination qu'il vise.
Au niveau un peu au-dessus, tu as l'algorithme de Dijkstra, qui va un peu plus vite ; et au niveau bien au-delà, tu as des choses comme A* qui vont très vite mais sont assez compliqués à coder.
Citer : Posté le 22/04/2020 12:12 | #
Pour ce qui est des techniques de pathfinding, j'adore les articles de Redblob games
Entre autres :
– https://www.redblobgames.com/pathfinding/grids/algorithms.html
– http://theory.stanford.edu/~amitp/GameProgramming/
– https://www.redblobgames.com/pathfinding/tower-defense/
Citer : Posté le 22/04/2020 12:25 | #
Super ! Merci !
Je teste ça tout de suite !
Ajouté le 23/04/2020 à 10:48 :
et tant qu'on y est, le programme peut-il détecter les pixels noir ou il faut lui donner les coordonnées des murs ?
Il ne faut pas prendre les gens pour des cons, mais il ne faut pas oublier qu'ils le sont !
Citer : Posté le 23/04/2020 10:51 | #
De manière générale, en C, on a tendance à garder en mémoire les objets. C'est plus pratique pour gérer les collisions. Après si tu as une matrice de 128×64 valeurs, autant lire directement dans la VRAM. Par contre pour ça la méthode change suivant ton environnement de développement. Tu utilise quoi pour dessiner ?
Citer : Posté le 23/04/2020 10:54 | #
Je dessine sur paint puis je convertit l'image avec SpriteCoder. La map
Du coup il faut les co des murs c'est ça ?
Il ne faut pas prendre les gens pour des cons, mais il ne faut pas oublier qu'ils le sont !
Citer : Posté le 23/04/2020 11:42 | #
Personellement pour alléger le tout j'aurais tendance à découper l'écran en carrés comme aux échecs. Comme ça tu as une matrice "map" de taille raisonnable (genre 10*8 par exemple..) et a chaque case tu associe un sprite (si il y a quelque chose à afficher bien sur). Après l'IA peut se référer a la matrice "map" pour ses déplacements.
-Planétarium 2
Citer : Posté le 23/04/2020 11:43 | #
Je parlais de la bibliothèque de dessin. gint, MonochromeLib ?
Citer : Posté le 23/04/2020 11:45 | #
Vu qu'il utilise SpriteCoder je suppose qu'il code avec MonochromeLib.
Citer : Posté le 24/04/2020 15:12 | #
Bien vu !
Point de vu technique: j'ai le sprite de mon niveau. Ok. Et à partire de là il faut que je déduise la position des mur ? Comment ?
Il ne faut pas prendre les gens pour des cons, mais il ne faut pas oublier qu'ils le sont !