Menu
CoddyTech

Ekleme ve Silme

Coddy'nin GDScript Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 33 / 78.

Bir üyeyi eklemek için anahtarına true atayın. Kümede zaten bulunan bir üyeyi eklemek hiçbir şeyi değiştirmez; bu nedenle yeni olup olmadığını öğrenmeniz gerektiğinde önce has() ile kontrol edin:

var inventory := {"rope": true}
if inventory.has("torch"):
	print("Already have torch")
else:
	inventory["torch"] = true
	print("Added torch")

Bir üyeyi kaldırmak için erase() çağırın. Üye kaldırıldığında true, kümede olmadığında ise false döndürür. Eksik bir üye hiçbir zaman hata değildir:

print(inventory.erase("rope")) # true
print(inventory.erase("map")) # false
print(inventory) # { "torch": true }

erase() bir boole değeri döndürdüğü için, onu doğrudan koşul olarak kullanabilirsin: if inventory.erase("map"): bloğu yalnızca "map" bir üyeyse çalışır.

clear() her üyeyi kaldırır, size() onları sayar ve hiç üyesi olmayan bir küme için is_empty() değeri true olur.

challenge icon

Görev

Kolay

Program, done satırına kadar her satırda bir komut okur. Her komut add ITEM veya remove ITEM biçimindedir. Başlangıç kodu, her komutu zaten action ve item olarak ayırır.

  • add için: öğe yeniyse onu inventory kümesine ekleyin ve Added ITEM yazdırın. Aksi takdirde Already have ITEM yazdırın.
  • remove için: öğe kümedeyse onu kaldırın ve Removed ITEM yazdırın. Aksi takdirde No ITEM to remove yazdırın.

done satırından sonra Inventory: yazdırın ve bunu üyeleri , ile birleştirerek devam ettirin; küme boşsa Inventory: empty yazdırın. Girdi şöyleyse:

add torch
add rope
add torch
remove map
remove rope
done

çıktı şöyledir:

Added torch
Added rope
Already have torch
No map to remove
Removed rope
Inventory: torch

Kendin dene

extends Node

func _ready():
	var inventory := {}
	while true:
		var command := OS.read_string_from_stdin()
		if command == "done":
			break
		var parts := command.split(" ")
		var action := parts[0]
		var item := parts[1]
		# Öğeyi ekle veya kaldır

	# Envanteri yazdır
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık ve Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online GDScript derleyicisi