Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -20%
Drone Dji DJI Mini 4K (EU)
Voir le deal
239 €

 

 [résolu]fonction, condition

Aller en bas 
3 participants
AuteurMessage
dominouche
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
dominouche


Nombre de messages : 145

Age : 68

Localisation : Olonne sur mer, Vendée

Date d'inscription : 19/04/2016


[résolu]fonction, condition Empty
MessageSujet: [résolu]fonction, condition   [résolu]fonction, condition EmptyDim 24 Juil 2016 - 18:04

Bonjour,

grace à  Ariann et le module Dragdrop, j'ai réussi à mettre en place une énigme.

[résolu]fonction, condition Captur11

Le joueur devra mettre en place les images d'oiseaux sur le nom correspondant, si l'ordre est bon, cela déclenchera un texte ou un évènement.
J'ai beau chercher dans les tutoriels et les forums, je ne trouve pas comment faire.
Dois-je mettre sur les noms un hotspots, une région ???
Comment créer la condition pour déclencher la suite.

Je ne suis pas encore très doué, mais je persévère!!!

Merci pour votre aide.


Dernière édition par dominouhe le Mar 26 Juil 2016 - 6:47, édité 1 fois
Revenir en haut Aller en bas
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


[résolu]fonction, condition Empty
MessageSujet: Re: [résolu]fonction, condition   [résolu]fonction, condition EmptyLun 25 Juil 2016 - 3:32

Salut dominouhe,

Voilà un proposition :

  1. Dans ta pièce, dessine pour chaque case une région spécifique correspondant à la zone dans laquelle devra se trouver le coin bas-gauche de chaque image (idéalement ce serait juste un point, mais les joueur.se.s ne seront probablement pas si précis.es)
  2. Dans la fonction repeatedly_execute du module Dragdrop, insère une ligne avec l'instruction CallRoomScript(0); en dessous de dragdrop.isDragging = false;
  3. Dans le script de ta pièce, insère le code suivant :
    Code:
    function on_call (int valeur) {
      if (valeur == 0) {
        if (Region.GetAtRoomXY(oChevalierGambette.X, oChevalierGambette.Y) == region[1] &&
            Region.GetAtRoomXY(oMouetteRieuse.X, oMouetteRieuse.Y) == region[2] &&
            Region.GetAtRoomXY(oAigrette.X, oAigrette.Y) == region[3] &&
            Region.GetAtRoomXY(oAvocette.X, oAvocette.Y) == region[4] &&
            Region.GetAtRoomXY(oHeron.X, oHeron.Y) == region[5] &&
            Region.GetAtRoomXY(oEchasseBlanche.X, oEchasseBlanche.Y) == region[6]) {
        
          // Le code que tu veux exécuter lorsque le placement est bon

        }
      }
    }



Tu auras compris que j'ai supposé certains noms pour tes images-objets, mais c'est à toi d'adapter avec les noms que tu leur as vraiment donnés. Même chose pour les numéros de région que j'ai assignés de gauche à droite et de haut en bas.

_________________
Ga is Ga
Vous pouvez consulter l'aide d'AGS 3.2 en français et contribuer à la traduction et à l'amélioration si le cœur vous en dit !
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
dominouche
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
dominouche


Nombre de messages : 145

Age : 68

Localisation : Olonne sur mer, Vendée

Date d'inscription : 19/04/2016


[résolu]fonction, condition Empty
MessageSujet: Re: [résolu]fonction, condition   [résolu]fonction, condition EmptyLun 25 Juil 2016 - 9:42

Super, merci Kitai  [résolu]fonction, condition 1181541269 (et en plus tu connais bien les oiseaux des marais), je ne risquais pas trouver tout seul.

Que peux tu me conseiller pour apprendre mieux cette programmation?


Dernière édition par dominouhe le Lun 25 Juil 2016 - 17:17, édité 1 fois
Revenir en haut Aller en bas
dominouche
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
dominouche


Nombre de messages : 145

Age : 68

Localisation : Olonne sur mer, Vendée

Date d'inscription : 19/04/2016


[résolu]fonction, condition Empty
MessageSujet: Re: [résolu]fonction, condition   [résolu]fonction, condition EmptyLun 25 Juil 2016 - 10:07

Ce n'est pas possible !!! triste
Maintenant j'ai une erreur avec "else".
Code:
// room script file
                   function on_call (int valeur){
          if (valeur == 0) {
            if (Region.GetAtRoomXY(oChevalierGambette.X, oChevalierGambette.Y) == region[1] &&
                Region.GetAtRoomXY(oMouetteRieuse.X, oMouetteRieuse.Y) == region[2] &&
                Region.GetAtRoomXY(oAigrette.X, oAigrette.Y) == region[3] &&
                Region.GetAtRoomXY(oAvocette.X, oAvocette.Y) == region[4] &&
                Region.GetAtRoomXY(oHeron.X, oHeron.Y) == region[5] &&
                Region.GetAtRoomXY(oEchasseBlanche.X, oEchasseBlanche.Y) == region[6]) {
            
              // Le code à exécuter lorsque le classement est bon
                Display ("Bravo le classement est bon!");
                
                 // Le code à exécuter lorsque le classement n'est pas bon
              else {
                Display ("Désolé il y a au moins une erreur dans le classement!");
              }
             }
          }
        }
        
                    
