E-magination
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.


~ S'évader de la banalité... Et entrer dans l'imaginaire ! ~
 
AccueilGuelnika, le site de E-m !ChatDernières imagesS'enregistrerConnexion
Le Deal du moment :
Pokémon EV06 : où acheter le Bundle Lot ...
Voir le deal

 

 [Résolu] Comparer des Variables

Aller en bas 
+2
Relm
Falco
6 participants
Aller à la page : 1, 2  Suivant
AuteurMessage
Falco
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
Falco


Nombre de messages : 13628
Age : 32

[Résolu] Comparer des Variables Empty
MessageSujet: [Résolu] Comparer des Variables   [Résolu] Comparer des Variables Icon_minitimeMer 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.
Revenir en haut Aller en bas
Relm
---Fantôme--- Lv 0
Relm


Nombre de messages : 40936
Age : 33

[Résolu] Comparer des Variables Empty
MessageSujet: Re: [Résolu] Comparer des Variables   [Résolu] Comparer des Variables Icon_minitimeMer 08 Oct 2008, 14:05

Utilise des switch. jv.com :noel:
Revenir en haut Aller en bas
Ccd-ToF
Maker de Légende Lv 46
Maker de Légende Lv 46
Ccd-ToF


Nombre de messages : 3336
Age : 36

[Résolu] Comparer des Variables Empty
MessageSujet: Re: [Résolu] Comparer des Variables   [Résolu] Comparer des Variables Icon_minitimeMer 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 ? =/ ^^'
Revenir en haut Aller en bas
http://www.ccd-tof.com
Empty
Mangeur de manettes Lv 65
Mangeur de manettes Lv 65
Empty


Nombre de messages : 16363
Age : 38

[Résolu] Comparer des Variables Empty
MessageSujet: Re: [Résolu] Comparer des Variables   [Résolu] Comparer des Variables Icon_minitimeMer 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 Very Happy

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 Very Happy


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 Very Happy
Revenir en haut Aller en bas
https://e-magination.jeun.fr
Falco
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
Falco


Nombre de messages : 13628
Age : 32

[Résolu] Comparer des Variables Empty
MessageSujet: Re: [Résolu] Comparer des Variables   [Résolu] Comparer des Variables Icon_minitimeMer 08 Oct 2008, 14:38

KoZzY : Je vois ton idée Wink
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 ? ^^"
Revenir en haut Aller en bas
Empty
Mangeur de manettes Lv 65
Mangeur de manettes Lv 65
Empty


Nombre de messages : 16363
Age : 38

[Résolu] Comparer des Variables Empty
MessageSujet: Re: [Résolu] Comparer des Variables   [Résolu] Comparer des Variables Icon_minitimeMer 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 Very Happy
Revenir en haut Aller en bas
https://e-magination.jeun.fr
Ccd-ToF
Maker de Légende Lv 46
Maker de Légende Lv 46
Ccd-ToF


Nombre de messages : 3336
Age : 36

[Résolu] Comparer des Variables Empty
MessageSujet: Re: [Résolu] Comparer des Variables   [Résolu] Comparer des Variables Icon_minitimeMer 08 Oct 2008, 14:45

L'ordre est possible via un autre Event justement, m'enfin c'est compliqué. XD
Revenir en haut Aller en bas
http://www.ccd-tof.com
Empty
Mangeur de manettes Lv 65
Mangeur de manettes Lv 65
Empty


Nombre de messages : 16363
Age : 38

[Résolu] Comparer des Variables Empty
MessageSujet: Re: [Résolu] Comparer des Variables   [Résolu] Comparer des Variables Icon_minitimeMer 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
Revenir en haut Aller en bas
https://e-magination.jeun.fr
Ccd-ToF
Maker de Légende Lv 46
Maker de Légende Lv 46
Ccd-ToF


Nombre de messages : 3336
Age : 36

