Menu
CoddyTech

Mendefinisikan Enum

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

Deklarasi enum terdiri dari kata kunci enum, sebuah nama, dan opsi di dalam kurung kurawal yang dipisahkan dengan koma. Panduan gaya Godot menulis nama dengan PascalCase dan opsi dengan CONSTANT_CASE:

enum Direction { NORTH, EAST, SOUTH, WEST }

enum yang panjang dapat menempatkan satu opsi di setiap baris. Koma setelah opsi terakhir diperbolehkan:

enum Weapon {
	SWORD,
	BOW,
	STAFF,
}

Kamu bisa memilih nilai opsi dengan =. Opsi tanpa nilai akan mendapat nilai opsi sebelumnya ditambah 1:

enum Difficulty { EASY = 1, NORMAL, HARD, NIGHTMARE = 10 }
# EASY = 1, NORMAL = 2, HARD = 3, NIGHTMARE = 10

enum juga merupakan tipe. Variabel yang dideklarasikan dengan enum menyimpan salah satu opsinya:

var level: Difficulty = Difficulty.HARD
print(level) # 3
print(level * 50) # 150

Sebuah skrip dapat mendeklarasikan beberapa enum, masing-masing dengan namanya sendiri. Jika kamu tidak menyertakan nama, seperti pada enum { LEFT, RIGHT }, opsi-opsinya menjadi konstanta skrip, dan kamu menulis LEFT tanpa awalan.

challenge icon

Tantangan

Mudah

Program membaca damage dasar musuh (bilangan bulat). Pada tingkat kesulitan yang lebih tinggi, serangan musuh lebih kuat: damage adalah damage dasar dikalikan nilai tingkat kesulitan.

  1. Di tingkat teratas skrip, deklarasikan enum bernama Difficulty dengan opsi EASY (nilai 1), NORMAL, HARD, dan NIGHTMARE (nilai 10). Jangan beri NORMAL dan HARD nilai sendiri, sehingga nilainya berlanjut dari EASY.
  2. Cetak damage untuk setiap tingkat kesulitan, satu per baris, dengan menggunakan opsi enum dalam perhitungannya.

Untuk input 12, output-nya adalah:

EASY: 12
NORMAL: 24
HARD: 36
NIGHTMARE: 120

Coba sendiri

extends Node

# Deklarasikan enum Difficulty di sini

func _ready():
	var base_damage := int(OS.read_string_from_stdin())
	# Cetak nilai kerusakan untuk setiap tingkat kesulitan
	pass
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler GDScript online