Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

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

Apprendre
RPG Maker

Guides
Tutoriels
Astuces
Making-of

Dans le
Forum

Section Entraide

News: Nouvelles informations sur RPG (...) / Scripts: RPG Maker XP Ultimate / Jeux: Marteau de Guerre / Jeux: La Question / Scripts: Dragon Quest Monster /

Chat  

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

53 connectés actuellement

10661165 visiteurs
depuis l'ouverture

146 visiteurs
aujourd'hui



Barre de séparation

Partenaires





Au hasard

RPG Maker - La Communauté

New RPG Maker

ConsoleFun

Tashiroworld

Le Studio du Chat Vert

Les deux derniers

Hellsoft

Planète Glutko

Nos autres partenaires

Devenir
partenaire




#08 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
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