Se le variabili sono i contenitori dei dati di gioco, le funzioni sono i motori che li mettono in movimento. In termini semplici, una funzione è un blocco di codice isolato che esegue un compito specifico. Invece di scrivere la stessa sequenza di istruzioni ogni volta che un nemico subisce danni o un giocatore salta, si racchiudono quelle istruzioni in una funzione e si "chiama" (si invoca) ogni volta che occorre. L'obiettivo principale delle funzioni è rendere il codice modulare, leggibile e riutilizzabile. Ecco i vantaggi principali:
- evitare ripetizioni: si scrive il codice una volta e si usa ovunque;
- organizzazione: le funzioni permettono di dividere un problema complesso in piccoli "pezzi" gestibili (ad esempio, una funzione per calcola_punteggio() e una per aggiorna_interfaccia());
- astrazione: una volta creata una funzione, non occorre più preoccuparsi di come faccia una cosa, basta sapere cosa fa quando la si invoca.