[RPG-MAKER.FR] Oniromancie: tout l'univers de RPG Maker en français - Tutoriels - #12 Programmer la mégadrive , Fonction et procedure


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace

Apprendre
RPG Maker

Guides
Tutoriels
Astuces
Making-of


Comment ça marche?

Aëdemphia
Par Sylvanor

Fighting Robots Quest
Par Boulon

Geex
Par roys

Inexistence
Par Falco

La Légende d'Ibabou
Par Zaitan

Nylu
Par NanakyTim

Sarcia
Par Kaëlar

Super Mario RPG - Lost Souls
Par Omegabowser

Jeux: Inexistence / Tutos: Faire de la neige facilement en (...) / Jeux: ARCH ULTRA / Sorties: ARCH ULTRA / News: Alex d'Or 2019 : Les Vainqueurs ! /

Chat  

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

118 connectés actuellement

10308697 visiteurs
depuis l'ouverture

514 visiteurs
aujourd'hui



Barre de séparation

Partenaires






TOP
GAMEMAKING


Les 5 plus
visités

Akademiya RPG Maker

Alex d'Or

BloGecko

ConsoleFun

Eclipso

Au hasard

BloGecko

New RPG Maker

Kingdom Ultimate

Les deux derniers

Zarok

Akademiya RPG Maker

Nos autres partenaires

Devenir
partenaire


Barre de séparation

Un site du réseau
War Paradise

Annuaires référenceurs




#12 Programmer la mégadrive , Fonction et procedure
Ecrit par Monos

Chapitre 11 : Cela va couper chérie !
11em chapitre à l'initiation de codage de la mégadrive en basic. Vous savez quoi ? vous avez pas mal de quoi faire un petit jeu avec tout ça ! Enfin presque.

Vous savez poser un tile à l'écran, poser un sprite, modifier les couleurs, les boucles, les conditions, la gestion de la manette de jeu ! Ils nous manque un petit truc, l'organisation du programme ! Et oué un chapitre qui va être chientôs mais indispensable.

Pour le moment, votre code est pratiquement compacté. Nous allons voir comment le décompacter pour créer des modules. Nous allons voir les Procédures, et les Fonctions qui sont plus moins la même chose.

La même chose avec deux nom différent ?
Bon, ok. Alors une procédure c'est un morceau code qui sera appelé dans votre programme.

Regardez cette effet !

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
 
p_test
While 1
Wend
 
Declare Sub p_test()
        Print "Hello World"
End Sub
 



On début avec p_test qui n'est pas une variable. Ensuite on entre dans la boucle "vide" mais peux importe.

Plus bas on a un morceau de code.

Declare Sub p_test()
...
End Sub

Cela permet de créer un bloc
quand on écrit dans exemple p_test, on va chercher la procédure du même nom pour l’exécuter et donc afficher "Hello World" à l'écran pour cette exemple.

Il y a un truc de cool avec les procédures, c'est le passage de paramètre. Regarder nous allons voir si votre megadrive sait faire une multiplication. (A vrais dire non , il doit ruser pour vous sortir un résultat d'une multiplication.)

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
 
P_Test 5,2
 
While 1
Wend
 
Declare Sub  P_Test(x As Integer,y As Integer)
 
        Print x*y
       
End Sub
 



Nous avons entrée deux paramètre avec P_Test 5,2
Et enfin dans la procédure nous les avons récupéré pour afficher une multiplication. Voila vous avez appris ce que c'est qu'une procédure.

Cela peut aussi permettre de découper son programme.
Une procédure pour afficher la map
Une procédure pour afficher le joueur...

Ceci dit des fois nous aimerions récupérer le résultat de la procédure, Cela se nomme une fonction.
Regardez un peu cette fonction.

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
Local R As Integer
R=F_Test(5,2)
Print R
While 1
Wend
 
Declare Function F_Test(x As Integer,y As Integer) as integer
        Return x*y       
End Function
 




La variable R va récupérer la fonction F_Test et passer en argument 5 et 2. (On place ici des parenthèses)
A la place de Declare Sub on déclare une Function et un end Function
Puis Return qui retourne tous simplement le résultat dans le R du début.

On affiche R et le tour est joué.

Valeur Global
Regardez ce petit programme !

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
Local X As Integer
X=10
 
Print X
F_Test
Print X
 
Declare Sub F_Test()
Print X
End Sub




Le premier X affiche 10. Bon ok.
Mais le deuxième 0 et le 3em affiche bien 10.
C'est normale. Nous avons déclaré X en Local. Cela ne fonctionne pas dans les procédures et fonction. Nous pouvons passer une variable en Global avec

Global nom_variable_ as type _de_variable.

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
Global X As Integer
X=10
 
Print X
F_Test
Print X
 
Declare Sub F_Test()
Print X
End Sub



Maintenant les trois Print afficherons 10 et c'est le même X pour tous. Dans la procedure/fonction, ce n'est q'une variable intermédiaire.


Les procédures et les fonctions sont super puissant donc pour découper votre programme, et regrouper en un seul endroit un morceau de code qui doit être appelé fréquemment.

Aucun commentaire n'a été posté pour le moment.

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 - Mentions légales

Plan du site:

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