C'est quoi une variable

Salut,
Je suis débutant c’est dons pour sa que je pose trop de question mais bon j’èspère que sa vous derange pas mais sa vous arrange.
Bon toutes la question est dans le sujet mais je le répète, je voudrait savoir a quoi sa sert une variable
c’est quoi sa fonction :confused: merci de me repondre
Sha/m GAMES

Une variable ben c’est… une variable :smiley:
Sèrieux: d’où son nom c’est quelque chose qui varie au fil de ton jeu.
Quelques exemples : tu veux faire un monsieur à 10 vies et il en perd une si il tombe. Tu dis que la vairable vie du monsieur = 10 et que s’il tombe ca fait -1 à la variable vie du monsieur (qui tombe à 9).

Et puis, suis le uto, cela est expliqué il me semble

Sur le tuto je voit pas qu’il parle des variable. :confused:

C’est vrai, le tuto est particulièrement simple, pas besoin de variables.
donc,une variable c’est un emplacement dans la mémoire vive donc tu peut y stocker ce que tu veut (texte, nombres).
Il y a trois types de variables :

variable d’un objet :
Une variable qui ne s’applique qu’a un objet utile pour déterminer les points de vie par exemple.

variable de la scene :
Cette variable n’est définie que pour une scene, exemple : le score

variable globale :
Celle-ci sert dans tout le jeu et sert surtout a faire transiter des valeurs entre les scenes

Enfin, ce sont mes définitions :slight_smile:

Jolis définitions hypneos ^^ [size=85](moi je voulais faire simple mais bon :slight_smile: )[/size]

merci ^ ^

La question de Sha/m GAMES semble naïve en apparence, cependant il est vrai qu’elle est essentielle pour comprendre le fonctionnement d’un logiciel de programmation. J’avoue moi-même que je suis un peu confus sur la question… J’étudie régulièrement l’aide et les exemples fournis avec Game Develop, et je remarque qu’il y a peu ou pas d’explications sur des notions assez abstraites… Comme quelques-uns d’entre vous sans doute, j’ai étudié un peu le langage C, j’y retrouve donc un vocabulaire que je connais un peu, mais je veux me mettre à la place d’une personne qui n’a aucune notion de programmation.

Effectivement, lorsqu’on lit l’aide fournie par l’auteur, sur la première page “présentation”, on lit : "Game Develop vous permet de créer vos propres jeux de façon simple et rapide. La création s’effectue au moyen de l’éditeur, et aucune connaissance particulière n’ait [n’est :stuck_out_tongue: ] demandée pour utiliser Game Develop".

Certes, l’interface et le système de conditions/actions ont une forme plus littérale que le C/C++, cependant, je trouve qu’il faut malgré tout de vraies notions de programmation pour créer un jeu intéressant… Je n’ai pas encore étudié le C très longtemps, alors je pense devoir me considérer comme d’un niveau modeste…

Puisque notre ami Sha/m GAMES a introduit le sujet des variables, parlons-en.

Je ne comprends pas tellement ce que l’on appelle une “variable objet (texte)”, et surtout dans quel cas on s’en sert. Et il n’y a aucun exemple pour me l’expliquer. Quel genre de texte teste-t-elle ?

De même, j’aimerais vraiment (4ian, si tu me lis…) des exemples plus nombreux et plus approfondis au sujet des booléens (ces variables spéciales qui servent à tester si une condition prend la valeur “vraie” ou “fausse”). Ils sont essentiels la plupart du temps, et ceux qui les maîtrisent mal n’iront probablement pas très loin avec Game Develop.

Je me mets facilement à la place de ceux qui posent des questions simples comme notre ami Sha/m GAMES, et j’encourage chacun à continuer de les poser sans complexe.

Pour les variables texte d’un objet j’ai la réponse (ou du moins je pense, on n’est jamais assez sûr :stuck_out_tongue: ). je ne sais pas comment l’expliquer :confused: (ca me paraît simple à moi) mais bon :