[Résolu] Comparer des Variables Empty
MessageSujet: Re: [Résolu] Comparer des Variables   [Résolu] Comparer des Variables Icon_minitimeMer 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...
Revenir en haut Aller en bas
http://www.ccd-tof.com
Empty
Mangeur de manettes Lv 65
Mangeur de manettes Lv 65
Empty


Nombre de messages : 16363
Age : 38

[Résolu] Comparer des Variables Empty
MessageSujet: Re: [Résolu] Comparer des Variables   [Résolu] Comparer des Variables Icon_minitimeMer 08 Oct 2008, 14:54

J'ai édité parce que j'avais fait une méga erreur :p
Revenir en haut Aller en bas
https://e-magination.jeun.fr
Ccd-ToF
Maker de Légende Lv 46
Maker de Légende Lv 46
Ccd-ToF


Nombre de messages : 3336
Age : 36

[Résolu] Comparer des Variables Empty
MessageSujet: Re: [Résolu] Comparer des Variables   [Résolu] Comparer des Variables Icon_minitimeMer 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. ><
Revenir en haut Aller en bas
http://www.ccd-tof.com
Relm
---Fantôme--- Lv 0
Relm


Nombre de messages : 40936
Age : 33

[Résolu] Comparer des Variables Empty
MessageSujet: Re: [Résolu] Comparer des Variables   [Résolu] Comparer des Variables Icon_minitimeMer 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.
Revenir en haut Aller en bas
Falco
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
Falco


Nombre de messages : 13628
Age : 32

[Résolu] Comparer des Variables Empty
MessageSujet: Re: [Résolu] Comparer des Variables   [Résolu] Comparer des Variables Icon_minitimeMer 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é.
Revenir en haut Aller en bas
Relm
---Fantôme--- Lv 0
Relm


Nombre de messages : 40936
Age : 33

[Résolu] Comparer des Variables Empty
MessageSujet: Re: [Résolu] Comparer des Variables   [Résolu] Comparer des Variables Icon_minitimeMer 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.
Revenir en haut Aller en bas
Falco
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
Falco


Nombre de messages : 13628
Age : 32

[Résolu] Comparer des Variables Empty
MessageSujet: Re: [Résolu] Comparer des Variables   [Résolu] Comparer des Variables Icon_minitimeMer 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
Revenir en haut Aller en bas
Relm
---Fantôme--- Lv 0
Relm


Nombre de messages : 40936
Age : 33

[Résolu] Comparer des Variables Empty
MessageSujet: Re: [Résolu] Comparer des Variables   [Résolu] Comparer des Variables Icon_minitimeMer 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.
Revenir en haut Aller en bas
coco
Dieu Maker Lv 44
Dieu Maker Lv 44
coco


Nombre de messages : 2989
Age : 30

[Résolu] Comparer des Variables Empty
MessageSujet: Re: [Résolu] Comparer des Variables   [Résolu] Comparer des Variables Icon_minitimeMer 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 Wink, puis ça continue pour les autres perso ( le perso ayant la variable la plus petite étant le plus rapide Nerdococo )

Nerd Sang
Revenir en haut Aller en bas
Falco
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
Falco


Nombre de messages : 13628
Age : 32

[Résolu] Comparer des Variables Empty
MessageSujet: Re: [Résolu] Comparer des Variables   [Résolu] Comparer des Variables Icon_minitimeMer 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 nerd

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.


Dernière édition par Falco le Mer 08 Oct 2008, 19:47, édité 1 fois
Revenir en haut Aller en bas
coco
Dieu Maker Lv 44
Dieu Maker Lv 44
coco


Nombre de messages : 2989
Age : 30

[Résolu] Comparer des Variables Empty
MessageSujet: Re: [Résolu] Comparer des Variables   [Résolu] Comparer des Variables Icon_minitimeMer 08 Oct 2008, 19:46

Tu ne mes pas de monstre avec 500 Nerdococo

100 pour les larves super lentes du combat d'initiation et pis c'est tout Nerd Sang
Revenir en haut Aller en bas
Falco
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
Falco


