Div2 è un linguaggio di programmazione modulare, cioè ogni procedura è
eseguita in maniera indipendente rispetto alle altre. Proprio per questo le
procedure vengono chiamate process.
Ogni processo ha le sue variabile locali (graph, x, y, ecc...) ed un suo numero
identificatore non modificabile contenuto nella variabile id.
è molto interessante notare come i processi interagiscono tra loro, infatti ogni processo può mandare dei segnali agli altri con la
funzione
Signal(identificatore processo, tipo di segnale).
L'identificatore di processo può essere inserito in vari modi:
- il numero del processo a cui si vuole segnalare;
- mettendo un Type più il nome del processo, il segnale sarà inviato a
tutti i processi con lo stesso nome;
- ogni processo ha al suo interno delle variabili locali che indicano chi
è il padre (father) o chi sono i figli (son).
l tipi di segnale sono:
S_Kill
|
elimina il processo identificato |
S_Sleep
|
non esegue più il codice, ma il processo rimane a video |
S_Wakeup
|
risveglia un processo addormentato. |
Inoltre aggiungendo la stringa
_Tree (es. S_Kill_Tree)
il segnale viene dato
sia al processo segnalato, sia a tutti i suoi figli.
Se, per esempio, mandiamo il segnale di
S_Kill_Tree
al processo principale,
questo provocherà la fine del gioco perché tutti i processi
termineranno.
|