Quand tu fais un variable à chiffres pour quelque chose qui se traduit par des lettres ( par exemple empoisonné, mort, bonne santé, …) ben après tu dois faire dire à l’ordinateur à quoi correspondent ces valeurs de cette variable (en gros tu dois faire si variable état =1, écrire en bonne santé). Les variables texte permettent de gagner du temps et de ne pas se perdre dans tout ce bordel. Tu lui (à l’ordinateur) dis le texte de la variable et tu lui demandes de l’afficher en gros, cela fusionne les 2 premières étapes : valeur (en chiffres) de la variable et le texte à quoi correspond la valeur de la variable.

j’espère avor été assez clair (j’en doute :unamused: )

En fait, Game Develop est relié à un principe dont je ne peux le détacher, c’est celui de la logique. Et la programmation utilise la même notion de logique carrée et droite, d’où les ressemblances.
Ainsi, les variables, sortes de tirois où l’on peut ranger un nombre ou un texte, sont quasi indispensables. J’ai peut être par contre fait une erreur en pensant que cette notion était comprise “de facto” par tout le monde, je vais donc ajouter un petit paragraphe dessus dans le guide de démarrage.

Je vais donc reprendre ce qui a été dit et rajouter plusieurs infos :

Les variables permettent de garder en mémoire une information, quelle soit un nombre ( position, nombre de vie, munitions… ) ou un texte ( nom du personnage, état de santé… ). On peut les comparer à des tiroirs où l’on rangerait donc un nombre ou un texte.
Dans Game Develop, trois types de variables sont à votre disposition :

Les variables globales : Ces variables sont accessibles depuis toutes les scènes du jeu. Elles peuvent servir à ranger une information sur un score par exemple.
Les variables de la scène : Ces variables sont elle bornée à la scène. Elles peuvent donc servir pour des utilisations plus proche de la scène, tel que pour garder en mémoire le temps avant la fin de l’alarme.
Les variables des objets : Chaque objet peut lui aussi posséder des variables. Ainsi, un ennemi peut avoir une variable “Munition” ou “Vie”.

De plus, il est possible de mettre soit du texte, soit un nombre dans la variable.
La plupart du temps, on mettra un nombre dans la variable. On choisira donc de modifier la valeur de la variable.
Si on veut entrer un texte dans la variable, on choisira de modifier le texte de la variable.

Sous Game Develop, les variables booléennes ( Vrai/Faux ) n’existent pas. On peut cependant les simuler en mettant le nombre “1” pour vrai et “0” pour faux.

Je vais inclure mon explication comme je l’ai dit dans le guide de démarrage, dans les concepts à savoir pour utiliser Game Develop.

En dehors des variables, est ce qu’il y a d’autres choses ?
Dans le guide de démarrage, je parle des positions ( X/Y c’est pas forcément intuitif ), des objets concernés ( global/local même si c’est la plupart du temps automatisé par Game Develop ), le déroulement important de l’ordre des évènements, le contraire des évènements, et les forces ( là aussi, c’est pas forcément intuitif bien que puissant ), et donc pour la prochaine version des variables.

4ian, je veux pas insulter certaines personnes mais le notion espce avec X/Y s’apprend au lycée et puis il faut peu de logique pour comprendre cela. Je trove quand même que c’est une bonne idée de rappeler ce qu’est la notion X/Y dans le tuot, certains ont pu oublier (ce qui arrive).

Si tu s’avait quel age que j 'avais tu serait étonnez .
Mais je vous remercie a tous maintenant je sais c’est quoi une variable.
MERCI

On ne s’énerve pas, ne pas savoir ce qu’est une variable n’est pas un crime ou une honte :slight_smile:
D’ailleurs, White-Shark parlait du système de coordonnées.

Et comme dit Voyageur :

Je ne m’énerve pas et je m’excuse pour mes paroles (pardon écrits) si elles (pardon ils) ont blessé quelqu’un.

