Menu
CoddyTech

Tekrar - Trafik Işığı

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

challenge icon

Görev

Kolay

Bir trafik ışığını simüle edin. Betiğin en üst düzeyinde, TrafficLight adlı bir enum tanımlayın; seçenekleri RED, YELLOW ve GREEN olsun ve ışık üzerinde match kullanan üç fonksiyon yazın:

  • get_driver_action(light), kırmızı için "Stop", sarı için "Caution" ve yeşil için "Go" döndürür
  • get_wait_time(light), kırmızı için 30, sarı için 3 ve yeşil için 25 döndürür
  • get_next_light(light), sıradaki ışığı döndürür: kırmızı yeşile, yeşil sarıya ve sarı kırmızıya dönüşür

Program iki satır okur: ilk ışığın adı (RED, YELLOW veya GREEN) ve gösterilecek ışık sayısı (bir tam sayı, 1 veya daha fazla). Her ışık için adını, eylemini ve bekleme süresini yazdırın, ardından sonraki ışığa geçin. Son olarak tüm bekleme sürelerinin toplamını yazdırın.

RED ve 4 girdileri için çıktı şöyledir:

RED: Stop for 30 seconds
GREEN: Go for 25 seconds
YELLOW: Caution for 3 seconds
RED: Stop for 30 seconds
Total wait: 88 seconds

Kendin dene

extends Node

# TrafficLight enum'unu burada tanımlayın

# get_driver_action(), get_wait_time() ve get_next_light() fonksiyonlarını burada yazın

func _ready():
	var first := OS.read_string_from_stdin()
	var count := int(OS.read_string_from_stdin())
	# Işıkları ve toplam bekleme süresini gösterin
	pass

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

Kendi başına pratik yap: Online GDScript derleyicisi