Le variabili in GdScript - Godot Engine

 

Buy Me a Coffee at ko-fi.com




”Immaginate di avere un cassetto e di chiamarlo “Bob”. Potete aprire e chiudere il cassetto tutte le volte che volete. Siccome Bob è un ottimo cassetto, vi permette di controllare cosa c’è dentro, di prendere il suo contenuto e persino di cambiarlo. Tuttavia, Bob può accettare solo certi tipi di oggetti, quindi dovete dargli solo quelli, altrimenti non li potrà conservare.“

Ho usato l’esempio del cassetto non a caso. Il cassetto è localizzato in un luogo specifico e può contenere qualcosa o oggetti. 





Una variabile, in informatica, è un contenitore di dati situato in una porzione di memoria (una o più locazioni di memoria) destinata a contenere valori, suscettibili di modifica nel corso dell'esecuzione di un programma.


Ma come si scrivono le variabili ?


Basta scrivere la parola var seguita da un nome.

Caratteristiche del nome:


Può essere alfanumerico                             nomeVariabile123 

Non può contenere spazi                             nome Variabile 123 ❌

Non può iniziare per numero                      123NomeVariabile ❌

Non può contenere simboli                         Nome#@Variabile ❌




I nomi sono case sensitive, si tiene conto delle minuscole o maiuscole. I nomi scritti qui accanto sono tutti diversi proprio per quel motivo. Avere uno stile di nomenclatura consistente, vuol dire facilitare la proprio attività di programmazione. 




Completiamo la variabile

var bob :int = 5

In GdScript è possibile fare ciò che si chiama Static Typing (tipizzazione statica)

Con il Static Typing si dichiara in modo specifico il tipo di dato che una variabile contiene . 

Questo ha benefici sia a livello del editor, nel quale potremmo accedere a dei suggerimenti nel completamento della variabile, avremmo benefici anche a livello di esecuzione del codice, sarà più veloce e ci saranno meno possibilità di errori.

Esempi di variabili scritte con Static Typing


var bob :int = 5 # solo numeri interi
var virgola :float = 5.3 # numeri con la virgola
var testo :String = "Posso essere testo, posso avere numeri tra le virgole"
var vero :bool = true
var falso :bool = false
var vero1 :bool = 1
var falso2 :bool = 0
var dueNumeri :Vector2 = Vector2(0,1)
var treNumeri :Vector3 = Vector3(0,1,2)
var quatroNumeri :Vector4 = Vector4(0,1,2,3)
var scafale :Array = [0,1,2,3,4,5,6,7,8,9]
var scafale2 :Array = [o, "uno", 2, "tre",4,"..."]
var dizionario :Dictionary = {"chiave1": 50, "salute" : 10, "parolaChiave": "pass"}
    

Se scrivere le variabili in questo modo vi sembra complesso o difficile da ricordare tutte le tipizzazioni, non vi preoccupate perché le variabili si possono scrivere anche senza tipizzazione. Questo modo di scriverle si chiama Dynamic Typing e da la possibilità alle variabili di cambiare in modo dinamico tipo. Questo modo ha lo svantaggio di rendere il codice più lento, non ci sono suggerimenti nell’editor e può essere soggetto a errori di interpretazione data la sua natura dinamica.

Esempi di variabili scritte con Dynamic Typing


var bob = 5 #solo numeri interi
var virgola = 5.3 #numeri con la virgola
var testo = "Posso essere testo, posso avere numeri tra le virgole"
var vero = true
var falso = false
var vero1 = 1
var falso2 = 0
var dueNumeri = Vector2(0,1)
var treNumeri = Vector3(0,1,2)
var quatroNumeri = Vector4(0,1,2,3)
var scafale = [0,1,2,3,4,5,6,7,8,9]
var scafale2 = [o, "uno", 2, "tre",4,"..."]
var dizionario = {"chiave1": 50, "salute" : 10, "parolaChiave": "pass"}


Per ottenere il valore di una variabile, basta scriverne il nome, e in automatico otterrete il suo contenuto. Se volete modificare il valore, richiamate la variabile con il nome e assegnatele un nuovo valore, per esempio: 