Sha/m games je peux comprendre que si on ait jeune il y a des choses qu’on ignore (d’ailleurs pas que quand on est jeune ^^ et personne n’a la connaissance absolue. Je suis aussi d’accord avec ce qu’a dit Voyageur car j’aime bien aider :slight_smile:.

Cela ne me choque nullement et je comprends même facilement qu’on ne sache pas ce qu’est une variable (ce qui était aussi mon cas avant que je fasse de la programmation) et comme l’a signalé 4ian je parlais du système de coordonnées (qu’on apprend au collège pas au lycée :blush: ).

Donc je m’excuse et j’offre une tournée générale (ca c’est pas vrai ^^)

Oh là là ! les grands mots ! :open_mouth:

Justement, tout l’intérêt de nos discussions sur ce forum est d’aider 4ian à réaliser un logiciel et des tutoriels accessibles à la plupart des publics, des plus jeunes aux moins jeunes, et de pallier au mieux les éventuelles lacunes dans les notions de base. En ce qui me concerne, j’ai obtenu mon bac dans la filière scientifique, je suis plutôt un matheux et je peux sans doute supporter un assez haut niveau d’abstraction. Cependant, la programmation, c’est une logique et un vocabulaire, et lorsqu’on maîtrise mal un point particulier, la zone d’ombre se propage tôt ou tard et on finit par tout confondre…

4ian, il est très plaisant et très commode de pouvoir interroger directement l’auteur d’un logiciel que l’on utilise, merci d’avoir créé ce forum. :smiley:

Effectivement, les variables méritent davantage d’explications et d’exemples. Pas seulement pour les “novices” qui découvrent la programmation, mais aussi pour ceux qui ont étudié d’autres langages, d’autres logiciels et qui viennent s’intéresser Game Develop. Game Develop, programmé en C++, ressemble relativement beaucoup à ce langage, et me semble être une bonne alternative, moins rebutante aussi, dans la mesure où l’on n’a pas trop à s’inquiéter si on n’a pas oublié un point-virgule quelque part au moment de compiler.

Néanmoins, on y trouve aussi des différences, on ne raisonne plus en fonctions et en boucles, à la place on a des conditions et des actions, ce qui revient parfois au même, mais quelquefois non… Ainsi donc, les opérateurs booléens n’existent pas dans Game Develop. A la place, on utilise une variable binaire (qui prend la valeur 0 ou 1). Je m’en doutais, mais je ne crois pas l’avoir lu dans les pages de l’aide, et je pense qu’il serait intéressant de l’ajouter explicitement, afin que les personnes qui connaissent d’autres langages puissent trouver leurs marques.

J’avais mal choisi mes mots lorsque j’écrivais qu’il manquait des explications “sur des notions assez abstraites”. La plupart des événements dans Game Develop sont bien explicites ; à part les variables, il ne me semble pas y avoir d’autres obstacles importants à la compréhension. Même, les coordonnées sur un repère orthonormé X/Y ne devrait poser de problème sérieux à personne (il y a même des petits dessins dans l’aide, au niveau des actions “déplacer un objet” ; elle relève des connaissances de géométrie les plus rudimentaires, c’est très compréhensible pour qui s’en donne la peine. D’ailleurs Game Develop se limite au plan (2D), et nous épargne de fait le délicat problème des coordonnées spatiales (main droite, main gauche et tout le toutim…).

En fait, ce que je voulais dire, c’est que les pages d’aide manquent encore d’exemples aux endroits où l’on aimerait en trouver. Par exemple, il y a une page très intéressante et très utile dans les FAQ : comment créer une suite de niveaux ?

Petit copier-coller :
Pour créer une suite de niveau, vous pouvez utiliser plusieurs scènes, chaque scène représentant un niveau du jeu.
Vous pouvez copier-coller une scène pour créer rapidement un autre niveau.
Mais si vous modifiez un évènement d’une scène ( comme la vie du joueur ), il vous faudra modifier à la main et une par une les autres scènes représentant les niveaux !
Pour éviter cela, utilisez des liens :
Commencez par créer une première scène représentant un niveau. Modifiez le de façon à pouvoir y jouer.
Copiez ensuite la scène, et renommez la. Ensuite, effacez tous les évènements, et remplacez les par un lien vers les évènements de la première scène.
Modifiez ensuite la seconde scène de façon à créer un deuxième niveau.
Si vous modifiez un évènement de la première scène, les changements se répercutent sur l’autre scène.
Ainsi, une scène sert de moteur, et les autres utilisent ce même moteur.

Tout à fait passionnant. Cela apparaît très logique de regrouper dans une scène tous les éléments invariables du jeu, et de construire ensuite les différents niveaux. Cela me rappelle la programmation modulaire du C. Seulement, concrètement, comment fait-on pour “créer un lien vers les événements” d’une autre scène ? Je comprends comment on peut le faire avec la programmation modulaire en C, mais quelles commandes utilise-t-on pour le faire avec Game Develop ?

Imaginons que je veuille créer un jeu de plateformes, du genre Pacman, avec 5, 10 ou 20 niveaux. Je crée une “scène racine” dans laquelle je regroupe les éléments communs à tous les niveaux (interface, score, nombre de vies restantes, touches de déplacement du Pacman, ce qui se passe lorsque le Pacman entre en collision avec un objet MurDuLabyrinthe, ce qui se passe lorsque le Pacman absorbe une pastille lumineuse, ce qui se passe lorsque le Pacman entre en collision avec un objet Fantôme, ce qui se passe lorsque le Pacman entre en collision avec un objet Fantôme ET qu’il a absorbé une pastille lumineuse il y a moins de 20 secondes, etc.). Si je veux créer aussi des fantômes plus évolués dans les niveaux supérieurs, qui cracheraient des boules de feu ou pourraient traverser les murs, c’est aussi dans la scène racine que je dois les décrire ? En somme, tout se passe comme si Game Develop utilise le décor de la scène “niveau N” en lisant les instructions de la scène racine, c’est bien cela ? Mais comment fait-on si l’on veut que les fantômes adoptent un comportement spécifique à une scène ? Par exemple, un qui arpente exclusivement le tour du labyrinthe, et deux autres qui suivent des parcours alambiqués ; si l’on veut qu’ils aient un comportement un peu différent (et donc moins prévisible)dans chaque scène ?

Un tutoriel à cet endroit, avec des scènes liées entre elles, serait fort utile à cet endroit.

Merci d’y penser, 4ian :wink:

On pourrait aussi utiliser une variable avec du texte, disons que pour moi, quand on fait un jeu, on se rent compte qu’il faut utiliser une variable pour vérifier quelque chose de cette manière.

Je parle de “les [Les évènements] remplacer par un lien vers les évènements de la première scène.”.
Ça se passe donc au niveau de l’éditeur d’évènements. Au lien de faire clic droit, puis “insérer un évènement”, il faut faire clic droit, “Insérer…” puis “un lien”.
Ensuite, pour paramétrer le lien, il est possible de se reporter à la page d’aide de ceux ci dans l’aide.

Si tu comptes les utiliser plus ou moins souvent, tu peux alors les intégrer dans la scène racine, soit comme un autre objet, soit comme le même objet que les autres fantômes mais avec une variable indiquant leur particularité.
Si tu comptes les utiliser dans une seule scène, tu peux créer leurs évènements juste dans la scène qui les utilise.
Ou tu peux carrément créer une deuxième scène “racine”, dédiée aux fantomes.

Quand Game Develop rencontre un lien, il va aller copier-coller les évènements indiqués dans la scène. Donc comme tu le dit, ça permet d’utiliser le décor de ta scène avec les évènements d’une autre. Mais tu peux aussi utiliser plusieurs liens, ce ne sont ni plus ni moins que des évènements qui vont être remplacés par d’autres.

Disons qu’on passerait plus d’une réponse de FAQ au tutoriel ou carrément à l’article ( Ce qui est d’autant mieux ).
Aussi je vous invite à créer des articles/tutoriels que vous pouvez mettre sur le wiki : wiki.compilgames.net .
Il y a déjà quelques articles sur Game Develop, mais si vous pensez être en mesure d’en étoffer un, ou si vous pensez qu’un article sur les liens serait utile, alors créez un compte, et faites un article :slight_smile:

D’accord, je vois. C’est beaucoup plus clair dans mon esprit lorsque c’est formulé ainsi. (Reste à voir maintenant si je vais savoir l’appliquer correctement).

Justement, c’est peut-être un point d’explication dans l’aide qui mériterait davantage qu’une réponse de FAQ… Quant à écrire un article sur le sujet, ma foi, pourquoi pas, mais il vaudrait mieux que je parvienne à réaliser un jeu avant d’essayer de jouer les professeurs ! :stuck_out_tongue:

Hop, là, je signale qu’il y a donc maintenant un petit chapitre sur les variables dans le guide de démarrage de la nouvelle version.
Et Hypneos a fait un petit article sur le wiki : wiki.compilgames.net/doku.ph … /variables

Eum,je crois que tu n’est pas le seul :smiley: :exclamation: