Apa Itu Enum?
Termasuk bagian Logika dan Alur dalam perjalanan GDScript di Coddy. Pelajaran 37 dari 78.
Beberapa nilai hanya bisa berupa salah satu dari beberapa pilihan: lampu lalu lintas berwarna merah, kuning, atau hijau, dan pemain sedang diam, berlari, atau melompat. Kamu bisa menyimpan pilihan itu sebagai angka, dengan 0 untuk diam dan 1 untuk berlari, tetapi setiap pembaca harus mengingat arti setiap angka:
var state := 1
if state == 1:
print("Running")enum (singkatan dari enumerasi) memberi nama pada setiap opsi. GDScript memberi nomor pada nama-nama tersebut untukmu, dimulai dari 0:
enum State { IDLE, RUN, JUMP }Sekarang kamu menulis State.RUN, bukan 1: nama enum, titik, lalu opsinya. Kode ini menjelaskan maknanya:
var state := State.RUN
if state == State.RUN:
print("Running")enum dideklarasikan di tingkat teratas skrip, bersebelahan dengan func _ready(): dan bukan di dalamnya. Baris enum di dalam fungsi akan menyebabkan error yang menghentikan program sebelum program dijalankan:
extends Node
enum State { IDLE, RUN, JUMP }
func _ready():
var state := State.JUMP
print(state) # 2Opsi tersebut adalah konstanta, jadi State.RUN = 5 adalah error. Opsi yang salah eja seperti State.RUNN dilaporkan sebelum program dijalankan, sedangkan angka yang salah seperti 3 sebagai pengganti 2 tidak terdeteksi.
Tantangan
MudahProgram membaca bilangan bulat dari 0 hingga 3 yang mewakili cuaca. Beri nama pada angka-angka tersebut dengan enum dan cetak satu saran.
- Di tingkat teratas skrip, deklarasikan enum bernama
Weatherdengan opsiSUNNY,CLOUDY,RAINYdanSNOWY, dalam urutan ini. - Bandingkan
weatherdengan opsi enum (bukan dengan angka-angkanya) dan cetak satu baris:
Weather.SUNNY:Wear sunglassesWeather.CLOUDY:Bring a jacketWeather.RAINY:Take an umbrellaWeather.SNOWY:Build a snowman
Untuk input 2, output-nya adalah:
Take an umbrellaCoba sendiri
extends Node
# Deklarasikan enum Weather di sini
func _ready():
var weather := int(OS.read_string_from_stdin())
# Bandingkan weather dengan pilihan enum, lalu cetak sarannya
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