Menu
CoddyTech

Fondamenti degli array 2D

Fa parte della sezione Logica e flusso del percorso GDScript di Coddy. Lezione 12 di 78.

Un array 2D memorizza i valori in righe e colonne, come una tabella o le caselle di una mappa di gioco. In GDScript, un array 2D è un array i cui elementi sono array: ogni array interno è una riga.

var level := [
	[1, 1, 1, 1],
	[1, 0, 2, 1],
	[1, 1, 1, 1]
]

In questa mappa, 0 è il pavimento, 1 è un muro e 2 è una moneta. Scrivere una riga per linea mantiene la griglia leggibile, e GDScript accetta anche l’intero valore letterale su una sola riga.

print() mostra un array 2D su una riga, con ogni riga racchiusa tra parentesi quadre:

print(level)
[[1, 1, 1, 1], [1, 0, 2, 1], [1, 1, 1, 1]]

size() sull’array esterno conta le righe. level[0] è la prima riga, un array ordinario, quindi level[0].size() conta le colonne:

print(level.size()) # 3 righe
print(level[0].size()) # 4 colonne

Un ciclo for sull'array esterno ti dà una riga a ogni iterazione:

for row in level:
	print(row)
[1, 1, 1, 1]
[1, 0, 2, 1]
[1, 1, 1, 1]

Le celle possono essere di qualsiasi tipo: [["X", "O"], ["O", "X"]] è una griglia di stringhe. Puoi anche partire da un array vuoto e append() intere righe:

var board := []
board.append(["X", "O", "X"])
board.append(["O", "X", "O"])
print(board.size()) # 2
challenge icon

Sfida

Facile

Costruisci la mappa di un piccolo dungeon. Crea un array 2D chiamato level con queste 4 righe, in quest'ordine:

1 1 1 1 1
1 0 2 0 1
1 0 1 3 1
1 1 1 1 1

Ogni riga è un array di 5 numeri. Poi stampa il numero di righe e il numero di colonne, usando size(), prima che il ciclo dato stampi le righe. L'output deve essere:

Rows: 4
Columns: 5
[1, 1, 1, 1, 1]
[1, 0, 2, 0, 1]
[1, 0, 1, 3, 1]
[1, 1, 1, 1, 1]

Provalo tu

extends Node

func _ready():
	# Sostituisci [] con la mappa del dungeon
	var level := []

	# Stampa qui il numero di righe e di colonne

	for row in level:
		print(row)
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore GDScript online