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 = 10enum juga merupakan tipe. Variabel yang dideklarasikan dengan enum menyimpan salah satu opsinya:
var level: Difficulty = Difficulty.HARD
print(level) # 3
print(level * 50) # 150Sebuah 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.
Tantangan
MudahProgram membaca damage dasar musuh (bilangan bulat). Pada tingkat kesulitan yang lebih tinggi, serangan musuh lebih kuat: damage adalah damage dasar dikalikan nilai tingkat kesulitan.
- Di tingkat teratas skrip, deklarasikan enum bernama
Difficultydengan opsiEASY(nilai1),NORMAL,HARD, danNIGHTMARE(nilai10). Jangan beriNORMALdanHARDnilai sendiri, sehingga nilainya berlanjut dariEASY. - 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: 120Coba 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
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Mendalami String
Method untuk StringMencari dalam StringMengganti dan Menghapus SpasiMemisahkan dan MenggabungkanUlasan: Memeriksa Nama Pengguna4Dictionary Bagian 2
Dictionary BersarangArray berisi DictionaryMenggabungkan DictionaryMenyalin DictionaryRangkuman: Penghitung Frekuensi10Fungsi Lanjutan
Mengembalikan Beberapa NilaiFungsi Lambda Bagian 1Fungsi Lambda Bagian 2Ringkasan: Mengurutkan dengan LambdaFungsi Rekursif Bagian 1Fungsi Rekursif Bagian 2Ringkasan: Menjumlahkan array Bersarang13Sistem Manajemen Inventaris
Ikhtisar ProyekTambahkan Barang2Pengambilan Keputusan Lanjutan
Pencocokan dengan VariabelGuard pada MatchPola arrayPola dictionaryPemeriksaan KeanggotaanUlasan: Parser Perintah5Aplikasi Buku Kontak
Tampilkan MenuTambah Kontak8Pengelola Data Siswa
Gambaran Umum ProyekTambah Siswa11Fungsi Tingkat Tinggi
Method mapMethod filterMethod reduceany dan allUlasan: Validator EmailUlasan: Pemroses Angka3Array Multidimensi
Dasar-Dasar Array 2DMengakses Elemen Array 2DNested Loop dengan Array 2DRangkuman: Array 2DArray Tidak BeraturanPola Umum Array 2DRangkuman: Papan Permainan6Set dengan Dictionary
Apa Itu Set?Dictionary sebagai SetMenambahkan dan MenghapusUnion dan IntersectionSelisih SetRangkuman: Menghapus DuplikatLatihan sendiri: Compiler GDScript online