| [Résolu] Comparer des Variables | |
|
|
|
Auteur | Message |
---|
Falco Maker qui quitte vraiment E-m Lv 60
Nombre de messages : 13628 Age : 33
| Sujet: [Résolu] Comparer des Variables Mer 08 Oct 2008, 14:01 | |
| Hi,
Pour mon CBS, j'ai envie de faire comme à la Golden Sun. A chaque tour, tout les héros choisissent quoi faire, par exemple, une attaque, que le joueur aura choisit lui même.
Puis, à la fin du tour, un common évent va activer toutes les attaques préparés. Donc si le héro 1 aura choisit Attaque, il attaquera, si allié 3 choisit soin, il soignera, etc...
Par contre, j'aimerai savoir comment calculer qui sera le plus rapide, afin de savoir qui attaquera en premier, puis en deuxième etc...
Pour cela, j'ai plusieurs variables :
[Variable : Vitesse héro] [Variable : Vitesse héro 1] [Variable : Vitesse héro 2] [Variable : Vitesse héro 3]
Ainsi que la même chose pour les monstres.
C'est la que je bloque. Je sais pas trop comment m'y prendre. Savoir quelle variable est la plus grande, c'est simple, mais il faut aussi calculer le fait que si le personnage qui a la variable la plus grande à déjà utilisé son tour, il ne compte pas. Et la c'est autre chose...
J'espère que vous saurez m'aider.
Merci. ____________ "Listen now, you don't understand That's not the point of Christmas land"
| |
|
| |
Relm ---Fantôme--- Lv 0
Nombre de messages : 40942 Age : 33
| Sujet: Re: [Résolu] Comparer des Variables Mer 08 Oct 2008, 14:05 | |
| Utilise des switch. ____________ - Alex RE a écrit:
- C'est comme utiliser une hache pour trancher du pain. Je suis peut-être trop vieux pour ça.
| |
|
| |
Ccd-ToF Maker de Légende Lv 46
Nombre de messages : 3336 Age : 36
| Sujet: Re: [Résolu] Comparer des Variables Mer 08 Oct 2008, 14:18 | |
| Déja faut noter via la commande commentaires pour t'y retrouver. =P
Suffis de créer des switch (une par possibilité par perso), ça en fait mais c'est la seul idée que j'ai. Ensuite tu t'y retrouvera facilement vue que tu créra un event avec plusieurs pages, chaque page aura la commande exacte que tu veux enclencher ainsi que la switch "condition" pour qu'elle s'effectue...
C'est mal expliqué je sais, tu comprend ou ? =/ ^^' ____________ Le Temple de Valor, un site qui contient la plupart de mes créations ! | |
|
| |
Empty Mangeur de manettes Lv 65
Nombre de messages : 16363 Age : 38
| Sujet: Re: [Résolu] Comparer des Variables Mer 08 Oct 2008, 14:32 | |
| - Code:
-
OPTION BASE 1 vitesse_H1=0;vitesse_H2=0;vitesse_H3=0 DIM Tour_Heros(3) '// -- En admettant qu'il y ait 3 héros
FOR Tour_Heros 1 to 3 STEP 1 IF Tour_Heros(1) = "TRUE" then NEXT i ELSE IF Tour_Heros(1) = "FALSE" then '//---Ou "Tour_Heros /= "TRUE" (ça '//-----marche aussi^^) select case VITESSE CASE VITESSE < vitesse_H2 '// ----- Alors le héro 1 attaque second CASE VITESSE > vitesse_H2 '// -----Alors le héro 1 attaque avant le deux CASE ELSE '// -----C'est le héro 3 qui attaque en premier END SELECT END IF
Conclusion: - En basique (comme c'est le cas plus haut) même avec une programmation merdique comme celle que je viens de taper ce serait simple, en n'importe quel autre langage de programmation (excepté ASM et BF) aussi. Le truc c'est que RPG maker ne peut pas créer de "tableaux" ... C'est la merde Donc, le plus simple pour moi serait d'utiliser deux autres variables, de la sorte: - Une variable nommée "timing" qui s'incrémenterait par un processus parallèle. - Une variable nommée "Hero_N" (N pour Numéro) que tu rendrais égale à la valeur de la variable "Vitesse_Hero" la plus haut. En suite tu compares "Hero_N" à chaque variables "Vitesse_Hero" et celle qui a la plus haute comparé à "Hero_N" passe à l'action en premier C'est hyper pas clair je sais. Je pense que je ferai mieux de créer un mini projet vite fait pour te montrer mon idée ^^ Ps: Les switch ça fonctionnerait aussi mais tu devras recommencer à chaque fois que tu voudras ajouter/retirer un héro dans le groupe. Avec les variables l'avantage c'est que justement ... Elles sont variable | |
|
| |
Falco Maker qui quitte vraiment E-m Lv 60
Nombre de messages : 13628 Age : 33
| Sujet: Re: [Résolu] Comparer des Variables Mer 08 Oct 2008, 14:38 | |
| KoZzY : Je vois ton idée Par contre, on ne peut pas savoir si le héro qui a la variable la plus haute à déjà usé son tour ? - Citation :
Suffis de créer des switch (une par possibilité par perso), ça en fait mais c'est la seul idée que j'ai. Ensuite tu t'y retrouvera facilement vue que tu créra un event avec plusieurs pages, chaque page aura la commande exacte que tu veux enclencher ainsi que la switch "condition" pour qu'elle s'effectue...
C'est mal expliqué je sais, tu comprend ou ? =/ ^^' Je vois. mais avec ça impossible de savoir dans quel ordre vont s'effectuer les tours ? ^^" ____________ "Listen now, you don't understand That's not the point of Christmas land"
| |
|
| |
Empty Mangeur de manettes Lv 65
Nombre de messages : 16363 Age : 38
| Sujet: Re: [Résolu] Comparer des Variables Mer 08 Oct 2008, 14:41 | |
| En programmation avec une Booléenne ce serait vite réglé :p Les switchs dans Rm sont des sortes de booléennes donc il doit y avoir moyen avec une programmation un peu hasardeuse (fake) ... Je sais pas, j'essayerai ce soir si ma copine ne vient pas | |
|
| |
Ccd-ToF Maker de Légende Lv 46
Nombre de messages : 3336 Age : 36
| Sujet: Re: [Résolu] Comparer des Variables Mer 08 Oct 2008, 14:45 | |
| L'ordre est possible via un autre Event justement, m'enfin c'est compliqué. XD ____________ Le Temple de Valor, un site qui contient la plupart de mes créations ! | |
|
| |
Empty Mangeur de manettes Lv 65
Nombre de messages : 16363 Age : 38
| Sujet: Re: [Résolu] Comparer des Variables Mer 08 Oct 2008, 14:49 | |
| Encore une fois il n'y a pas de TABLEAUX sous RM.
Donc tu vas devoir te taper toute une programmation chiante du style:
<>SI Hero 1 et Hero 2 n'ont PAS attaqué ALORS Héro 3 attaque. <>SI Hero 1 et Hero 3 n'ont PAS attaqué ALORS Héro 2 attaque. <>SI Hero 2 et Hero 3 n'ont PAS attaqué ALORS Héro 1 attaque.
Tu peux remplacer les "n'ont pas attaqué" par une switch "attaque" sur "OFF" et "attaque" par cette même switch, mais sur "ON".
Enfin:
<> condition = [0001: Hero 1]="OFF" <> condition = [0002: Hero 2]="OFF" <>[0003: Hero 3]="ON" <> else <> condition = [0001: Hero 1]="OFF" <> condition = [0003: Hero 3]="OFF" <>[0002: Hero 2]="ON" <> else <> condition = [0003: Hero 3]="OFF" <> condition = [0002: Hero 2]="OFF" <>[0001: Hero 1]="ON" <> end Par exemple...
Dernière édition par KoZzY le Mer 08 Oct 2008, 14:53, édité 1 fois | |
|
| |
Ccd-ToF Maker de Légende Lv 46
Nombre de messages : 3336 Age : 36
| Sujet: Re: [Résolu] Comparer des Variables Mer 08 Oct 2008, 14:52 | |
| Oui, chaque action possible devra avoir une switch ou une variable... Une condition si le héros ne peux attaquer...
Ect... ____________ Le Temple de Valor, un site qui contient la plupart de mes créations ! | |
|
| |
Empty Mangeur de manettes Lv 65
Nombre de messages : 16363 Age : 38
| Sujet: Re: [Résolu] Comparer des Variables Mer 08 Oct 2008, 14:54 | |
| J'ai édité parce que j'avais fait une méga erreur :p | |
|
| |
Ccd-ToF Maker de Légende Lv 46
Nombre de messages : 3336 Age : 36
| Sujet: Re: [Résolu] Comparer des Variables Mer 08 Oct 2008, 14:57 | |
| Oui, c'est beaucoup mieu. XD
M'enfin bon, un CBS à la RPG avec pleins de monstres et de héros c'est super long a faire en tout cas.
J'en avais commencé un pour le concours mais je l'ai effacé car il laguais trop. >< ____________ Le Temple de Valor, un site qui contient la plupart de mes créations ! | |
|
| |
Relm ---Fantôme--- Lv 0
Nombre de messages : 40942 Age : 33
| Sujet: Re: [Résolu] Comparer des Variables Mer 08 Oct 2008, 16:39 | |
| C'est pas compliqué un système comme tel :
-Vérifier quel perso a la vitesse la plus haute -Lancer l'action qu'il doit faire (via un switch ou une variable) avec les condition de déclanchement. -Réduire à 0 sa variable de vitesse à la fin de l'action
ect...
Une condition au début de chaque tour vérifie si la var de vitesse n'est pas à 0. Si elle l'est le héro passe son tour. (Ca sera donc une programmation qui sera compatible avec des statuts comme "sommeil" ect...)
Quand tous les personnages et ennemis ont des var de vitesse = à 0 ça repasse aux selections de départ.
Conseil : évite si tu veux te simplifier la tache de faire des attaques qui baissent la vitesse d'un personnage au sein d'un même tour. ____________ - Alex RE a écrit:
- C'est comme utiliser une hache pour trancher du pain. Je suis peut-être trop vieux pour ça.
| |
|
| |
Falco Maker qui quitte vraiment E-m Lv 60
Nombre de messages : 13628 Age : 33
| Sujet: Re: [Résolu] Comparer des Variables Mer 08 Oct 2008, 16:46 | |
| Ouais mais le prob c'est que c'est chaud de vérifier qui a la vitesse la plus haute, et vérifier aussi que son tour n'est pas déjà passé. ____________ "Listen now, you don't understand That's not the point of Christmas land"
| |
|
| |
Relm ---Fantôme--- Lv 0
Nombre de messages : 40942 Age : 33
| Sujet: Re: [Résolu] Comparer des Variables Mer 08 Oct 2008, 16:52 | |
| Essaye cela => Décuple les variables dans des variable-stocker et soustrait les différentes vitesse entre elles pour obtenir l'ordre de passage des personnages et ennemis.
Tu garderas les variables de vitesse intactes. Tu pourras trouver quel est le plus rapide, ect...
Pour le tour déjà passé, je t'ai dit, baisse à 0 la variable de vitesse une fois l'action finie ou simplement fais un switch pour chaque persos/ennemis. ____________ - Alex RE a écrit:
- C'est comme utiliser une hache pour trancher du pain. Je suis peut-être trop vieux pour ça.
| |
|
| |
Falco Maker qui quitte vraiment E-m Lv 60
Nombre de messages : 13628 Age : 33
| Sujet: Re: [Résolu] Comparer des Variables Mer 08 Oct 2008, 19:09 | |
| - Citation :
- Essaye cela => Décuple les variables dans des
variable-stocker et soustrait les différentes vitesse entre elles pour obtenir l'ordre de passage des personnages et ennemis. Gné ? o_O ____________ "Listen now, you don't understand That's not the point of Christmas land"
| |
|
| |
Relm ---Fantôme--- Lv 0
Nombre de messages : 40942 Age : 33
| Sujet: Re: [Résolu] Comparer des Variables Mer 08 Oct 2008, 19:14 | |
| Imagine :
Var vitesse 1 = 50 Var vitesse 2 = 30 Var vitesse 3 10
Tu passe tous les nombres dans des variables de passage pour les modifier (afin de trouver qui est le plus rapide, ect) comme ça :
Var stocker A = Var vitesse 1 Var stocker B = Var vitesse 2 Var stocker C = Var vitesse 3
Tu fais tes calculs avec les Var stocker A,B,C. ____________ - Alex RE a écrit:
- C'est comme utiliser une hache pour trancher du pain. Je suis peut-être trop vieux pour ça.
| |
|
| |
coco Dieu Maker Lv 44
Nombre de messages : 2989 Age : 30
| Sujet: Re: [Résolu] Comparer des Variables Mer 08 Oct 2008, 19:36 | |
| Sinon, tu fais une boucle qui enlève un à chaque variable tous les dixièmes de secondes, avec une condition qui fait que dès que une variable est à 0 le perso attaque , puis ça continue pour les autres perso ( le perso ayant la variable la plus petite étant le plus rapide ) ____________ | |
|
| |
Falco Maker qui quitte vraiment E-m Lv 60
Nombre de messages : 13628 Age : 33
| Sujet: Re: [Résolu] Comparer des Variables Mer 08 Oct 2008, 19:44 | |
| J'y avait pensé Coco, mais imagine que un monstre es 500 de vitesse. Il va falloir attendre longtemps avant qu'il attaque Et moi perso j'aime bien que mes combats soient rapides ^^" En tout cas merci de votre aide, à vrai dire je crois que j'ai trouvé une méthode plus pratique, j'attends de voir si ça marche. ____________ "Listen now, you don't understand That's not the point of Christmas land"
Dernière édition par Falco le Mer 08 Oct 2008, 19:47, édité 1 fois | |
|
| |
coco Dieu Maker Lv 44
Nombre de messages : 2989 Age : 30
| Sujet: Re: [Résolu] Comparer des Variables Mer 08 Oct 2008, 19:46 | |
| Tu ne mes pas de monstre avec 500 100 pour les larves super lentes du combat d'initiation et pis c'est tout ____________ | |
|
| |
Falco Maker qui quitte vraiment E-m Lv 60
Nombre de messages : 13628 Age : 33
| Sujet: Re: [Résolu] Comparer des Variables Mer 08 Oct 2008, 19:51 | |
| Ouais, mais même 100 c'est long 10 dixièmes de secondes font une seconde. Pour en enlever 10 à la variable = 10 dixièmes de secondes = 1 secondes. Pour en enlever 100 = 10 secondes. (Normalement, j'ai toujours été une grosse brèle en Maths xD) C'est long 10 secondes à attendre devant un écran ou il se passe rien ^^" Au pire je pourrais afficher ça en pictures, mais je préférerais éviter les affichage en plus Edit : Si je réduit le nombre à soustraire de -2 par exemple, ça devrait être plus rapide ? ____________ "Listen now, you don't understand That's not the point of Christmas land"
| |
|
| |
coco Dieu Maker Lv 44
Nombre de messages : 2989 Age : 30
| Sujet: Re: [Résolu] Comparer des Variables Mer 08 Oct 2008, 19:57 | |
| Bah non, quand la variable atteint zéro, c'est reparti pour un tour (comme dans grandia) ____________ | |
|
| |
Relm ---Fantôme--- Lv 0
Nombre de messages : 40942 Age : 33
| Sujet: Re: [Résolu] Comparer des Variables Mer 08 Oct 2008, 20:13 | |
| Ca sert à rien de faire -2. Fais juste des vitesses entre 1 et 10.
De toute manière avec un système de soustraction toutes les 0.1 sec ton CBS va sûrement lagger. C'est une méthodes de barbare. : / ____________ - Alex RE a écrit:
- C'est comme utiliser une hache pour trancher du pain. Je suis peut-être trop vieux pour ça.
| |
|
| |
AlexRE Admin trop trizo Lv 65
Nombre de messages : 29934 Age : 37
| Sujet: Re: [Résolu] Comparer des Variables Jeu 09 Oct 2008, 14:52 | |
| Un ordinateur est largement capable de faire des soustractions toutes les 0.1 secondes. Cependant il faut éviter de le faire dans un évènement parallèle car l'accumulation de ce genre d'évènement risque de créer un lag. Le mieux serait de le faire dans une boucle dans un évènement automatique (c'est tellement rapide que ça devrait prendre a peine 1 seconde). Par contre, si tu veux faire un système d'ATB à la Final Fantasy, il te faut surement un évènement parallèle (quoi qu'il y a aussi des variations à ce niveau dans les FF). Dans ce cas là, fais en sorte d'activer cet évènement parallèle uniquement quand il doit se produire (s'il y a des phases du combat ou le "Temps" (ou la "Vitesse) ne doit pas bouger, fais en sorte de ne pas l'utiliser). Active-le le moins souvent possible, donc. En tout cas j'avais posé à peu près la même question y'a un an et je n'ai eu aucune réponse... Mais la méthode ci dessus (faire décroitre des variables) me parait correcte. ____________ - Relm a écrit:
- Merci pour la confirmation Gary et fuck my life.
| |
|
| |
Relm ---Fantôme--- Lv 0
Nombre de messages : 40942 Age : 33
| Sujet: Re: [Résolu] Comparer des Variables Jeu 09 Oct 2008, 14:57 | |
| ____________ - Alex RE a écrit:
- C'est comme utiliser une hache pour trancher du pain. Je suis peut-être trop vieux pour ça.
| |
|
| |
AlexRE Admin trop trizo Lv 65
Nombre de messages : 29934 Age : 37
| Sujet: Re: [Résolu] Comparer des Variables Jeu 09 Oct 2008, 15:02 | |
| C'est pas moi qui choisis ce que Falco veut faire. Pour les soustractions, j'ai déjà programmé des events qui nécessitaient de faire de nombreux calculs, et ça prenait toujours moins d'une seconde (et ne ramait pas chez les autres). En tout cas c'est sûr que ce serait débile de faire 10 waits de 0.1 secondes, il vaut largement mieux en faire une série de 0.2 ou 0.5... Après tout dépend de ce que tu veux programmer. ____________ - Relm a écrit:
- Merci pour la confirmation Gary et fuck my life.
| |
|
| |
Contenu sponsorisé
| Sujet: Re: [Résolu] Comparer des Variables | |
| |
|
| |
| [Résolu] Comparer des Variables | |
|