Bases des tableaux 2D
Fait partie de la section Logique et flux d’exécution du Journey GDScript de Coddy. Leçon 12 sur 78.
Un tableau 2D stocke des valeurs en lignes et en colonnes, comme un tableau ou les cases d’une carte de jeu. En GDScript, un tableau 2D est un tableau dont les éléments sont des tableaux : chaque tableau interne constitue une ligne.
var level := [
[1, 1, 1, 1],
[1, 0, 2, 1],
[1, 1, 1, 1]
]Dans cette carte, 0 représente le sol, 1 un mur et 2 une pièce. Écrire une ligne par rangée permet de garder la grille lisible, et GDScript accepte également le littéral entier sur une seule ligne.
print() affiche un tableau 2D sur une seule ligne, avec chaque ligne entre ses propres crochets :
print(level)[[1, 1, 1, 1], [1, 0, 2, 1], [1, 1, 1, 1]]size() sur le tableau externe compte les lignes. level[0] est la première ligne, un tableau ordinaire, donc level[0].size() compte les colonnes :
print(level.size()) # 3 lignes
print(level[0].size()) # 4 colonnesUne boucle for parcourant le tableau externe vous donne une ligne à chaque passage :
for row in level:
print(row)[1, 1, 1, 1]
[1, 0, 2, 1]
[1, 1, 1, 1]Les cellules peuvent être de n’importe quel type : [["X", "O"], ["O", "X"]] est une grille de chaînes de caractères. Vous pouvez aussi partir d’un tableau vide et append() des lignes entières :
var board := []
board.append(["X", "O", "X"])
board.append(["O", "X", "O"])
print(board.size()) # 2Défi
FacileConstruis la carte d’un petit donjon. Crée un tableau 2D appelé level avec ces 4 lignes, dans cet ordre :
1 1 1 1 1
1 0 2 0 1
1 0 1 3 1
1 1 1 1 1Chaque ligne est un tableau de 5 nombres. Affiche ensuite le nombre de lignes et le nombre de colonnes à l’aide de size(), avant que la boucle donnée affiche les lignes. La sortie doit être :
Rows: 4
Columns: 5
[1, 1, 1, 1, 1]
[1, 0, 2, 0, 1]
[1, 0, 1, 3, 1]
[1, 1, 1, 1, 1]Essayez vous-même
extends Node
func _ready():
# Remplacez [] par la carte du donjon
var level := []
# Affichez ici le nombre de lignes et de colonnes
for row in level:
print(row)
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logique et flux d’exécution
1Les chaînes de caractères en profondeur
Méthodes des chaînesRechercher dans les chaînesRemplacer et supprimer les espacesDécouper et joindreRécapitulatif - Vérifier un nom d’utilisateur4Dictionnaires, partie 2
Dictionnaires imbriquésTableaux de dictionnairesFusionner des dictionnairesCopier des dictionnairesRécapitulatif - Compteur de fréquence7Énumérations
Qu’est-ce qu’une énumération ?Définir une énumérationValeurs d’une énumérationÉnumérations avec matchRécapitulatif - Feu de circulation10Fonctions avancées
Renvoyer plusieurs valeursFonctions lambda, partie 1Fonctions lambda, partie 2Récapitulatif - Tri avec lambdaFonctions récursives, partie 1Fonctions récursives, partie 2Récapitulatif - Somme d’un tableau imbriqué13Système de gestion des stocks
Présentation du projetAjouter un article2Prise de décision avancée
Correspondance avec des variablesGardes de correspondanceMotifs de tableauMotifs de dictionnaireVérifications d’appartenanceRécapitulatif – Analyseur de commandes5Application de carnet d’adresses
Afficher le menuAjouter un contact8Gestionnaire des dossiers étudiants
Aperçu du projetAjouter un étudiant3Tableaux multidimensionnels
Bases des tableaux 2DAccéder aux éléments d’un tableau 2DBoucles imbriquées avec des tableaux 2DRécapitulatif - Tableaux 2DTableaux irréguliersMotifs courants des tableaux 2DRécapitulatif - Plateau de jeu6Les ensembles avec les dictionnaires
Qu’est-ce qu’un ensemble ?Un dictionnaire comme ensembleAjouter et supprimerUnion et intersectionDifférence d’ensemblesRécapitulatif – Supprimer les doublons9Agrégation avancée de données
Additionner des valeursTrouver le minimum et le maximumTri personnaliséRécapitulatif - Trieur de dictionnairesEntraînez-vous par vous-même : Compilateur GDScript en ligne