Bob = 6



var Cassetto = 2.5
var
dueNumeri = Vector2(0,1)
var
a = 1
var
b = 2
var
c = 10

func _ready:
print (Bob)
print (dueNumeri)
print (dueNumeri.x)
print (dueNumeri.y)
bob = 6
bob += 1
bob = 4+2
bob = b
а = с
c /= b
a = c*b
bob = c/b
a = b+6 




Con le variabili si possono eseguire operazioni matematiche tra numeri. Non è possibile eseguire operazioni matematiche tra numeri e lettere, ma possiamo convertire una stringa che rappresenta un numero in un numero intero o viceversa. Per convertire una stringa in un numero, si può usare la funzione int(), mentre per convertire un numero in stringa si usa str().


Le stringhe possono essere concatenate. Per unire due linee di testo, basta usare il simbolo +. Ad esempio: "prima parte" + " seconda parte". Ricordatevi di mettere il testo tra virgolette doppie (””).


var testo = ”prima parte ” + “seconda parte”

Output: “prima parte seconda parte”


Var testo1 = “prima parte di testo, ”

Var testo2 = “seconda parte di testo“

Var testo3 = testo1 + testo2

Output: “prima parte di testo, seconda parte di testo”


Per la manipolazione delle stringhe esistono numerose funzioni, come find(), length(), left(), right(). Vi consiglio di consultare la documentazione per esplorare tutte le possibilità. 


Var bob = Vector3(1,2,3)


Vector2(), vector3(), vector4() vengono usati per calcoli vettoriali e come tali possono contenere più valori.  


Vector2(5,4)

Vector3(2,6,7)

Vector4(1,3,5,8)


Si può accedere agli singoli valori di un vettore usando le lettere x,y,z,w .

Vector4(x,y,z,w)


Es. Var bob = Vector2(5,4)

Print(bob.x

Output: 5


Consistenza nella nomenclatura

Ci sono diversi modi di scrivere i nomi, come abbiamo già visto ci sono delle regole da seguire perché il nome sia valido. La consistenza nel scrivere nello stesso modo (stile) tutti i nomi è importante. Questo vi faciliterà la programmazione non di poco, saprete sempre come scrivere i nomi di variabili e funzioni, sarà semplice anche richiamarle evitando errori di case sensitive. 

Diversi modi di scrivere un nome:

1. camelCase

Ogni nuova parte del nome inizia per maiuscola. Es. nomeVariabileCamelCase

2. snake_case

Ogni nuova parte del nome è preceduta da _” . Es. nome_variabile_snake_case

3. PascalCase

Il parola del nome inizia per maiuscolo. Es. NomeVariabilePascalCase

4. kebab-case

Ogni parte nuova parte del nome è preceduta da “-“ . 

Es. Nome-variabile-kebab-case

Le costanti 

In GDScript ci sono anche le costanti, ma hanno una caratteristica fondamentale: una volta assegnato un valore, non possono essere modificate. 

Sono usate per valori che devono rimanere invariati durante l'esecuzione del programma, come impostazioni o parametri globali.


In GDScript, le costanti si dichiarano usando la parola chiave `const` anziché `var`. Si usa scrivere i nomi delle costanti in maiuscolo, separando le parole con underscore (`_`), ovvero in SNAKE_CASE per distinguerle facilmente dalle variabili.


Differenze tra Costanti e Variabili

Caratteristica Variabili Costanti
Dichiarazione var nome_variabile const NOME_COSTANTE
Modificabilità Modificabili durante l’esecuzione Non modificabili dopo l’assegnazione
Uso Valori che cambiano nel tempo Valori che restano fissi
Convenzione di scrittura Solitamente minuscolo/camelCase Solitamente MAIUSCOLO_SNAKE_CASE


Esempli di costanti


const PI = 3.14159                # Una costante numerica (float)
const MAX_LIVES = 5               # Una costante intera (int)
const GAME_NAME = "Avventura!"    # Una costante stringa (String)
const SCREEN_SIZE = Vector2(1920, 1080)  # Una costante Vector2
    


Buy Me a Coffee at ko-fi.com

Commenti