Menu
CoddyTech

Ringkasan: Lampu Lalu Lintas

Termasuk bagian Logika dan Alur dalam perjalanan GDScript di Coddy. Pelajaran 41 dari 78.

challenge icon

Tantangan

Mudah

Simulasikan lampu lalu lintas. Di tingkat teratas skrip, deklarasikan enum bernama TrafficLight dengan opsi RED, YELLOW dan GREEN, lalu tulis tiga fungsi yang masing-masing menggunakan match pada lampu:

  • get_driver_action(light) mengembalikan "Stop" untuk merah, "Caution" untuk kuning dan "Go" untuk hijau
  • get_wait_time(light) mengembalikan 30 untuk merah, 3 untuk kuning dan 25 untuk hijau
  • get_next_light(light) mengembalikan lampu berikutnya: merah berubah menjadi hijau, hijau berubah menjadi kuning dan kuning berubah menjadi merah

Program membaca dua baris: nama lampu pertama (RED, YELLOW atau GREEN) dan jumlah lampu yang akan ditampilkan (bilangan bulat, 1 atau lebih). Untuk setiap lampu, cetak namanya, tindakannya dan waktu tunggunya, lalu lanjutkan ke lampu berikutnya. Terakhir, cetak jumlah seluruh waktu tunggu.

Untuk input RED dan 4, outputnya adalah:

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

Coba sendiri

extends Node

# Deklarasikan enum TrafficLight di sini

# Tulis get_driver_action(), get_wait_time(), dan get_next_light() di sini

func _ready():
	var first := OS.read_string_from_stdin()
	var count := int(OS.read_string_from_stdin())
	# Tampilkan lampu lalu lintas dan total waktu tunggu
	pass

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler GDScript online