adnz a écrit:
Bonjour à tous,
Passionné par mon premier ordi le Thomson (le TO9),
je me suis lancé pour le fun! dans mon temps libre sur ce projet pour le 40ème anniversaire PAC-MAN.
En espérant pouvoir avoir une version jouable en 2020 ! (bon ça va être chaud un peu mais bon

)

Hmm très bonne idée, j'ai référencé 5 jeux PacMan (et clone) existant sur Thomson. La meilleure version, la plus fidèle est celle de Titus (mais avec des petits plus). Il y a aussi un clone appelé "Panique Atomique chez NovaSoft" qui n'oblige pas à manger toutes les gommes mais dont le but est d'aller le plus vite possible à la sortie
Pour le langage, je te suggère "Pascal Base" si tu veux du langage Binaire sans t'empêtrer dans l'assembleur. En plus c'est un langage assez proche du C au niveau syntaxe!!
Sinon j'ai récemment fait un clone de pacMan appelé "Poppy Man" en javascript. Je peux donc donner certaines voies
Il y a la partie graphique du labyrinthe et la partie Data:
- La partie data, admettons que ton labyrinthe fasse 128x128, chaque carré de 8x8 pxl (ça peut être du 12x8) est représenté par un octet dans un tableau à 2 dimensions (16x16 cases) qui sont les coordonnées numéraires de chaque case qui est soit vide soit pleine
- Sur PacMan, j'ai remarqué que les gommes étaient sur des cases de 8x8 alors que la taille du Pacman et des fantomes sur des 16x16, il faut tenir compte de àa dans les déplacement (les couloirs font du 16x16 mais on peut gérer les pacgommes sur du 8x8, ton tableau doit gérer du 8x8
- Le déplacement des fantômes : ça peut se faire de manière aléatoire mais dans la doc du pacman original, il est dit que chacun des 4 fantôme a un déplacement qui lui est propre. j'ai fais du 100% aléatoire comme pour Miss Pacman, mais il semble qu'on doit quand même indiquer aux fantôme de s'approcher du Pacman quand ils sont proche (un algorithme de recherche de chemin le plus court par fonction récursive (se fait très bien en langage pascal) avec des "NSOE" me parait la meilleure approche. Des commentaires sur le net indique des algorithmes du type A* (
https://fr.wikipedia.org/wiki/Algorithme_A*) mais cela me parait pas très adapté dans le cas du pacman (à moins de tracer une table des graphes initialement) puisqu'ici on ne cherchje pas à joindre des noeud mais des positions sur le parcours. Si le fantome se trouve à moins de 6 cases du Pacman, on déclenche la poursuite s'il n'est pas bleu, dans le cas invesre, s'il est bleu, il cherchera à s'en éloigner (et là par contre, il faut le faire partir dans des cases plus éloignés du Pacman).
- Quand un fantome a été gobé, il y a un parcours à trouver pour lui faire rejoindre la loge. On voit des version de Pacman où ce parcours est assez bizarre (j'en ai vu une version Google notamment, où les yeux faisaient parfois un chemin à rallonge)
Programmer le jeu du Pacman n'a rien d'être simple comme tu le vois! Bon courage.