Oniromancie: Tutoriels - #5 Programmer la mégadrive , les variables


Comment ça marche?

Aëdemphia
Par Sylvanor

Fighting Robots Quest
Par Boulon

Forstale
Par Ødd Clock

Geex
Par roys

Inexistence
Par Falco

La Légende d'Ibabou
Par Zaitan

Lije
Par Gaetz

LoveMaster
Par Cuddlefox

Sarcia
Par Kaëlar

Super Mario RPG - Lost Souls
Par Omegabowser

Jeux: Monster World RPG / Jeux: Pif et Hercule / News: Mise à jour de RPG Maker 2003 / Tutos: Création de charset / Jeux: FAYLINAWA /

Chat  (14 connectés)

Bienvenue
visiteur !






publicité RPG Maker!

Statistiques

Liste des
membres


Contact

80 connectés actuellement

9259606 visiteurs
depuis l'ouverture

650 visiteurs
aujourd'hui

Groupe Facebook

Barre de séparation

Partenaires




TOP
GAMEMAKING


Les 5 plus
visités

Lunae, le baz'arts d'Emz0

Le studio du chat vert

Pixelandgame

Tashiroworld

HeyMakeGames

Au hasard

HeyMakeGames

RPG Maker Universe

EventGame

Les deux derniers

Lunae, le baz'arts d'Emz0

Le studio du chat vert

Nos autres partenaires

Devenir
partenaire


Barre de séparation

Un site du réseau
War Paradise

Annuaires référenceurs




#5 Programmer la mégadrive , les variables
Ecrit par Monos

Chapitre 4, les variables avec Second Basic
Cela va être lourd ! Je le sais, quand on débute, on aime pas les variables, et la cela ne va pas être ludique !

Bon Késako une variable ? C'est une boite qui contient une valeur numérique ou une chaîne de caractère (String, non bande de vicieux) et qui porte un nom.

Exemple la variable Vie contient la valeur 3 qui permet de mémoriser le nombre de vie du joueur. La variable Nom contient la chaîne "Monos" qui contient le nom du joueur... Les variables peuvent être travaillé,, on ressort sa valeur, on la modifie, on en place une nouvelle, on en fait une addition avec une autre variable... Bref nous verrons des exemples.

Second Basic, possède trois type de variable.

-Les variables Integer. C'est les variables par défaut. C'est une variable qui prend 16 bits en mémoire soit 2 octets et permet donc de mémoriser une valeur entre 0 et 65 535

-Les Variables Long. C'est une variable qui prend 32 bits donc 4 octets et mémorise une valeur comprise entre 0 et 4 294 967 295

C'est deux variables peuvent seulement prendre des valeurs numériques.

Et les strings qui permet de mémoriser des "lettres". Par défaut la place prise est de 128 octets (128 lettres)
(Il y a moyen de changer la taille des strings, mais nous verrons ça dans un autre chapitre quand nous allons étudier les tableaux)

En Basic pour mémoriser une valeur dans une variable c'est le signe égale.

Vie=3
On assigne la valeur numérique 3 à Vie.
Et si on fait Vie=Vie+Vie ?
On assigne dans la variable Vie, deux fois sa valeur vie prend 6 si on garde l'exemple.

Nom$="Monos"
une variable de type Chaîne prend à la fin le sigle dollars et la chaîne doit être entre les guillemets.

Notons qu'une variable Long doit se finir par le sigle &
Vie&=4000000000000000

En Second basic, Vie et VIE c'est la même chose (Ce n'est pas sensible à la case comme on dit) mais attention vie$ est différent de vie& et de vie.

Déclaration de Variable
En basic, la déclaration des variables n'est pas obligatoire, mais reste conseillé quand même. Il existe une option dans le logiciel pour "forcer la déclaration des variables" mais semble occasionner des bugs quand on utilise des Fonctions et des Procédures.


Mais c'est partie voici comment réserver une variable integer (donc 2 octets)

Portion de code : Tout sélectionner

1
Locale Nom_Variable AS Integer


Cool non.
Pour un Long on remplace Integer par Long , et pour un string on remplace cela par String.


