~ S'évader de la banalité... Et entrer dans l'imaginaire ! ~
 
AccueilGuelnika, le site de E-m !S'enregistrerConnexion

Répondre au sujet
Partagez | 
 

 [Résolu] Comparer des Variables

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1, 2
AuteurMessage
AlexRE
Admin trop trizo Lv 65
Admin trop trizo Lv 65


Nombre de messages : 29677

MessageSujet: Re: [Résolu] Comparer des Variables   Jeu 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
Falco
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
avatar

Nombre de messages : 13549
Age : 26

MessageSujet: Re: [Résolu] Comparer des Variables   Jeu 09 Oct 2008, 16:24

Ouep, m'enfin c'est bon, j'ai la technique.
C'était vraiment super facile, regardez nerd :

@Joke a écrit:

il y a d'autre méthodes mais la seule que j'ai utilisé jusqu'à maintenant c'est celle de la boucle radar

Le principe c'est de lancer une variable dans une boucle qui rétrécie de 1 à chaque tour de boucle, et à chaque tour de boucle on compare si elle devient égale à une des variables à comparer.

Tu as tes variables à contrôler, qui contiennent la valeur de la vitesse :

"vit h1"
"vit h2"
"vit h3"
"vit h4"

Tu as le bloc de variables où seront stockés les rangs :

"1er"
"2eme"
"3eme"
"4eme"

Attention, elles doivent se suivre : par exemple, les variables 201, 202, 203, 204.

Et deux variables qui orchestreront les comparaisons :
"valeur de contrôle", qui sera la variable lancée dans la boucle grandissant de tour en tour pour à chaque tour vérifier si elle devient égale à la valeur d'une des variables contrôlées

"variable à définir", qui stockera le numéro de la variable de rang, pour savoir si on doit définir le 1er rang, le 2eme, ou autre

Code:


modifier variable "valeur de contrôle" = 0

modifier variable "variable à définir" = numéro de la variable du classement le plus bas
(par exemple, si la variable la plus faible est stockée dans la variable "4eme" et que la
variable "4eme" est la variable n°104, on met 104.

modifier variables, de 101 à 104, = 0 (101 à 104 c'est toujours un nombre au pif, par exemple si la variable 1er est la 101eme, 2eme la 102eme, 4eme la 104eme variable)

BOUCLE :

condition : si variable "valeur de contrôle" = variable "vit h1"
  modifier variable : d'après la variable "variable à définir", rendre égal à 1
  modifier variable : "variable à définir" - 1
fin de condition

condition : si variable "valeur de contrôle" = variable "vit h2"
  modifier variable : d'après la variable "variable à définir", rendre égal à 2
  modifier variable : "variable à définir" - 1
fin de condition

condition : si variable "valeur de contrôle" = variable "vit h3"
  modifier variable : d'après la variable "variable à définir", rendre égal à 3
  modifier variable : "variable à définir" - 1
fin de condition

modifier variable : "valeur de contrôle" + 1

condition : si variable "valeur de contrôle" = variable "vit h4"
  modifier variable : d'après la variable "variable à définir", rendre égal à 4
  modifier variable : "variable à définir" - 1
fin de condition

condition : si variable "variable à définir" inférieur strict au numéro de la variable
du rang n°1 (on regarde c'est quoi son numéro, si la variable "1er" est la 101, on
met 101)
  sortir de la boucle
fin de condition

condition : si variable "valeur de contrôle" supérieur strict à 100 (la valeur maxi de vitesse)
  sortir de la boucle
fin de condition

FIN DE BOUCLE


C'est trop chaud à expliquer !!! O_o

par exemple, pour :

vit h1 = 25
vit h2 = 15
vit h3 = 30
vit h4 = 80

la boucle aura classé dans les variables définie par "variable à définir" :

1er = 4
2eme = 3
3eme = 1
4eme = 2

la seule fois qu'on définit la variable "variable à définir", on met le numéro du dernier rang, celui qui captera la plus petite variable, si la variable "4eme" est la numéro 58, on met 58

à chaque fois qu'une condition est remplie, on stock "1, 2, 3 ou 4" dans la variable définie par la variable "variable à définir" x) donc si c'est toujours 58 à l'intérieur de la variable "variable à définir", et que c'est la deuxième condition qui marche, on va faire "modifier variable pointée par "variable à définir" rendre égal à 2", ce qui fera que la variable n°58, donc la variable "4eme", prendra la valeur de 2. juste après on fait "modifier "variable à définir" soustraire 1", ça veut dire qu'à la prochaine condition remplie, ce sera plus la variable 58 qu'on changera mais la 57, c'est à dire "3eme"

d'où l'importance que les variables qui classent les variables soient en un groupe

et cette boucle elle n'a aucun "attendre", il faut surtout pas en mettre, ça fait pas lagger car la boucle à une fin proche, elle aura fait ses 100 tours en une fraction de seconde sans un moindre lag. et les conditions pour sortir de la boucle c'est : "si toute les variables de rangs ont été définie, donc si la variable "variable à définir" est inférieur au numéro de la variable "1er", et si la variable "valeur de contrôle" a atteint le maximum, si aucune variable ne risque d'excéder 99 par exemple car 99 c'est la limite de la caractéristique "vitesse", on fera la condition "si variable "valeur de contrôle" supérieur strict à 99"

c'est bien compliqué à expliqué mais c'est pourtant la méthode la plus simple à comprendre
il en existe d'autre, plus longue ou plus compliquée, celle ci est sympa

____________
"Listen now, you don't understand
That's not the point of Christmas land"
Revenir en haut Aller en bas
AlexRE
Admin trop trizo Lv 65
Admin trop trizo Lv 65
avatar

Nombre de messages : 29677
Age : 30

MessageSujet: Re: [Résolu] Comparer des Variables   Jeu 09 Oct 2008, 17:57

Super, une explication en bonne et due forme. cactus smile

Je pense que ça sera utile à plus d'un membre. Wink

Merci Falco (et Joke jv.com :noel: )

(je laisse ce topic ouvert encore un moment pour differents commentaires)

____________
@Relm a écrit:
Merci pour la confirmation Gary et fuck my life.
Revenir en haut Aller en bas
http://www.alexzone.net
Contenu sponsorisé




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

Revenir en haut Aller en bas
 
[Résolu] Comparer des Variables
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 2 sur 2Aller à la page : Précédent  1, 2

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