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.

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


1, 2, 3 Suivante
Totoyo Hors ligne Membre d'honneur Points: 16103 Défis: 102 Message
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 17/03/2012 19:33 | #


Tout le monde fait tout sur la calto. C'est plus pratique pour tester.
Pour un affichage rapide, utilise les str, pas les graphisme, sinon ca va être injouables
Pour l'IA, t'as qu'à faire un bête truc du genre :
Soit x,y les coordonnées du joueur
Soit x2,y2 les coordonnées du fantomes
Si x>x2
Alors tu augmente x2 de 1
Sinon Si x<x2
Alors tu diminue x2 de 1
Sinon si y>y2
Alors tu agmente y2 de 1
Sinon tu diminue y2 de 1

Voilà. J'epsère que cela te conviendra
Thiladon Hors ligne Membre Points: 150 Défis: 1 Message

Citer : Posté le 17/03/2012 19:39 | #


Merci Cartix et Totoyo ! ( Je vous aime xD )
Je vais testé sa de suite ( vive la calto !! )

Petit PS : Comment sa s'utilise les Str ? ( je Débute m'en voulait pas x) )
Et les drawstat je ne sais pas non plus mais bon, un lien m'est proposé alors : * s'approche du lien doucement, le curseur a quelque Millimètre du lien et il .... CLIQUE comme un bourrin a en pété sa souris !! *
Ne0tux Hors ligne Membre d'honneur Points: 3525 Défis: 265 Message

Citer : Posté le 17/03/2012 20:35 | #


Je te conseil également le Drawstat, qui, une fois maitrisé, peu devenir très intéressant voire indispensable...

Cartix cite à juste titre les "Str", ce qui signifie "chaîne de caractères". Leur utilisation est une excellente idée en ce qui concerne la fluidité/rapidité de ton jeu.

En revanche, il faut avoir en tête qu'elles n'ont pas de dimension "graphique", tu ne pourras afficher que des caractères, du texte, des nombres... Mais pas de dessins, pas de lignes ou de points, au même titre que le mode graphique ou le Drawstat.

A toi de choisir donc !

Si d'aventure tu voulais tester les deux, rien ne t'en empêche ! Pour le Drawstat, le lien de Totoyo est le plus avisé et si tu veux te pencher sur les Str, je te propose de consulter ce tuto.

Voilà, en espérant t'avoir éclairé, je te souhaite une bonne soirée,

NeO'

EDIT : Quand bien même ces nouvelles techniques pourraient te paraitre "compliquées", ne passe pas à côté. Si tu n'y arrives pas aujourd'hui, pas de soucis (la rime ), ré-essaye demain et ainsi de suite ! C'est vraiment quelquechose qu'il faut maitriser si tu veux produire des programmes performants et qui sortent du lot !

D'ailleurs, nous sommes là pour t'aider si tu rencontre des difficultés !



Mes principaux jeux : Ice Slider - CloneLab - Arkenstone

La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
Thiladon Hors ligne Membre Points: 150 Défis: 1 Message

Citer : Posté le 17/03/2012 20:49 | #


Finalement, les drawstat j'y comprend rien T-T
Mais bon, comme tu le dit Neo, patience et persévérance font preuve de vertu ! x)
Et puis aussi vous êtes la ! ( KOUPAING )
Mais bon, J'ai juste compris que les drawstat ce base sur des listes ... J'ai mis 4 jours a pigé les matrice pour ma map ! xD Alors les listes ~"T-T"~

PS : Merci a PierrotLL et jeuxcasio.com pour les matrices =D, Mais dommage que jeuxcasio.com soit limite mort :/
Purobaz Hors ligne Membre d'honneur Points: 2690 Défis: 110 Message

Citer : Posté le 17/03/2012 20:54 | #


Teste le programme d'exemple et modifie le code petit bout par petit bout.
Il faut vraiment que tu comprennes à quoi sert chaque commande.
T'inquiètes pas c'est facile, dans quelques temps tu connaîtras tout le code par coeur.
I'll be back !
pour plus de fun
mes programmes fun
de technique
mes projets
et de Swag
les projets que je soutiens
Alex BasicC Hors ligne Ancien modérateur Points: 1734 Défis: 83 Message

Citer : Posté le 17/03/2012 20:57 | #


Je suis entrain de copié mon code sur l'ordi

Je te conseil de le transféré de la calculatrice vers l'ordi via FA 124 tu n'auras pas tout à recopier
Thiladon Hors ligne Membre Points: 150 Défis: 1 Message

Citer : Posté le 17/03/2012 21:01 | #


FA 124 ne marche pas sur mon système d'exploitation ( Windows 7 )
Mais CasioCom marche, sauf que je n'ai pas de Cable mini-USB héhé ! xD / T-T Comme vous voulez ( /déprime sa marche pas comme commande ? )
Eiyeron Hors ligne Ancien modérateur Points: 5525 Défis: 57 Message

Citer : Posté le 17/03/2012 21:06 | #


Fa marche avec win7
Thiladon Hors ligne Membre Points: 150 Défis: 1 Message

Citer : Posté le 17/03/2012 21:11 | #


Ah si il marche, mais CasioCom Emule aussi alors je ne vais pas m'en passer
Ne0tux Hors ligne Membre d'honneur Points: 3525 Défis: 265 Message

Citer : Posté le 17/03/2012 21:21 | #



Si tu as réussi à comprendre les Matrices, les Lists seront un jeu d'enfant ! C'est la même chose mais avec une dimension en moins !

