| Test si variable a une valeur | |
|
|
Auteur | Message |
---|
Nickeau Utilisateur confirmé: Rang *
Messages : 175 Projet Actuel : Cruma Forest
| Sujet: Test si variable a une valeur Dim 12 Mai 2013 - 17:45 | |
| Hello, Surement ma dernière question (et accessoirement une des plus débutante) avant la publication de mon jeux truc. Existe t'il une commande pour savoir si une variable a un valeur ?
Je pensais tout bêtement faire ceci, si "i" n'a pas de valeur, je lui file 50 mais non :s if i=false i=50
Merci |
|
| |
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Test si variable a une valeur Dim 12 Mai 2013 - 17:53 | |
| |
|
| |
Nickeau Utilisateur confirmé: Rang *
Messages : 175 Projet Actuel : Cruma Forest
| Sujet: Re: Test si variable a une valeur Dim 12 Mai 2013 - 17:58 | |
| Thx, pour GM Studio c'est une commande obsolète mais si ça marche tant mieux ! |
|
| |
Nickeau Utilisateur confirmé: Rang *
Messages : 175 Projet Actuel : Cruma Forest
| Sujet: Re: Test si variable a une valeur Dim 12 Mai 2013 - 18:01 | |
| ha m** j'ai parlé trop vite, obsolète veut que dire ça n'existe mm plus sous GM Studio ... je voyais plutôt ça comme "déconseillée" ... |
|
| |
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Test si variable a une valeur Dim 12 Mai 2013 - 18:02 | |
| Justement j'ai jamais compris si les commandes obsolètes fonctionnaient toujours sous GMS. Ça a l'air? Edit: Ah, ok .... x) Donc ça va je rageais pas pour rien comparé a ce que certains voulaient me faire croire |
|
| |
Nickeau Utilisateur confirmé: Rang *
Messages : 175 Projet Actuel : Cruma Forest
| Sujet: Re: Test si variable a une valeur Dim 12 Mai 2013 - 18:03 | |
| Non, la commande n'est pas reconnue ... et ce qui est bien avec GM Studio c'est qu'ils te filent aucun indice pour trouver un équivalent ... |
|
| |
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Test si variable a une valeur Dim 12 Mai 2013 - 18:13 | |
| Normal la y a plus d'équivalent x)
|
|
| |
Nickeau Utilisateur confirmé: Rang *
Messages : 175 Projet Actuel : Cruma Forest
| Sujet: Re: Test si variable a une valeur Dim 12 Mai 2013 - 18:29 | |
| Greux, je vais passer outre en attendant de trouver l'équivalent ... |
|
| |
Nickeau Utilisateur confirmé: Rang *
Messages : 175 Projet Actuel : Cruma Forest
| Sujet: Re: Test si variable a une valeur Dim 12 Mai 2013 - 19:29 | |
| |
|
| |
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Test si variable a une valeur Dim 12 Mai 2013 - 19:43 | |
| Normal, c'est du C. Ce que tu peux faire c'est définir une valeur qui indique que la variable est vide. Par exemple -1 si ta variable doit contenir des valeurs positives.
Tu la déclare dans le create de ton objet: mavar = -1
Et tu vérifie qu'elle existe quand il le faudra: if(mavar == -1) { mavar = mavaleurdelamortmillemille }
|
|
| |
Nickeau Utilisateur confirmé: Rang *
Messages : 175 Projet Actuel : Cruma Forest
| Sujet: Re: Test si variable a une valeur Dim 12 Mai 2013 - 19:51 | |
| En fait c'est un peu tordu. A la création de la room se trouve un objet Chronomètre dans son create : chrono=0 A la création de la room se trouvent aussi des ennemis (présent dès la création de la room) , leur HP dépend du chrono hp = 100 + 5*chrono mais à la création c'est comme si l'ennemi se créé un temps infime juste avant le chronomètre donc chrono n'a pas de valeur et plante le jeu. Ya 150 façon de contourner le pb, la plus simple serait de faire apparaître les ennemis au minimum 1 step après le début de la room mais je trouve ça foireux, j'aurais vraiment voulu une méthode pour détecter que la valeur n'existe pas ... |
|
| |
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Test si variable a une valeur Dim 12 Mai 2013 - 19:52 | |
| Tu peux faire un truc tout con, mettre le hp = 100 + 5*chrono dans une alarm.
Par exemple #create alarm[0] = 2;
#alarm0 hp = 100 + 5*chrono
Edit: Y a d'autres solutions plus simples aussi, comme mettre l'objet Chrono en persistant et le créer avant d'entrer dans la room. Et une autre dont je suis pas sur de la véracité: Instancier le chrono dans le Execute Code de la room. |
|
| |
Nickeau Utilisateur confirmé: Rang *
Messages : 175 Projet Actuel : Cruma Forest
| Sujet: Re: Test si variable a une valeur Dim 12 Mai 2013 - 19:59 | |
| Copié collé de ce qui vient de sortir de ma bouche "Ha ouais, ha p*tain pas con" |
|
| |
Nickeau Utilisateur confirmé: Rang *
Messages : 175 Projet Actuel : Cruma Forest
| Sujet: Re: Test si variable a une valeur Dim 12 Mai 2013 - 20:09 | |
| J'ai évité tous les objets persistants, je préfère que tt soit réinit une fois la room lancée. J'ai aussi tenté d'initialiser la valeur du chrono dans le "code de la room" mais ça n'avait pas marché, certainement car chrono se trouve dans l'objet chronometre qui (mm pb finalement) n'existe pas un infime moment au début de la room. |
|
| |
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Test si variable a une valeur Dim 12 Mai 2013 - 20:25 | |
| Non mais juste chrono en persistant hein, et tu le crée avant de charger ta room de jeu x) |
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: Test si variable a une valeur Dim 12 Mai 2013 - 20:30 | |
| Ben, il suffit que l'objet (je suppose que c'en est un) qui gère les vagues d'ennemis gère aussi le chrono et l'initialise dans les temps, non ? _________________ Home is not a place, it's a feeling.
|
|
| |
marty Utilisateur confirmé: Rang ***
Messages : 697 Projet Actuel : laby-ereinte !
| Sujet: Re: Test si variable a une valeur Dim 12 Mai 2013 - 20:57 | |
| met ta variable en global. non pas taper... |
|
| |
Nickeau Utilisateur confirmé: Rang *
Messages : 175 Projet Actuel : Cruma Forest
| Sujet: Re: Test si variable a une valeur Dim 12 Mai 2013 - 21:11 | |
| - D-z a écrit:
- Ben, il suffit que l'objet (je suppose que c'en est un) qui gère les vagues d'ennemis gère aussi le chrono et l'initialise dans les temps, non ?
Justement c'est le mm chrono , il gère les vagues et les vies. Mais avant la 1ière vague d'ennemis j'en place une 20ène sur la room, c'est une sorte d'accueil Ha ok onilink_, j'ai jamais eu l'occaz de faire cela, ça aurait été plus "propre" que l'alarm mais bon ta méthode avec l'alarm fonctionne aussi très bien. Et bhouuuu j'ai aucune valeur globale dans le jeu, j'évite |
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: Test si variable a une valeur Dim 12 Mai 2013 - 21:15 | |
| En fait GM est un peu casse-******* avec ca... J'ai l'impression que quand tu créé un nouvel objet (dans GM, donc en cliquant sur le bouton bleu), ben il le rajoute dans sa liste, et tu peux plus en modifier l'ordre, et les create sont executés l'un après l'autre, dans l'ordre des objets de cette liste.... Je sais pas si je suis très clair, mais si tu supprime l'objet qui dépend du chrono, puis que tu le recréé (copié-collé), ben ca risque de marcher... Donc le plus simple, c'est que quand tu fait un nouveau projet, le premier objet à créer, c'est un objet Main, Game ou autre qui s'occupe de gérer tout le jeu. Ps: si je suis pas clair, faut pas hésiter _________________ Je suis partie sur les ailes du vent et la tempête m'a ramenée.
|
|
| |
Nickeau Utilisateur confirmé: Rang *
Messages : 175 Projet Actuel : Cruma Forest
| Sujet: Re: Test si variable a une valeur Dim 12 Mai 2013 - 21:22 | |
| Si si et je pensais justement la mm chose. Pourtant une grosse partie de mon code se trouve sur un objet que j'ai créé vers le début (il sert aussi de chrono), mais p-e pas au tout début, p-e juste après ce monstre :p |
|
| |
Nickeau Utilisateur confirmé: Rang *
Messages : 175 Projet Actuel : Cruma Forest
| Sujet: Re: Test si variable a une valeur Dim 12 Mai 2013 - 21:24 | |
| Au fait Térence t'avais trouvé une alternative à la global/local variable existes ? |
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: Test si variable a une valeur Dim 12 Mai 2013 - 21:29 | |
| Ben la meilleur solution c'est comme l'a dit Oni de faire ta propre constante null, ou d'utiliser une valeur spéciale genre -1. Mais je t'avoue que je vois pas trop l'interet, en plus en gml ia pas besoin d'initialiser une variable (genre avec int devant), donc je vois pas à quoi ca peut bien te servir Mais dans tous les cas la solution d'Oni marche impec' ! edit : à tout hasard, essaie ca : if(variable!=none) //elle existe _________________ Je suis partie sur les ailes du vent et la tempête m'a ramenée.
|
|
| |
Nickeau Utilisateur confirmé: Rang *
Messages : 175 Projet Actuel : Cruma Forest
| Sujet: Re: Test si variable a une valeur Dim 12 Mai 2013 - 21:53 | |
| Non ça passe pas. Ben l'utilité est que la vie des ennemis est liée à une variable qui est censée être initialisée en mm temps qu'eux, à la création de la room .... et comme on le disait tt à l'heure, on dirait que les objets de la room s'initialisent dans un certain ordre. |
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: Test si variable a une valeur Dim 12 Mai 2013 - 21:58 | |
| Ah ok, désolé, j'avais pas capté Ben faut utiliser une alarm dans ca cas... _________________ Je suis partie sur les ailes du vent et la tempête m'a ramenée.
|
|
| |
Nickeau Utilisateur confirmé: Rang *
Messages : 175 Projet Actuel : Cruma Forest
| Sujet: Re: Test si variable a une valeur Dim 12 Mai 2013 - 22:32 | |
| oui c'est ce que _Onilink m'a précisé juste après |
|
| |
Nickeau Utilisateur confirmé: Rang *
Messages : 175 Projet Actuel : Cruma Forest
| Sujet: Re: Test si variable a une valeur Dim 12 Mai 2013 - 22:39 | |
| Bon je sature, mega overdose, j'ai sorti une version jouable ... pour plus d'infos pour le(s) curieux La page de mon projet |
|
| |
Contenu sponsorisé
| Sujet: Re: Test si variable a une valeur | |
| |
|
| |
| Test si variable a une valeur | |
|