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 » Intelligence artificielle
Exagyde Hors ligne Membre Points: 86 Défis: 0 Message

Intelligence artificielle

Posté le 05/10/2015 18:47

Bonjour,
Cela fait un moment que je programme sur Casio graph 35, et j'ai comme projet de créer un bomberman.
Je compte ajouter des ennemis, mais je sis malheureusement pas comment créer une Intelligence Artificielle.
Pourriez-vous m'aider svp.


Fife86 Hors ligne Membre Points: 830 Défis: 0 Message

Citer : Posté le 06/10/2015 19:38 | # | Fichier joint


J'ai eu une petite idée de comment faire lorsque tu a créer ce topic mais je partage mes résultats maintenant car je les trouves intéressant.

L'IA suit un objectif: ici aller a une case de l'écran // N'importe laquelle.
Au départ son but est d'aller a son poste de garde puis de réaliser sa ronde.// Pouvant être une droite ou autre chose. On donne donc la case correspondant au début du tour de garde en objectif a l'IA.
Si l'IA voit le joueur alors son but change et il doit aller à l'endroit ou était situé le joueur la dernière fois qu'il la vu // Avec un, niveau de patience pour qu'il reprenne sa ronde si il ne trouve pas le joueur.

Je met en fichier joint le code que j'ai écrit.

AF: Affiche la map à l'écran.
C2:Check si l'IA ne voit pas le joueur en face de lui.
D2:Déplace l'IA
IA: Est le programme principal a lancer
J1 et J2: Sont le controle des décissions du joueur et de l'IA.
P2:Est l'algorithme de Pathfinding basic que j'ai créer. //A Améliorer
It's Show Time !!!
Mes Jeux :
- Street Fighter : Pour les accrocs du free-fight.
- Kirby's DreamLand : Gobe , Gobe , Gobe !!!
- L'invasion Seanchans : Détruit la flotte ennemis a bord du "Danseur des vagues".


< Le recoin du C-Engine >
Guil_2000 Hors ligne Membre Points: 315 Défis: 8 Message

Citer : Posté le 06/10/2015 20:13 | #


L'habitude du C ?
Mes programmes
Cliquer pour enrouler
Mon projet
Cliquer pour enrouler

Exagyde Hors ligne Membre Points: 86 Défis: 0 Message

Citer : Posté le 07/10/2015 06:53 | #


J'ai ajouté step 1 après to 80 et il n'avance toujours pas pas à pas.
Fife86 Hors ligne Membre Points: 830 Défis: 0 Message

Citer : Posté le 07/10/2015 07:01 | #


Nan C++
It's Show Time !!!
Mes Jeux :
- Street Fighter : Pour les accrocs du free-fight.
- Kirby's DreamLand : Gobe , Gobe , Gobe !!!
- L'invasion Seanchans : Détruit la flotte ennemis a bord du "Danseur des vagues".


< Le recoin du C-Engine >
Guil_2000 Hors ligne Membre Points: 315 Défis: 8 Message

Citer : Posté le 07/10/2015 07:04 | #


Si tu as fais ça :
Exagyde a écrit :
Do
ClrText
Locate X,Y,"o"
For X=Y→E To 80 Step 1
Int 21Ran# +1→X
Int 7Ran# +1→Y
Next
LpWhile Getkey≠31

c'est normal car tu affiches ton personnage et ensuite tu fais changer tes nombres.
D'ailleurs ici il va se téléporter car tu généres une nouvelle position aléatoirement
Il faudrait mettre le Locate dans la boucle For
5→X
5→Y
do
Locate X,Y, "o"
Randint(-1,1)+ X →X
Randint(-1,1)+Y →Y
Lpwhile Getkey≠31


Ajouté le 07/10/2015 à 07:05 :
Edit : En fait pourquoi y a t-il une boucle For ?
Mes programmes
Cliquer pour enrouler
Mon projet
Cliquer pour enrouler

Fife86 Hors ligne Membre Points: 830 Défis: 0 Message

Citer : Posté le 07/10/2015 07:08 | #


Affiche l'IA apres le tirage au sort de la direction c est plus propre car alors un deplacement ce realise sur une boucle et pas 2 dans ton cas.(changement de direction puis affichage au deuxieme tour de boucle).

Ajouté le 07/10/2015 à 07:12 :
Exagyde essaye mon programme car il pourait t apprendre quelque petite astuce et marche pour ce que tu veux faire.
It's Show Time !!!
Mes Jeux :
- Street Fighter : Pour les accrocs du free-fight.
- Kirby's DreamLand : Gobe , Gobe , Gobe !!!
- L'invasion Seanchans : Détruit la flotte ennemis a bord du "Danseur des vagues".


< Le recoin du C-Engine >
Exagyde Hors ligne Membre Points: 86 Défis: 0 Message

Citer : Posté le 07/10/2015 13:37 | #


