Posté le 05/10/2015 18:47
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 234 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 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
- Kirby's DreamLand : Gobe , Gobe , Gobe !!!
- L'invasion Seanchans : Détruit la flotte ennemis a bord du "Danseur des vagues".
Citer : Posté le 06/10/2015 20:13 | #
L'habitude du C ?
Stick hero
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.
Citer : Posté le 07/10/2015 07:01 | #
Nan C++
- Kirby's DreamLand : Gobe , Gobe , Gobe !!!
- L'invasion Seanchans : Détruit la flotte ennemis a bord du "Danseur des vagues".
Citer : Posté le 07/10/2015 07:04 | #
Si tu as fais ça :
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→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 ?
Stick hero
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.
- Kirby's DreamLand : Gobe , Gobe , Gobe !!!
- L'invasion Seanchans : Détruit la flotte ennemis a bord du "Danseur des vagues".
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.
Citer : Posté le 07/10/2015 14:18 | #
Normalement il marche car j'ai une graph 35+ que j'ai ugrade.
- Kirby's DreamLand : Gobe , Gobe , Gobe !!!
- L'invasion Seanchans : Détruit la flotte ennemis a bord du "Danseur des vagues".
Citer : Posté le 07/10/2015 14:24 | #
Peux-t-on simplifier le programme pour le mouvement du caractère ?
Citer : Posté le 07/10/2015 14:46 | #
Avant de simplifier, tentes déjà de le faire marcher !
Citer : Posté le 07/10/2015 15:18 | #
Le programme de Fife86 me renvoie erreur de dimension.
Citer : Posté le 07/10/2015 17:40 | #
A tu mis la matrice ?
- Kirby's DreamLand : Gobe , Gobe , Gobe !!!
- L'invasion Seanchans : Détruit la flotte ennemis a bord du "Danseur des vagues".
Citer : Posté le 07/10/2015 19:22 | #
Sinon j'ai refait mon programme et ça donne ça :
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.
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.
Citer : Posté le 07/10/2015 20:50 | #
Comment donner un patern défini à un personnage ?
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.
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.
Citer : Posté le 07/10/2015 23:13 | #
Quand tu poste un fichier, la fusion ne s'applique pas
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.
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 .
- Kirby's DreamLand : Gobe , Gobe , Gobe !!!
- L'invasion Seanchans : Détruit la flotte ennemis a bord du "Danseur des vagues".
Citer : Posté le 08/10/2015 15:31 | #
Quand tu poste un fichier, la fusion ne s'applique pas
Ben, il le fait à la main, alors...