Nombre de messages : 13628
Age : 32

[Résolu] Comparer des Variables Empty
MessageSujet: Re: [Résolu] Comparer des Variables   [Résolu] Comparer des Variables Icon_minitimeMer 08 Oct 2008, 19:51

Ouais, mais même 100 c'est long Nerd Sang

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 Wink

Edit : Si je réduit le nombre à soustraire de -2 par exemple, ça devrait être plus rapide ?
Revenir en haut Aller en bas
coco
Dieu Maker Lv 44
Dieu Maker Lv 44
coco


Nombre de messages : 2989
Age : 30

[Résolu] Comparer des Variables Empty
MessageSujet: Re: [Résolu] Comparer des Variables   [Résolu] Comparer des Variables Icon_minitimeMer 08 Oct 2008, 19:57

Bah non, quand la variable atteint zéro, c'est reparti pour un tour (comme dans grandia)
Revenir en haut Aller en bas
Relm
---Fantôme--- Lv 0
Relm


Nombre de messages : 40936
Age : 33

[Résolu] Comparer des Variables Empty
MessageSujet: Re: [Résolu] Comparer des Variables   [Résolu] Comparer des Variables Icon_minitimeMer 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. : /
Revenir en haut Aller en bas
AlexRE
Admin trop trizo Lv 65
Admin trop trizo Lv 65
AlexRE


Nombre de messages : 29928
Age : 37

[Résolu] Comparer des Variables Empty
MessageSujet: Re: [Résolu] Comparer des Variables   [Résolu] Comparer des Variables Icon_minitimeJeu 09 Oct 2008, 14:52

Un ordinateur est largement capable de faire des soustractions toutes les 0.1 secondes. nerd

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... nerd

Mais la méthode ci dessus (faire décroitre des variables) me parait correcte.
Revenir en haut Aller en bas
http://www.alexzone.net
Relm
---Fantôme--- Lv 0
Relm


Nombre de messages : 40936
Age : 33

[Résolu] Comparer des Variables Empty
MessageSujet: Re: [Résolu] Comparer des Variables   [Résolu] Comparer des Variables Icon_minitimeJeu 09 Oct 2008, 14:57

Alex RoiEsper a écrit:
Un ordinateur est largement capable de faire des soustractions toutes les 0.1 secondes. nerd
Oui, mais pas RPG maker. nerd

Alex RoiEsper a écrit:

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).

Mais à ce moment là pourquoi pas utiliser l'ATB de base de RM ??? Alex et ses smileys Pourquoi pas programmer les déplacements du héros sur les maps aussi au lieu de prendre ce qui est déjà fait ? Alex et ses smileys Alex et ses smileys
Revenir en haut Aller en bas
AlexRE
Admin trop trizo Lv 65
Admin trop trizo Lv 65
AlexRE


Nombre de messages : 29928
Age : 37

[Résolu] Comparer des Variables Empty
MessageSujet: Re: [Résolu] Comparer des Variables   [Résolu] Comparer des Variables Icon_minitimeJeu 09 Oct 2008, 15:02

C'est pas moi qui choisis ce que Falco veut faire. Wink

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. Wink
Revenir en haut Aller en bas
http://www.alexzone.net
Contenu sponsorisé





[Résolu] Comparer des Variables Empty
MessageSujet: Re: [Résolu] Comparer des Variables   [Résolu] Comparer des Variables Icon_minitime

Revenir en haut Aller en bas
 
[Résolu] Comparer des Variables
Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» [Résolu!] Calculer le resultat de deux variables dans une seule
» Les variables
» [Résolu] Help.
» [FRQ] Zoom sur les Variables Supplémentaires
» Comment afficher une fenêtre et des variables en script

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
E-magination :: ~ Forums d'enrichissement ~ :: Apprentissage et partage :: RPG Maker 2K & 2K3 :: Entre aides-
Sauter vers: