Menu
CoddyTech

Definire un'enumerazione

Fa parte della sezione Logica e flusso del percorso GDScript di Coddy. Lezione 38 di 78.

Una dichiarazione di enum è la parola chiave enum, un nome e le opzioni racchiuse tra parentesi graffe, separate da virgole. La guida di stile di Godot scrive il nome in PascalCase e le opzioni in CONSTANT_CASE:

enum Direction { NORTH, EAST, SOUTH, WEST }

Un'enumerazione lunga può mettere un'opzione per riga. È consentita una virgola dopo l'ultima opzione:

enum Weapon {
	SWORD,
	BOW,
	STAFF,
}

Puoi scegliere il valore di un'opzione con =. Un'opzione senza valore assume il valore dell'opzione precedente più 1:

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

Anche l'enumerazione è un tipo. Una variabile dichiarata con essa contiene una delle sue opzioni:

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

Uno script può dichiarare diversi enum, ciascuno con il proprio nome. Se ometti il nome, come in enum { LEFT, RIGHT }, le opzioni diventano costanti dello script e scrivi LEFT senza prefisso.

challenge icon

Sfida

Facile

Il programma legge il danno base di un nemico (un numero intero). Ai livelli di difficoltà più alti, il nemico colpisce più forte: il danno è pari al danno base moltiplicato per il valore della difficoltà.

  1. Al livello superiore dello script, dichiara un enum chiamato Difficulty con le opzioni EASY (valore 1), NORMAL, HARD e NIGHTMARE (valore 10). Non assegnare un valore proprio a NORMAL e HARD, così i loro valori proseguono da EASY.
  2. Stampa il danno per ogni livello di difficoltà, uno per riga, usando le opzioni dell'enum nel calcolo.

Per l'input 12, l'output è:

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

Provalo tu

extends Node

# Dichiara qui l'enum Difficulty

func _ready():
	var base_damage := int(OS.read_string_from_stdin())
	# Stampa il danno per ogni livello di difficoltà
	pass
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore GDScript online