Menu
CoddyTech

Definiowanie typu wyliczeniowego

Część sekcji Logika i przepływ programu ścieżki GDScript w Coddy. Lekcja 38 z 78.

Deklaracja wyliczenia składa się ze słowa kluczowego enum, nazwy oraz opcji ujętych w nawiasy klamrowe i oddzielonych przecinkami. W przewodniku po stylu Godot nazwa jest zapisywana w formacie PascalCase, a opcje w formacie CONSTANT_CASE:

enum Direction { NORTH, EAST, SOUTH, WEST }

Długi enum może umieszczać każdą opcję w osobnym wierszu. Przecinek po ostatniej opcji jest dozwolony:

enum Weapon {
	SWORD,
	BOW,
	STAFF,
}

Możesz wybrać wartość opcji za pomocą =. Opcja bez wartości otrzymuje wartość poprzedniej opcji powiększoną o 1:

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

Typ wyliczeniowy również jest typem. Zmienna zadeklarowana z jego użyciem przechowuje jedną z jego opcji:

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

Skrypt może deklarować kilka typów wyliczeniowych, każdy z własną nazwą. Jeśli pominiesz nazwę, jak w enum { LEFT, RIGHT }, opcje stają się stałymi skryptu i zapisujesz LEFT bez prefiksu.

challenge icon

Wyzwanie

Łatwy

Program odczytuje podstawowe obrażenia zadawane przez przeciwnika (liczbę całkowitą). Na wyższych poziomach trudności przeciwnik zadaje większe obrażenia: obrażenia to podstawowe obrażenia pomnożone przez wartość poziomu trudności.

  1. Na najwyższym poziomie skryptu zadeklaruj wyliczenie o nazwie Difficulty z opcjami EASY (wartość 1), NORMAL, HARD i NIGHTMARE (wartość 10). Nie przypisuj własnych wartości do NORMAL i HARD, aby ich wartości były kolejnymi liczbami po EASY.
  2. Wypisz obrażenia dla każdego poziomu trudności, po jednym w każdym wierszu, używając opcji wyliczenia w obliczeniach.

Dla danych wejściowych 12 wynikiem jest:

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

Spróbuj swoich sił

extends Node

# Zadeklaruj tutaj enum Difficulty

func _ready():
	var base_damage := int(OS.read_string_from_stdin())
	# Wypisz obrażenia dla każdego poziomu trudności
	pass
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator GDScript online