Désolé Fife86, mais je n'ai pas réussi à faire marcher ton programme (marche-t-il sur graph 35+). Et y aurait t-il un moyen plus simple pour les mouvements du caractère.
Fife86 Hors ligne Membre Points: 830 Défis: 0 Message

Citer : Posté le 07/10/2015 14:18 | #


Normalement il marche car j'ai une graph 35+ que j'ai ugrade.
It's Show Time !!!
Mes Jeux :
- Street Fighter : Pour les accrocs du free-fight.
- Kirby's DreamLand : Gobe , Gobe , Gobe !!!
- L'invasion Seanchans : Détruit la flotte ennemis a bord du "Danseur des vagues".


< Le recoin du C-Engine >
Exagyde Hors ligne Membre Points: 86 Défis: 0 Message

Citer : Posté le 07/10/2015 14:24 | #


Peux-t-on simplifier le programme pour le mouvement du caractère ?
Eltoredo Hors ligne Modérateur Points: 4301 Défis: 35 Message

Citer : Posté le 07/10/2015 14:46 | #


Avant de simplifier, tentes déjà de le faire marcher !
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Exagyde Hors ligne Membre Points: 86 Défis: 0 Message

Citer : Posté le 07/10/2015 15:18 | #


Le programme de Fife86 me renvoie erreur de dimension.
Fife86 Hors ligne Membre Points: 830 Défis: 0 Message

Citer : Posté le 07/10/2015 17:40 | #


A tu mis la matrice ?
It's Show Time !!!
Mes Jeux :
- Street Fighter : Pour les accrocs du free-fight.
- Kirby's DreamLand : Gobe , Gobe , Gobe !!!
- L'invasion Seanchans : Détruit la flotte ennemis a bord du "Danseur des vagues".


< Le recoin du C-Engine >
Exagyde Hors ligne Membre Points: 86 Défis: 0 Message

Citer : Posté le 07/10/2015 19:22 | #


Sinon j'ai refait mon programme et ça donne ça :
5→X
5→Y
Do
For X=Y→A To 250 Step 1
Locate X,Y,"o"
RanInt#(-1,1)+X→X
RanInt#(-1,1)+Y→Y
Next
LpWhile Getkey≠31

Le seul problème et que les caractères se génèrent trop rapidement et il me renvoie erreur argument.
Suruq game Hors ligne Membre de CreativeCalc Points: 621 Défis: 20 Message

Citer : Posté le 07/10/2015 20:32 | #


je pense que les coordonne du perso se son retrouvé a être supérieur ou inférieur a 7 ou a 21 en Y et en X ce qui genere une erreur argument.
There is only one thing that makes a dream impossible to achieve : the fear of failure
Exagyde Hors ligne Membre Points: 86 Défis: 0 Message

Citer : Posté le 07/10/2015 20:50 | #


Comment donner un patern défini à un personnage ?
Exagyde Hors ligne Membre Points: 86 Défis: 0 Message

Citer : Posté le 07/10/2015 21:52 | # | Fichier joint


J'ai refais le programme, il marche très bien mail le seul problème est qu'il avance en diagonale et lorsqu'il dépasse l'écran, il me met erreur argument.
Mgl64200 Hors ligne Membre Points: 649 Défis: 0 Message

Citer : Posté le 07/10/2015 22:47 | #


Edit tes messages si le site ne le fait pas automatiquement. Il y a un bouton situé à côté de 'Citer', "Editer". Appuie sur ce dernier.
Toi t'es en train de lire ma signature là...
Dark storm Hors ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 07/10/2015 23:13 | #


Quand tu poste un fichier, la fusion ne s'applique pas
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Exagyde Hors ligne Membre Points: 86 Défis: 0 Message

Citer : Posté le 08/10/2015 07:26 | # | Fichier joint


J'ai refais le programme, il marche très bien mais le seul problème est qu'il avance en diagonale et lorsqu'il dépasse l'écran, il me met erreur argument.
Fife86 Hors ligne Membre Points: 830 Défis: 0 Message

Citer : Posté le 08/10/2015 08:25 | #


Pour mon programme il faut aussi rajouter les 6 premieres cases de la liste 26. Les erreur dimention viennent de la .
It's Show Time !!!
Mes Jeux :
- Street Fighter : Pour les accrocs du free-fight.
- Kirby's DreamLand : Gobe , Gobe , Gobe !!!
- L'invasion Seanchans : Détruit la flotte ennemis a bord du "Danseur des vagues".


< Le recoin du C-Engine >
Mgl64200 Hors ligne Membre Points: 649 Défis: 0 Message

Citer : Posté le 08/10/2015 15:31 | #


Dark storm a écrit :
Quand tu poste un fichier, la fusion ne s'applique pas


Ben, il le fait à la main, alors...
Toi t'es en train de lire ma signature là...

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 90 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