Menu
CoddyTech

שינוי מילונים

חלק מהיחידה יסודות במסלול ה-GDScript של Coddy. שיעור 79 מתוך 92.

כדי לשנות ערך, יש לבצע השמה למפתח שלו באמצעות סוגריים מרובעים. אם המפתח חדש, הזוג נוסף בסוף המילון:

var player := {"name": "Mia", "hp": 100}
player["hp"] = 80 # מעדכן את הערך של "hp"
player["level"] = 2 # מוסיף זוג חדש
print(player)

הפלט הוא:

{ "name": "Mia", "hp": 80, "level": 2 }

אפשר גם לעדכן ערך מהערך הקודם שלו, כמו של משתנה:

player["level"] += 1 # level הוא כעת 3

כדי להסיר זוג, יש לקרוא ל־erase() עם המפתח שלו. הפונקציה מחזירה true כשהמפתח הוסר ו־false כשהמפתח לא היה שם. מפתח חסר אינו שגיאה:

print(player.erase("hp")) # true
print(player.erase("hp")) # false
print(player) # { "name": "Mia", "level": 3 }

erase() לא מחזירה את הערך שהוסר. אם אתה זקוק לו, קרא אותו לפני שתמחק את המפתח.

challenge icon

אתגר

קל

התוכנית קוראת ארבע שורות קלט:

  1. שם של שחקן
  2. רמת התחלה (מספר שלם)
  3. רמה חדשה (מספר שלם)
  4. זוג חדש הכתוב בתבנית key:value, למשל guild:Falcons

המילון player כבר נוצר עם "name" ועם "level". לאחר מכן:

  1. עדכנו את "level" עם הרמה החדשה
  2. פצלו את הקלט הרביעי לפי : והוסיפו את הזוג הזה למילון (השאירו את הערך כטקסט)
  3. שמרו את הערך של "name" במשתנה, ואז מחקו את המפתח "name"

הדפיסו את השם השמור בשורה הראשונה ואת המילון בשורה השנייה. עבור הקלטים Mia, 4, 5 ו-guild:Falcons, הפלט הוא:

Mia
{ "level": 5, "guild": "Falcons" }

נסו בעצמכם

extends Node

func _ready():
	var player_name := OS.read_string_from_stdin()
	var level := int(OS.read_string_from_stdin())
	var new_level := int(OS.read_string_from_stdin())
	var pair := OS.read_string_from_stdin()

	var player := {"name": player_name, "level": level}

	# 1. עדכנו את הרמה
	# 2. הוסיפו את הזוג מהקלט הרביעי
	# 3. שמרו את השם, ואז מחקו אותו
	# 4. הדפיסו את השם השמור ואת המילון
	pass
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר GDScript אונליין