Afficher le contenu d'une variable à l'écran
Nous allons faire simple :
Print nom_variable
Et oui pour afficher le contenu de Vie un print vie et le tour est joué.
Si vous fait Print vie+vie ? Et ba vous allez avoir droit à une addition !

Une expérience !
On va faire une expérience pour vous expliquer un autre truc.

regarder ce petit programme !

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
 
Local Vie as integer
Vie=3
print vie
Vie=Vie-4
Print vie
 



La deuxième valeur affiche 65536 !
Heu normalement 3-4 devrait donner -1 non ?

Oui. Sauf que sur Second Basic, c'est des valeurs Non Signées, donc quand on passe en dessous de 0 , on repart à la fin. Et l’inverse est vrais. 65536+1 donnera 0. (pour un integer).

Culture Général
Les variables c'est le petit problème de beaucoup de basic.(pas tous) Souvent on passe à la simplicité des types de variables. Sur Second Basic ils sont donc tous non signées et peut être seulement des integer et des long pour les variables numérique. Elles consomment 2 et 4 octets. C'est la que certain langage sont plus précis comme le C / C++ il y a beaucoup plus de type de variable numérique et peuvent être signé. (c.a.d jouer vraiment avec les valeurs négatives). On peux avoir des variables binaire, (1 octet) par exemple. Signé ou pas. Ce qui permet d'économisé encore plus de place sur les petits systèmes. Ceci dit beaucoup de basic permet quand même de travailler à l'octet prêt avec peek et poke ! Il y a des moyens d'économiser de la mémoire avec ce procédé. Mais ceci est une autre histoire...

Le prochain chapitre portera sur les boucles, ce qui va permettre d'afficher un début de map !


winterskill - posté le 25/07/2017 à 14:39:02. (855 messages postés) - geniesdumal

Empereur des bons gros meuh

Travaillons avec Peek et pok! :rit2
Et il n'y a pas de boleans?

"pommes de rainette et pommes d'API, API API Rest-e" | "A combattre sans périls, on triomphe sans gloire" - le cid ; (oui mais on gagne quand même non?...) | Voté GéniesDuMal


Monos - posté le 25/07/2017 à 17:40:35. (56315 messages postés) - admin

Vive le making libre

Il y a des True/False dans ce basic mais cela reste des constantes.
Mais on peux bien sur rentre un variable true/false mais ça reste des integer ou long. (Donc 2 / 4 octets de mangé).

Pixner|Offgame | Le comptoire des clikeurs


winterskill - posté le 10/08/2017 à 00:46:50. (855 messages postés) - geniesdumal

Empereur des bons gros meuh

ben ouais, mais c'est quand même utile, les bool, dans un jeu vidéo...
c'est quand même con qu'ils n'y aient pas pensés...

"pommes de rainette et pommes d'API, API API Rest-e" | "A combattre sans périls, on triomphe sans gloire" - le cid ; (oui mais on gagne quand même non?...) | Voté GéniesDuMal


Monos - posté le 12/08/2017 à 09:26:04. (56315 messages postés) - admin

Vive le making libre

Tu parles vraiment de quoi en parlant de bool ? Perso je pense que tu parles de variable qui prend True ou false mais je peux me tromper.

Pixner|Offgame | Le comptoire des clikeurs

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe

Plan du site:

Activité: Accueil | News | Forum | Flash-news | Chat | Commentaires | Galerie | Screen de la semaine | Sorties | Articles perso | Livre d'or | Recherche
Jeux: Index jeux séparés | Top Classiques | Top Originaux | Les autres | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Jeux complets | Proposer
Rubriques: Le Wiki | Collection Oniro | Tutoriaux | Scripts | Guides | Gaming-Live | Tests | Making-of | Interviews | Articles perso | OST | L'Annuaire | Divers | Palmarès
Hébergés: Aëdemphia | Fighting Robots Quest | Forstale | Geex | Inexistence | La Légende d'Ibabou | Lije | LoveMaster | Sarcia | Super Mario RPG - Lost Souls
Ressources: Jeux | Programmes | Packs de ressources | Midis | Eléments séparés | Sprites
RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis