[RPG-MAKER.FR] Oniromancie: tout l'univers de RPG Maker en français - Tutoriels - #8 Programmer la mégadrive , les tableaux


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

113 connectés actuellement

10308700 visiteurs
depuis l'ouverture

517 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

Eclipso

RPG Maker VX

Level Up!

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




#8 Programmer la mégadrive , les tableaux
Ecrit par Monos

Chapitre 7 : Au Tableau pour copier 10 fois, je n'oublie pas de déclarer mes variables !

Attention, jusque là ce que je raconte, c'est un jeu d'enfant, là je risque d'en perdre plusieurs. Ro non ne quitte pas la page, ce n'est pas non plus compliqué les tableaux ! Tu sais ce que c'est qu'une variable ? Imaginons une variable pour garder en mémoire le numéros du premier Tiles. Appelons ça la variable Tile_1.
Maintenant passons à la deuxième cellule, Déclarons Tile_2, Nous allons continuer avec Tile_3, A ma carte à 100 tiles de coté. Je dois faire ça 100 fois ? Plus les verticales ? non non non non non !!! C'est que des tiles après tous, on va réunir les variables les unes collées aux autres avec de la super glue ! Et on va dire que toute ces variables porte le nom de Tile avec un indice.

Par exemple Tile 3 c'est la 3em variables collée (Attention mini piège à con)
Ba c'est ce que nous appelons ça dans le jargon informatique les Tableaux ou Array en langue anglaise.

Nous allons déclarer donc un tableau. Pour ça c'est simple !
Local Nom_Variable(nombre_de_case) As Integer (ou Long)
Et le tour est joué.
Ensuite pour placer une valeur dans un tableau c'est simple !

Nom_Variable(Numéros_de_la_case)=Valeur
Et pour afficher ?

Print Nom_Variable(Numéros_de_la_case)

Mouahaha

Portion de code : Tout sélectionner

1
2
3
4
5
 
Local vie(10) As Integer
        vie(4)=10
Print vie(4)
 



Bon j'avais dit qu'il y avait un piège à con ! un mini piège à con.
oui car quand j'ai dit que

Citation:

Par exemple Tile 3 c'est la 3em variables collée


C'est faux !
Ce n'est pas la 3em variables (ou cas) mais la 4em car la case 0 existe !
On dit que c'est indexer sur 0 donc quand on déclare le tableau vie(10) en vérité on prépare 11 cases !

Tableau à deux dimensions
Et oué, jusque là on fait des lignes de case, mais on peux faire aussi des lignes en plus qui va avec le tableau. C'est la 2em dimension.
Pour aller chercher la valeur, il faut donc une coordonnée X et Y dans le tableau !

Voyons voir ça ensemble en exemple plus parlant.

Portion de code : Tout sélectionner

1
2
3
Local vie(10,5) As Integer
        vie(0,2)=10
Print vie(0,2)



Bon on déclare un tableau en local qui a pour nom vie. Et la il y a deux valeurs dans cette exemple. 10 et 5. Ce qui fait donc 11 colonnes (Les coordonnées X) et 6 lignes (Coordonné Y).

Vie(0,2)=10 veux dire mémorise la valeur 10 dans la colonne 0 de la ligne 2.
et print vie(0,2)
veux dire ba affiche la valeur mémorisé en colone 0 de la ligne 2.

Tout simplement


Ajouter la valeur 1 à toutes les cases !
Bon voici un petit exemple dans un tableau à deux dimension pour initier le tableau à 1 !

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
 
Local vie(10,5) As Integer
Local X As Integer,Y As Integer
 
For Y=0 To 5
  For X=0 To 10
        vie(X,Y)=1
  Next
Next
 
 
Print vie(0,2)
 



Et oui, une double boucle For imbriqué ! L'un pour les Y et l'autre pour les X.
Tien donc un truc que je n'avais pas dit dans les déclaration de variables !

Local X As Integer,Y As Integer
avec une virgule, nous pouvons déclarer les variables sur la même ligne. Attention à ne pas répéter le local bien sur !

Tableau à 3 dimension ou plus
Heum entre dans la 3em dimension.
Bon en déclarant une 3em valeur au tableau on entre dans la 3em dimension du tableau. (Le Z)
Pour identifier la case il faut donc 3 coordonnées.

Autre point,il est possible d'ajouter d'autre dimension avec ce logiciel... L'utilité est mince, mais c'est bon de le savoir. voici un exemple avec 5 dimensions.

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
Local vie(10,5,5,6,10) As Integer
Local X As Integer,y As Integer
 
For Y=0 To 5
For X=0 To 10
        vie(X,Y,0,5,3)=1
 
Next
Next
 
 
Print vie(0,2,0,5,3)



Voila on a fini une grosse partie du programme, maintenant avec tous ça on va jouer à un jeu , prochaine étape, afficher un Sprite Machine !


winterskill - posté le 10/08/2017 à 01:00:22 (927 messages postés)

❤ 0

Empereur des bons gros meuh

ça avance bien, dis donc!
je vais juste faire le mec chiant :

ligne 1 : "jusque la" => "jusque là"
ligne 1 : "la je risque d'en perdre plusieurs" => "là je risque d'en perdre plusieurs"
ligne 5 : "c'est que des tiles aprés tout" => "c'est que des tiles après tout"
ligne 5 : "les variables l'un collé à l'autre" => "les variables les unes collées aux autres"
ligne 19 : tu as oublié le "[" au début
ligne 19 : "c'est la 3em variables collé" => "c'est la 3ème variable collée"
ligne 25 : "une coordonné X et Y" => "une coordonnée X et Y"
ligne 27 : "qui à pour nom " => "qui a pour nom"
ligne 27 : "Les coordonné" => "Les coordonnées"
ligne 28 : "Coordonné " => "Coordonnée"
ligne 36 : "dans les déclaration de variable !" => "dans les déclaration de variables !"
ligne 41 : "au tableau en entre" => "au tableau on entre"
ligne 42 : "il faut donc 3 coordonnée" => "il faut donc 3 coordonnées"
ligne 43 : "dimenssions" => "dimensions"
:F

"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?...) | à soutenir absolument : https://www.kickstarter.com/projects/1264023666/bushido-the-way-of-men

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