Failed to save room room1.crm; details below
room1.asc(15): Error (line 15): PE04: parse error at 'else'

Je commence à ne plus avoir de cheveux à force de me les arracher!!!!
Revenir en haut Aller en bas
Billbis
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
Billbis


Nombre de messages : 1346

Date d'inscription : 10/05/2012


[résolu]fonction, condition Empty
MessageSujet: Re: [résolu]fonction, condition   [résolu]fonction, condition EmptyLun 25 Juil 2016 - 10:25

Bin compte tes "}" aussi, tu auras moins d’erreurs ! clin d'oeil Il en manque une ou deux avant le else.

_________________
Mon petit DevBlog
Revenir en haut Aller en bas
http://nothingaboutthedog.blogspot.fr/
dominouche
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
dominouche


Nombre de messages : 145

Age : 68

Localisation : Olonne sur mer, Vendée

Date d'inscription : 19/04/2016


[résolu]fonction, condition Empty
MessageSujet: Re: [résolu]fonction, condition   [résolu]fonction, condition EmptyLun 25 Juil 2016 - 10:42

Si je met ça:
Code:
// room script file
                   function on_call (int valeur){
          if (valeur == 0) {
            if (Region.GetAtRoomXY(oChevalierGambette.X, oChevalierGambette.Y) == region[1] &&
                Region.GetAtRoomXY(oMouetteRieuse.X, oMouetteRieuse.Y) == region[2] &&
                Region.GetAtRoomXY(oAigrette.X, oAigrette.Y) == region[3] &&
                Region.GetAtRoomXY(oAvocette.X, oAvocette.Y) == region[4] &&
                Region.GetAtRoomXY(oHeron.X, oHeron.Y) == region[5] &&
                Region.GetAtRoomXY(oEchasseBlanche.X, oEchasseBlanche.Y) == region[6]) {
            
              // Le code à exécuter lorsque le classement est bon
                Display ("Bravo le classement est bon!");
                
              
             }
          }
        }
        
                    

ça fonctionne.

Si je rajoute else:

Code:
// room script file
                   function on_call (int valeur){
          if (valeur == 0) {
            if (Region.GetAtRoomXY(oChevalierGambette.X, oChevalierGambette.Y) == region[1] &&
                Region.GetAtRoomXY(oMouetteRieuse.X, oMouetteRieuse.Y) == region[2] &&
                Region.GetAtRoomXY(oAigrette.X, oAigrette.Y) == region[3] &&
                Region.GetAtRoomXY(oAvocette.X, oAvocette.Y) == region[4] &&
                Region.GetAtRoomXY(oHeron.X, oHeron.Y) == region[5] &&
                Region.GetAtRoomXY(oEchasseBlanche.X, oEchasseBlanche.Y) == region[6]) {
            
              // Le code à exécuter lorsque le classement est bon
                Display ("Bravo le classement est bon!");
                
                 // Le code à exécuter lorsque le classement n'est pas bon
              else {
                Display ("Désolé il y a au moins une erreur dans le classement!");
              }
             }
          }
        }
        
                    

erreur !!!

Je ne vois pas où il manque des }
Revenir en haut Aller en bas
Billbis
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
Billbis


Nombre de messages : 1346

Date d'inscription : 10/05/2012


[résolu]fonction, condition Empty
MessageSujet: Re: [résolu]fonction, condition   [résolu]fonction, condition EmptyLun 25 Juil 2016 - 11:05

Juste avant le else.
La structure, c'est:
Code:
if (condition) {
   // des trucs
} else {
   // d'autres trucs
}

_________________
Mon petit DevBlog


Dernière édition par Billbis le Lun 25 Juil 2016 - 13:02, édité 1 fois
Revenir en haut Aller en bas
http://nothingaboutthedog.blogspot.fr/
dominouche
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
dominouche


Nombre de messages : 145

Age : 68

Localisation : Olonne sur mer, Vendée

Date d'inscription : 19/04/2016


[résolu]fonction, condition Empty
MessageSujet: Re: [résolu]fonction, condition   [résolu]fonction, condition EmptyLun 25 Juil 2016 - 11:35

Merci Billbis, c'était pourtant simple !!!!

Serait il possible que le message "Désolé il y a au moins une erreur dans le classement!", n’apparaisse que lorsque les 6 images sont en place, car pour l'instant le message s'affiche après le déplacement de chaque "objet"?


Dernière édition par dominouhe le Lun 25 Juil 2016 - 17:18, édité 1 fois
Revenir en haut Aller en bas
dominouche
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
dominouche


Nombre de messages : 145

Age : 68

Localisation : Olonne sur mer, Vendée

