Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.

Forum Casio - Autres questions


Index du Forum » Autres questions » Création d'une IA Pac-Man
Thiladon Hors ligne Membre Points: 150 Défis: 1 Message

Création d'une IA Pac-Man

Posté le 17/03/2012 19:25

Bonjour tout le monde !
Alors voilà je vais pas passer par 4 chemin et je déballe mon problème :

Comme aucun des pac-man que j'ai rencontré jusqu'ici ne me plaisait, j'ai décidé de faire le mien.

Il marche en intégralité, sauf que je ne sait pas programmer l'IA des "Phantom" du jeu originel, et que le temps d'affichage ( après les mouvements ) sont un peu long :/
Pour les "dessins" des personnages j'utilise des F-Line ( si vous avez un meilleur solution, je suis friand )
Et pour les IA j'utilise rien vu que je vois pas comment faire.

PierrotLL m'avait déjà parler d'une histoire de théorème de Pythagore, mais je ne voit pas comme placé ce théorème dans mon code

( Je suis entrain de copié mon code sur l'ordi [ et oui j'ai tout fait sur la calto x) ] sa m'a prit un temps fou x) )

Merci d'avance a vous, qui prendrait le temps de me répondre


Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 31/03/2012 20:12 | #


Super les spoilers, mnt on ne sais plus copier le texte


Je vais regarder ce qui pose problème, mais pourrais tu me faire parvenir un fichier fxi/cat/txt/g1r stp ?


Ajouté le 31/03/2012 à 20:30 :
J\'ai corrigé mon post précédent.
Thiladon Hors ligne Membre Points: 150 Défis: 1 Message

Citer : Posté le 01/04/2012 11:12 | #


Cartix, j'avais réussi a corrigé l'erreur xD mais vu que ta optimisé encore + je prend, je t'envois le fichier en g1r ce soir ( ma 35+ et devenu 85 par la magie d'un changement d'OS )

PS : J'attend ce soir car la je suis chez mon père, que je n'ai pas mon cable, et que je n'ai pas non plus fini d'implanté ton optimisation

A part sa merci
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 01/04/2012 11:27 | #


Ok. Par contre, il y a des trucs bizarres dans ton code :
{-1,0,1,0}->List 1
{0,-1,0,1}->List 2
For 1->I To 4
G+List 1[I->R
H+List 1[I->S
Next
A quoi sert la boucle ? Il suffit de mettre :
G->R
H+1->S
Thiladon Hors ligne Membre Points: 150 Défis: 1 Message

Citer : Posté le 01/04/2012 11:34 | #


Faut demandé sa a PierrotLL, c'est lui qui me la donné ce code, je pense que les list sont a prendre en compte dans le calcul, sinon je sait pas,

PS : Ton optimisation a encore failed, J'essaye de la réparé moi même
Si j'y arrive pas, tu pourras te rendre compte de ce "fail" via le g1r de ce soir
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 01/04/2012 11:49 | #


Sérieux ? Il y a encore des bugs ?
Thiladon Hors ligne Membre Points: 150 Défis: 1 Message

Citer : Posté le 01/04/2012 11:56 | #


Et ouais, désolé pour toi, il manque un bout du pacman et la bouche est mal alligné, j'ai corrigé l'emplacement de la bouche ( tu avais fait un - 2 a l'ordonné ( au niveaux des coordonné du f - line ) )

Maintenant il manque plus que je remette la partie manquante ( mais vu que les boucle For to Next son pas trop ma tasse de thé ..., Enfin j'edit ce message si j'y arrive !
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 01/04/2012 17:54 | #


Thiladon a écrit :

Faut demandé sa a PierrotLL, c'est lui qui me la donné ce code, je pense que les list sont a prendre en compte dans le calcul, sinon je sait pas.

Donc tu utilises un codes que tu n'as pas compris ?

Je l'avais pourtant beaucoup commenté : lien
Thiladon Hors ligne Membre Points: 150 Défis: 1 Message

Citer : Posté le 01/04/2012 19:47 | #


Bah j'avais compris le tout, mais la boucle for next, je l'avais zappé x)

A part sa j'ai tout compris, j'ai aussi compris que même en replaçant le tout par les données de mon jeu ... Sa marchait pas ! x)

Ou alors j'ai fait une boulette ?
De toutes façon je vous passe le code en fichier Joint ( En .G1m )

Fichier Joint ( j'ai pas reussi via " Ajouter un fichier joint " ) : http://www.mediafire.com/?dgrljwcfcdjh4pw
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 01/04/2012 21:00 | #


X et Y, ce sont les coordonnées de pacman à l'écran ou dans la matrice ?
Thiladon Hors ligne Membre Points: 150 Défis: 1 Message

Citer : Posté le 01/04/2012 21:18 | #


x, y , ce sont les coordonnée du pac man.
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 01/04/2012 21:22 | #


Heu, ouais, mais des coordonnées sans référentiel ne valent rien.
Quand tu fais X+6->X, Pacman se déplace de 6 pixels ou de 6 cases dans la matrice ?
Thiladon Hors ligne Membre Points: 150 Défis: 1 Message

Citer : Posté le 02/04/2012 05:09 | #




6 pixel + 1 case matrice, je l'ai édité en If Pour faire les deux en même temps

( Il fait : If K=27
Then X+6->X
A+1->A
Goto 3
If End ) non ?

Mon pac-man a bien un moteur de collision qui marche ( en gros je peut pas traversé les mur de la map )
Marmotti Hors ligne Youtuber Points: 3610 Défis: 6 Message

Citer : Posté le 02/04/2012 11:45 | #


si tu veux savoir j'ai trouvé un site ou ils expliquent les IA des différent fantôme de pac man comment elle fonctionne et en gros je me souviens que les IA change tout les certain temps car les fantômes de pac man on 3 statut la recherche du pac man l'attaque et la défense (avec un pac gome ) je cherche le site quand je l'aurais trouvé je te le dis
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 02/04/2012 13:21 | #


D'accord, donc tu as 2 variables pour les coordonnées à l'écran, et 2 autres pour les coordonnées dans la matrice. C'est encombrant, une seule paire de coordonnées suffirait. De plus, il est déconseillé d'utiliser X et Y avec des fonctions de dessin, car ces dernières modifient leur valeur.
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 02/04/2012 13:42 | #


En plus, il te suffit, au lieu de mettre par exemple plotOn x,y, de mettre plotOn 6A, 6B
Thiladon Hors ligne Membre Points: 150 Défis: 1 Message

Citer : Posté le 02/04/2012 16:06 | #


6A, 6B

Nop, j'ai essayé ça marche pas cette façon là.

Car en fait mes positions commencent à 3, 5 résultat : Si je fais 6A,6B, je me retrouve au mauvais emplacement et ça ne marche pas.

+ Pas de plotOn, car je ferai des drawstats a la place
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 02/04/2012 16:09 | #


6A-3, 6B-1 (je suppose que A=B=1 Si X=3 et Y=5)
Thiladon Hors ligne Membre Points: 150 Défis: 1 Message

Citer : Posté le 02/04/2012 19:53 | #


Faux ! A = B = 2 !

Car A = B = 1 Donne la le coin supérieur gauche soit un mur ! ( )


LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2022 | Il y a 124 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