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

if - else متداخل

جزء من قسم الأساسيات في رحلة GDScript على Coddy. الدرس 29 من 92.

يمكن وضع عبارة if داخل كتلة if أو else أخرى. وهذا ما يُسمّى عبارة if متداخلة. ابدأ بعبارة if/else بسيطة:

var age := 15
var group := ""
if age >= 18:
	group = "Adult"
else:
	group = "Minor"

والآن قسّم القاصرين إلى مجموعتين باستخدام if/else متداخلتين داخل كتلة else:

var age := 15
var group := ""
if age >= 18:
	group = "Adult"
else:
	if age >= 13:
		group = "Teenager"
	else:
		group = "Child"

15 ليست على الأقل 18، لذا يُنفَّذ else الخارجية. بداخلها، 15 >= 13 تساوي true، لذا تحتوي group على "Teenager".

يمكن أيضًا وضع if متداخلة داخل كتلة if:

var age := 25
var can_rent_car := false
if age >= 18:
	if age >= 21:
		can_rent_car = true

يُنفَّذ if الداخلي فقط عندما تُنفَّذ الكتلة الخارجية التي يقع داخلها. يضيف كل مستوى من التداخل مسافة جدولة واحدة.

challenge icon

التحدي

سهل

حدّد الأفلام التي يمكن للمشاهد مشاهدتها. تتم قراءة المتغيرين age وwith_parent نيابةً عنك في أول سطرين (لا تغيّرهما).

استخدم if/else متداخلتين لتعيين message:

  • إذا كانت قيمة age تساوي 18 أو أكثر: "You can watch any movie"
  • وإلا، إذا كانت قيمة with_parent هي true: "You can watch PG-13 movies"
  • وإلا: "You can only watch G-rated movies"

with_parent من النوع bool، لذا تحقّق منه مباشرةً: if with_parent:. اكتب الحالات الثلاث كلها: تختبر الاختبارات أعمارًا مختلفة مع وجود أحد الوالدين وبدونه. على سبيل المثال، عند العمر 17 مع وجود أحد الوالدين، يكون الناتج:

You can watch PG-13 movies

جرّب بنفسك

extends Node

func _ready():
	var age := int(OS.read_string_from_stdin()) # لا تغيّر هذا السطر
	var with_parent := OS.read_string_from_stdin() == "true" # لا تغيّر هذا السطر
	var message := ""
	# اكتب شيفرة if - else المتداخلة أدناه

	# لا تغيّر السطر أدناه
	print(message)
quiz iconاختبر نفسك

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

جميع دروس الأساسيات

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