FAQRechercherPortailAccueilAccueilForumPraline au mielS'enregistrerConnexionMembres


Partagez
 

 Vérifier des variables avec un interrupteur

Aller en bas 
AuteurMessage
Hellper

Hellper

Messages : 179


Vérifier des variables avec un interrupteur Empty
MessageSujet: Vérifier des variables avec un interrupteur   Vérifier des variables avec un interrupteur Icon_minitimeMar 4 Jan - 21:42

Note : Ce tutoriel fonctionne à la fois avec 2k, 2K3, XP et VX. Mais il vous sera surement plus utile avec 2K et 2k3 qui utilisent plus de programmation évènementielle.
Notebis : Ce tutoriel nécessite un minimum de connaissance en programmation évènementielle ou vous risquez de ne pas le comprendre.

Imaginons que vous fassiez un rpg pouvant accepter jusqu'à six héros dans l'équipe. Pour cela, vous êtes obligé de passer outre le système d'équipe de base puisque limité à 4 héros. Vous décidez alors d'utiliser un système de variable utilisant l'identifiant du héros de cette manière :

Code:
Vhéros1 = Idhéros
Vhéros2 = Idhéros
Vhéros3 = Idhéros
Vhéros4 = Idhéros
Vhéros5 = Idhéros
Vhéros6 = Idhéros
Note : Idhéros correspond à chaque fois à l'identifiant d'un héros différent.Maintenant, si vous voulez vérifier la présence d'un héros, vous devrez faire un code ressemblant à peu près à ceci :

Code:
Si Vhéros1 = IdX (pour un Id donné)
  Faire action1 (ce que vous faîtes s'il est là)
Sinon
  Si Vhéros2 = IdX
    Faire action1
  Sinon
    Si Vhéros3 = IdX
      Faire action1
    Sinon
      Si Vhéros4 = IdX
        Faire action1
      Sinon
          Si Vhéros5 = IdX
        Faire action1
        Sinon
            Si Vhéros6 = IdX
          Faire action1
          Sinon
            Faire action2 (ce que vous faîtes s'il n'est pas là)

Vous avez là un code de 19 lignes. Si vous le faîtes pour 3 héros et en admettant que le code Faire action1 et faire action2 prenne 5 ligne, ce qui est peu, ce la vous fait donc un total de 153 lignes. Et si dans Faire action1, vous vérifiez la présence d'un autre héros, c'est de l'ordre de900 à 1000 lignes, voire plus.

Le problème de ce code de vérification est qu'il n'est pas universel et doit être géré au cas par cas. Maintenant, je vais vous montrer comment simplifier efficacement ce code en utilisant le vérification par interrupteur. Je m'explique. Dans ce cas là, nous devons vérifier si un héros est dans une situation parmi les deux possible, c'est-à-dire :
- Soit il est présent.
- Soit il est absent.
Il est donc intéressant d'utiliser un interrupteur en faisant l'association désactivé/absent et activé/présent.

Maintenant, passons au code :
Tout d'abord, "créez" une variable, un interrupteur et un event commun activé par appel que vous nommez comme vous voulez. Ici, je les nommerai Vid, Intverif et Eventcom. L'event commun contiendra la partie principale du code. Mais avant, voici le code à placer pour vérifier :

Code:
Vid =IdX (toujours pour un Id donné.)
Appeller un event commun : Eventcom
Si Intverif est activé
  Faire action1
Sinon
  Faire action2
Vous noterez que l'utilisation de la variable pour l'Id sert à la fois à garder la donnée pour Eventcom mais aussi à le rendre plus souple.

Voici ensuite le code à mettre dans Eventcom :

Code:
Désactiver Intverif
Si Vhéros1 = Vid
Activer Intverif
Si Vhéros2 = Vid
Activer Intverif
Si Vhéros3 = Vid
Activer Intverif
Si Vhéros4 = Vid
Activer Intverif
Si Vhéros5 = Vid
Activer Intverif
Si Vhéros6 = Vid
Activer Intverif
Vous noterez que l'interrupteur doit être désactivé pour mettre le cas absent par défaut, c'est-à-dire qu'il est absent si aucune des condition qui suit ne marche c'est-à-dire s'il n'est pas présent.
Ce qui nous fait donc un total de 6 lignes de base, soit en reprenant les 3 vérifications et les 5 lignes pour Faire action1 et Faire action2 un total de 42 lignes, soit un 111 lignes économisées.

Et vous pouvez enregistrer le position du héros dans un variable Vplace en rajoutant 6 lignes de code pour obtenir :
Code:
Désactiver Intverif
Si Vhéros1 = Vid
Activer Intverif
Vplace=1
Si Vhéros2 = Vid
Activer Intverif
Vplace=2
Si Vhéros3 = Vid
Activer Intverif
Vplace=3
Si Vhéros4 = Vid
Activer Intverif
Vplace=4
Si Vhéros5 = Vid
Activer Intverif
Vplace=5
Si Vhéros6 = Vid
Activer Intverif
Vplace=6

Et voilà, c'est fini. N'hésitez pas à poser des question.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Xnqıq

Xnqıq

Messages : 2959


Vérifier des variables avec un interrupteur Empty
MessageSujet: Re: Vérifier des variables avec un interrupteur   Vérifier des variables avec un interrupteur Icon_minitimeMar 4 Jan - 21:51

Citation :
42 lignes, soit un 111 lignes économisées.
Rien que pour ces deux chiffres ultra-fieu, j'aime ce tuto science


Bon alors sinon je dois avouer que ce ne doit pas être très clair pour les débutants, bien que le tuto ne leur est peut être pas destiné science
Outre cela, rien à redire, c'est bien expliqué, fonctionnel, et pratique même s'il s'agit d'un tutoriel pour un cas assez particulier de système.
(bien qu'il puisse être reporter et adapté pour d'autres systèmes similaires science)

Bref merci pour ce tuto, ça peut être très pratique Clin d\'oeil


oui alors euh passez une bonne journée ok
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Hellper

Hellper

Messages : 179


Vérifier des variables avec un interrupteur Empty
MessageSujet: Re: Vérifier des variables avec un interrupteur   Vérifier des variables avec un interrupteur Icon_minitimeMar 4 Jan - 23:03

En fait, ce tuto sert à la fois de simplification pour losqu'on doit vérifier la même valeur dans plusieurs variables. Mais c'est aussi pour montrer une autre façon de programmer. On peut d'ailleurs lier l'utilisation de l'évent commun à celui de l'appel de fonction du ruby (ou d'autres langage informatiques). C'est donc aussi intéressant pour ceux qui voudraient s'améliorer en programmation.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




Vérifier des variables avec un interrupteur Empty
MessageSujet: Re: Vérifier des variables avec un interrupteur   Vérifier des variables avec un interrupteur Icon_minitime

Revenir en haut Aller en bas
 
Vérifier des variables avec un interrupteur
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» j ai des souci , je debute depuis ce jour avec linux fedora
» probleme avec les cellules d'excel sur la mise en forme
» [Résolu] Problème avec psg tv
» [Résolu] pble multiples avec avira
» Êtes vous multi-profils avec vos navigateur ?

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker Détente :: Entrepôt :: Tutos :: Tutos 2k3-
Sauter vers: