Menu
CoddyTech
flag Ar iconالعربيةdown icon

أساسيات المصفوفات ثنائية الأبعاد

جزء من قسم المنطق وتدفّق التنفيذ في رحلة GDScript على Coddy. الدرس 12 من 78.

تخزّن المصفوفة ثنائية الأبعاد القيم في صفوف وأعمدة، مثل الجدول أو مربعات خريطة اللعبة. في GDScript، المصفوفة ثنائية الأبعاد هي مصفوفة عناصرها مصفوفات: كل مصفوفة داخلية تمثّل صفًا واحدًا.

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

في هذه الخريطة، تمثّل 0 أرضية، ويمثّل 1 جدارًا، ويمثّل 2 عملة. كتابة صف واحد في كل سطر تجعل الشبكة سهلة القراءة، ويقبل GDScript أيضًا كتابة القيمة الحرفية كاملةً في سطر واحد.

تعرض print() مصفوفة ثنائية الأبعاد في سطر واحد، مع وضع كل صف بين قوسين خاصين به:

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

تحسب size() على المصفوفة الخارجية عدد الصفوف. إن level[0] هو الصف الأول، وهو مصفوفة عادية، لذا فإن level[0].size() يحسب عدد الأعمدة:

print(level.size()) # 3 صفوف
print(level[0].size()) # 4 أعمدة

تمنحك حلقة for على المصفوفة الخارجية صفًا واحدًا في كل تكرار:

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

يمكن أن تكون الخلايا من أي نوع: [["X", "O"], ["O", "X"]] هي شبكة من السلاسل النصية. يمكنك أيضًا البدء بمصفوفة فارغة وإضافة صفوف كاملة باستخدام append():

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

التحدي

سهل

أنشئ خريطة لزنزانة صغيرة. أنشئ مصفوفة ثنائية الأبعاد باسم level تتضمن هذه الصفوف الأربعة بهذا الترتيب:

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

كل صف هو مصفوفة من 5 أعداد. ثم اطبع عدد الصفوف وعدد الأعمدة باستخدام size()، قبل أن تطبع الحلقة المعطاة الصفوف. يجب أن يكون الناتج:

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

جرّب بنفسك

extends Node

func _ready():
	# استبدل [] بخريطة الزنزانة
	var level := []

	# اطبع عدد الصفوف والأعمدة هنا

	for row in level:
		print(row)
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس المنطق وتدفّق التنفيذ

تدرّب بنفسك: مترجم GDScript عبر الإنترنت