Mais dis moi, sur quelle calculatrice programmes-tu exactement ? Tu parles de CasioCom et d'FA-124...

Car si tu as une graph25, les Str et le Drawstat n'y sont pas forcément !

Donc peut-être que quelques infos sur ton "matos" pourrait nous permettre de mieux t'aider !

Mes principaux jeux : Ice Slider - CloneLab - Arkenstone

La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
Thiladon Hors ligne Membre Points: 150 Défis: 1 Message

Citer : Posté le 17/03/2012 21:33 | #


Casio 35+ sinon j'aurais pas les matrice

PS : J'ai pigé les listes, mais les drawstats la vache T-T
Ne0tux Hors ligne Membre d'honneur Points: 3525 Défis: 265 Message

Citer : Posté le 17/03/2012 21:37 | #



Exact !

Tu sais que tu peux la "tweaker", afin qu'elle gère les add-ins, afin également d'utiliser la mémoire de stockage etc...

Si tu ne l'a pas encore fait et si tu te sens "d'attaque", jette un coup d'oeil ici !

Bon courage pour l'apprentissage des Chaînes de caractères, des Lists et du Drawstat !


Mes principaux jeux : Ice Slider - CloneLab - Arkenstone

La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
Thiladon Hors ligne Membre Points: 150 Défis: 1 Message

Citer : Posté le 17/03/2012 21:41 | #


Un ami me demande, si on peut passer une 25+ en 35+
Eiyeron Hors ligne Ancien modérateur Points: 5525 Défis: 57 Message

Citer : Posté le 17/03/2012 21:42 | #


Non, déoslé
Thiladon Hors ligne Membre Points: 150 Défis: 1 Message

Citer : Posté le 17/03/2012 21:47 | #


Arf :/
Javierxd Hors ligne Membre Points: 1899 Défis: 13 Message

Citer : Posté le 17/03/2012 21:58 | #


Pour l'IA, t'as qu'à faire un bête truc du genre :
Soit x,y les coordonnées du joueur
Soit x2,y2 les coordonnées du fantomes
Si x>x2
Alors tu augmente x2 de 1
Sinon Si x<x2
Alors tu diminue x2 de 1
Sinon si y>y2
Alors tu agmente y2 de 1
Sinon tu diminue y2 de 1

J'ai essayé une fois de faire un pacman avec cette IA, il était trop difficile et les fantômes restaient coincés aux murs, je recommande quelque chose d'autre
Calculatrices: g35+usb modifiée, PRIZM

My program is not working, I have no idea why.
My program is working, I have no idea why.

Programmes
Cliquer pour enrouler
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 17/03/2012 22:00 | #


Le DrawStat :
Tu crées 2 listes, {1,2,3} et {4,5,6}, t'utilises DrawStat avec ces listes, ça dessine 3 points, aux coordonnées (1,4), (2,5) et (3,6).
Ces points peuvent être reliés si on utilise l'option xyline, et ils peuvent avoir la forme d'un carré ou d'une petite croix en fonction de l'option choisie. C'est uniquement ça, rien de plus à comprendre.

Pour le déplacement des fantômes :
Dans ta map, il y a des cases où le fantôme peut aller, et des murs. Donc avant chaque déplacement, il faut regarder dans les 4 directions si les cases sont accessibles, et choisir parmi les bonnes celle qui te rapproche le plus de pacman (en calculant la distance entre la case "candidate" et pacman)
Exemple :
0->C [green]// case choisie, 0=aucune, 1=gauche, 2=haut 3= droite, 4=bas[/green]
1000->D [green]// D représente la distance entre case qu'on teste et pacman[/green]
{-1,0,1,0}->List 1 [green]// les 2 listes servent à explorer les 4 directions[/green]
{0,-1,0,1}->List 2
For 1->I To 4
X+List 1[I]->A [green]// coordonnées de la case à tester[/green]
Y+List 2[I]->B
[SQRT]((E-A)²+(F-B)²)->Z [green]// calcul de la distance entre la case et pacman qui est aux coordonnées (E,F)[/green]
If Mat A[B,A]=0 And Z<D [green]// si la case est libre et est plus proche de pacman que la précédente[/green]
Then Z->D [green]// on mémorise la distance la plus courte trouvée[/green]
I->C [green]// on mémorise quelle est la case qui est la plus proche de pacman[/green]
IfEnd
Next
X+List 1[C]->X
Y+List 2[C]->Y [green]// on déplace le fantôme sur la case libre la plus proche de pacman[/green]

Après, dans un Pacman digne de ce nom, les fantômes ne font pas demi-tour dans un couloir. Ils ne changent de direction qu'aux virages ou aux intersections.
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 18/03/2012 01:44 | #


Si d'aventure tu voulais tester les deux, rien ne t'en empêche ! Pour le Drawstat, le lien de Totoyo est le plus avisé et si tu veux te pencher sur les Str, je te propose de consulter ce tuto.

merci de faire de la pub pour mon tuto, ne0tux
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Thiladon Hors ligne Membre Points: 150 Défis: 1 Message

Citer : Posté le 18/03/2012 04:30 | #


Pierrot, j'ai essayé ton code, mais comme A et B sont déjà utilisé, j'ai modifié A par Q et B par R et sa ne marche pas T-T
Oui car A et B comme X et Y sont utilisé pour le pacman
1, 2, 3 Suivante

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 v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 183 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