N.B. Per l’uso di questo Controller è necessario avere un’infarinatura minima di programmazione.

Il Controller Expression quando riceve un segnale positivo da un Sensor valuta un’espressione scritta da noi e se è vera (True) invia il segnale all’Actuator.

Per scrivere le Espressioni si possono usare :

  • Operazioni Logiche, Matematiche e Boolean (i simboli)
    Le operazioni matematiche sono : * moltiplicazione, / divisione, + addizione e – sottrazione.
    Gli operatori logici sono :  = oppure == uguale a, != non uguale, > maggiore, < minore, >= maggiore o uguale a, <= minore o uguale a.
    Gli operatori Booleans AND, OR, NOT (da scrivere sempre in maiuscolo).
  • Le Property (variabili), si assegna una Property all’oggetto proprietario del Controller e la si usa. Per esempio se abbiamo l’energia del player come Property e vogliamo che quando l’energia arriva a zero accade qualcosa scriveremo :’energia = 0′ (energia uguale a zero), così verrà inviato un’impulso positivo all’Actuator collegato.
  • Istruzione condizionale, l’istruzione più comune alla maggior parte dei linguaggi di programmazione la famosa if. Si scrive if ( condizione, true, false), dove ‘condizione’ sta per un’operazione logica o matematica. Per fare un’esempio usiamo la Property di prima (energia) : if (energia < 10, True). Se l’energia è minore di 10 invia un impulso positivo, il True e il False sono i tipi di impulso che vogliamo che vengano inviati, anche se la condizione è soddisfatta possiamo mandare impulso negativo usando il False.
  • Si possono usare anche i Sensors e l’operatore ‘uguale a’, in questo caso viene valutato se il Sensor invia un impulso positivo o negativo. Un’esempio : vogliamo che il cubo ruoti su se stesso dopo 1 sec, inseriamo un Sensor Delay e impostare il Delay su 60 e nel Controller Expression scriveremo : Delay = True. In questo modo quando il Sensor Delay manda un segnale positivo il Controller valuta l’espressione e invia un segnale all’Actuator Motion che fa ruotare il cubo. Possiamo anche scrivere False al posto di True e il Controller invierà il segnale quando il Sensor Delay invierà un segnale negativo. Si possono inoltre concatenare le espressioni usando gli operatori Booleans, faccio un’esempio : aggiungiamo la Property energia di tipo Integer e diamogli un numero inferiore a 10, possiamo aggiungere all’espressione precedente anche questo dato, verrà così : Delay = True AND energia < 10. In questo modo se entrambe le espressioni sono vere il Controller invierà il segnale all’Actuator che ruoterà il cubo. Se si cambia il valore della Property e si assegna un numero superiore a 10 il Controller non invierà mai il segnale. Se usiamo OR invece quando una delle due espressioni è vera verrà inviato il segnale.

N.B. Sia le Property che i nomi dei Sensors (che sono i nomi che diamo noi) non devono contenere spazi. In realtà gli esempi che si possono fare sono infiniti, dipende molto dal caso specifico, verranno inseriti nei vari tutorial anche parti dedicate alle espressioni.

Leave a Comment.