Date d'inscription : 19/04/2016


[résolu]fonction, condition Empty
MessageSujet: Re: [résolu]fonction, condition   [résolu]fonction, condition EmptyLun 25 Juil 2016 - 16:53

Voia ce que j'ai trouvé comme solution, y a t'il quelque chose de plus simple?

Code:
       // room script file
                           function on_call (int valeur){
                  if (valeur == 0) {
                    if (Region.GetAtRoomXY(oChevalierGambette.X, oChevalierGambette.Y) == region[1] &&
                        Region.GetAtRoomXY(oMouetteRieuse.X, oMouetteRieuse.Y) == region[2] &&
                        Region.GetAtRoomXY(oAigrette.X, oAigrette.Y) == region[3] &&
                        Region.GetAtRoomXY(oAvocette.X, oAvocette.Y) == region[4] &&
                        Region.GetAtRoomXY(oHeron.X, oHeron.Y) == region[5] &&
                        Region.GetAtRoomXY(oEchasseBlanche.X, oEchasseBlanche.Y) == region[6]) {
                    
                      // Le code à exécuter lorsque le classement est bon
                        Display ("Bravo le classement est bon!");
                        }
                         // Le code à exécuter lorsque le classement n'est pas bon
                      else if ( oChevalierGambette.X >441 &&
                                oMouetteRieuse.X >441 &&
                                oAigrette.X >441 &&
                                oAvocette.X >411 &&
                                oHeron.X >411 &&
                                oEchasseBlanche.X){
                        
                        Display ("désolé il y a au moins une erreur dans le classement!");                      
                     }
                  }
                }
                
                            
Revenir en haut Aller en bas
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


[résolu]fonction, condition Empty
MessageSujet: Re: [résolu]fonction, condition   [résolu]fonction, condition EmptyLun 25 Juil 2016 - 21:46

dominouhe a écrit:
Voia ce que j'ai trouvé comme solution, y a t'il quelque chose de plus simple?
Plus simple je sais pas, mais ce qui suit est je pense plus "propre", plus proche de ce que tu recherches :
Code:
// room script file
function on_call (int valeur){
  if (valeur == 0) {
    // On récupère la région sous chaque image
    Region* rChevalierGambette = Region.GetAtRoomXY(oChevalierGambette.X, oChevalierGambette.Y),
            rMouetteRieuse = Region.GetAtRoomXY(oMouetteRieuse.X, oMouetteRieuse.Y),
            rAigrette = Region.GetAtRoomXY(oAigrette.X, oAigrette.Y),
            rAvocette = Region.GetAtRoomXY(oAvocette.X, oAvocette.Y),
            rHeron = Region.GetAtRoomXY(oHeron.X, oHeron.Y),
            rEchasseBlanche = Region.GetAtRoomXY(oEchasseBlanche.X, oEchasseBlanche.Y);

    // Si toutes les images ont été placées sur une région...
    if (rChevalierGambette != region[0] && rMouetteRieuse != region[0] &&
        rAigrette != region[0] && rAvocette != region[0] &&
        rHeron != region[0] && rEchasseBlanche != region[0]) {

      // Si chaque image est placée sur sa région...
      if (rChevalierGambette == region[1] && rMouetteRieuse == region[2] &&
          rAigrette == region[3] && rAvocette == region[4] &&
          rHeron == region[5] && rEchasseBlanche == region[6]) {
      
        Display ("Bravo le classement est bon!");

      }
    
      // Sinon, il y a au moins deux images qui sont mal placées (car il ne peut pas y en avoir une seule)
      else {

        Display ("désolé il y a au moins une erreur dans le classement!");

      }
    }
  }
}

_________________
Ga is Ga
Vous pouvez consulter l'aide d'AGS 3.2 en français et contribuer à la traduction et à l'amélioration si le cœur vous en dit !
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
dominouche
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
dominouche


Nombre de messages : 145

Age : 68

Localisation : Olonne sur mer, Vendée

Date d'inscription : 19/04/2016


[résolu]fonction, condition Empty
MessageSujet: Re: [résolu]fonction, condition   [résolu]fonction, condition EmptyMar 26 Juil 2016 - 6:36

Merci Kitai.

Recupérer les régions: J'ai encore appris quelque chose!

Citation :
/ Sinon, il y a au moins deux images qui sont mal placées (car il ne peut pas y en avoir une seule)
Mais oui bien sur, je n'y avait pas pensé.
Revenir en haut Aller en bas
Contenu sponsorisé





[résolu]fonction, condition Empty
MessageSujet: Re: [résolu]fonction, condition   [résolu]fonction, condition Empty

Revenir en haut Aller en bas
 
[résolu]fonction, condition
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Script condition ?
» double condition
» commande Wait-Condition
» Condition [Si objet possédé] & Walk to hotSpot ?!
» [résolu] Comment faire une condition négative (point d'exclamation)

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Adventure Games Studio fr :: CREATION DE JEUX :: Questions / Réponses-
Sauter vers: