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

ما هو التعداد؟

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

لا يمكن أن تكون بعض القيم إلا أحد خيارات قليلة: إشارة المرور حمراء أو صفراء أو خضراء، واللاعب في وضع الخمول أو يركض أو يقفز. يمكنك تخزين الخيار كرقم، بحيث يكون 0 للخمول و1 للركض، لكن عندئذٍ سيتعين على كل قارئ تذكّر معنى كل رقم:

var state := 1
if state == 1:
	print("Running")

يمنح التعداد (اختصارًا لـ enumeration) اسمًا لكل خيار. ترقّم GDScript الأسماء نيابةً عنك، بدءًا من 0:

enum State { IDLE, RUN, JUMP }

تكتب الآن State.RUN بدلًا من 1: اسم التعداد، ثم نقطة، ثم الخيار. يوضح الكود معنى ذلك:

var state := State.RUN
if state == State.RUN:
	print("Running")

يُعلَن عن التعداد في المستوى الأعلى من النص البرمجي، بجانب func _ready(): وليس داخله. إن وجود سطر enum داخل دالة خطأ يوقف البرنامج قبل تشغيله:

extends Node

enum State { IDLE, RUN, JUMP }

func _ready():
	var state := State.JUMP
	print(state) # 2

الخيارات ثوابت، لذا فإن State.RUN = 5 يُعد خطأً. يُبلَّغ عن خيار مكتوب بشكل خاطئ مثل State.RUNN قبل تشغيل البرنامج، بينما يمرّ رقم خاطئ مثل 3 بدلًا من 2 دون ملاحظة.

challenge icon

التحدي

سهل

يقرأ البرنامج عددًا صحيحًا من 0 إلى 3 يمثّل حالة الطقس. أطلِق أسماءً على الأعداد باستخدام تعداد، واطبع نصيحة.

  1. في المستوى الأعلى من البرنامج النصي، عرّف تعدادًا باسم Weather يتضمن الخيارات SUNNY وCLOUDY وRAINY وSNOWY، بهذا الترتيب.
  2. قارِن weather بخيارات التعداد (وليس بالأعداد) واطبع سطرًا واحدًا:
  • Weather.SUNNY: Wear sunglasses
  • Weather.CLOUDY: Bring a jacket
  • Weather.RAINY: Take an umbrella
  • Weather.SNOWY: Build a snowman

بالنسبة إلى الإدخال 2، يكون الناتج:

Take an umbrella

جرّب بنفسك

extends Node

# صرّح عن التعداد Weather هنا

func _ready():
	var weather := int(OS.read_string_from_stdin())
	# قارن weather بخيارات التعداد واطبع النصيحة
	pass
quiz iconاختبر نفسك

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

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

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