أساسيات المصفوفات ثنائية الأبعاد
جزء من قسم المنطق وتدفّق التنفيذ في رحلة 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التحدي
سهلأنشئ خريطة لزنزانة صغيرة. أنشئ مصفوفة ثنائية الأبعاد باسم 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)
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المنطق وتدفّق التنفيذ
1السلاسل النصية بالتفصيل
أساليب السلاسل النصيةالبحث داخل السلاسل النصيةالاستبدال وإزالة المسافات الطرفيةالتقسيم والدمجمراجعة - التحقق من اسم المستخدم4القواميس، الجزء الثاني
القواميس المتداخلةمصفوفات من القواميسدمج القواميسنسخ القواميسمراجعة - عدّ التكرارات2اتخاذ القرارات المتقدم
المطابقة باستخدام المتغيراتشروط المطابقةأنماط المصفوفاتأنماط القواميسالتحقق من العضويةمراجعة - محلل الأوامر5تطبيق دفتر جهات الاتصال
عرض القائمةإضافة جهة اتصال8مدير سجلات الطلاب
نظرة عامة على المشروعإضافة طالب3المصفوفات متعددة الأبعاد
أساسيات المصفوفات ثنائية الأبعادالوصول إلى عناصر المصفوفة ثنائية الأبعادالحلقات المتداخلة مع المصفوفات ثنائية الأبعادمراجعة - المصفوفات ثنائية الأبعادالمصفوفات المتعرجةأنماط شائعة للمصفوفات ثنائية الأبعادمراجعة - لوحة اللعبة6المجموعات باستخدام القواميس
ما هي المجموعة؟القاموس كمجموعةالإضافة والإزالةالاتحاد والتقاطعفرق المجموعاتمراجعة - إزالة العناصر المكررة9تجميع البيانات المتقدم
جمع القيمإيجاد الحد الأدنى والحد الأقصىالترتيب المخصصمراجعة - أداة ترتيب القواميستدرّب بنفسك: مترجم GDScript عبر الإنترنت