Valid HTML 4.01!

Primi passi con StarLogo

Comandi fondamentali sulla finestra osservatore e sulla finestra tartarughe. Non esiste differenza tra maiuscole e minuscole. Usando la convenzione adottata dagli sviluppatori nell’illustrare i comandi, quelli eseguibili dalle tartarughe sono in verde, quelli eseguibili dall’osservatore sono in marroncino. Se i comandi sono utilizzazbili in entrambe le finestre, li scriveremo invece in azzurro.

 

CG Clear Graphics CA Clear ALL

KILL 4 ammazza la tarta numero 4

DIE   uccide tutte le tarta che scompaiono dallo schermo

Con i comandi KILL e DIE restano le eventuali tracce lasciate dalle tartarughe.

CREATE-AND-DO numero [lista comandi]

HATCH [ lista comandi ]  ogni tartaruga ne genera un’altra identica a se stessa che esegue i comandi tra parentesi.

SETC nomecolore oppure numero assegna un colore alla tartaruga e alla sua traccia.

PD mette giù la penna

PU le tartarughe non lasciano più la traccia (stato di default)

ASK-TURTLES [lista comandi]. Una lista di comandi “capiti” dalle tartarughe può essere eseguita dalla finestra dell’osservatore purché preceduta dalla opportuna richiesta.

Non esiste un comando duale per la finestra delle tartarughe.

 

In basso, in entrambe le finestre si trova un’area dove vengono definite le procedure. Ma non solo. Si dichiarano qui le variabili sia quelle locali ad ogni tartaruga, sia quelle globali.

 

In effetti ogni tartaruga, identificata dal suo numero che ci viene restituito dal comando

WHO

 ha le sue variabili di stato  implicite.

XCOR
YCOR
COLOR
HEADING
BREED
SHOWN?
PENDOWN?

 Queste variabili sono accedute dal programmatore usandone il nome nelle espressioni. Possono essere cambiate con il comando

SET

Anche i patch hanno le proprie variabili di stato.

XCOR  che non può essere alterato (!!!)
YCOR che non può essere alterato (!!!)
PATCH-COLOR che può essere alterato con il comando
SET PC nuovocolore

Si possono definire nuove variabili  nell’area delle procedure

 

TURTLES-OWN [lista variabili]
PATCHES-OWN [lista variabili]
GLOBALS [lista variabili]

Le variabili sono definibili in qualunque area procedure ma non in entrambe!!!

I tre suffissi -AT -TO -TOWARDS sono molto utili nella programmazione.

 

Le variabili locali alle procedure esistono solo dentro le procedure che le definiscono e sono identificate dalla parola chiave

LET

I parametri delle procedure si comportano come nel LOGO.

 

Inoltre ci sono le dichiarazioni

 

BREEDS [lista variabili ]

 

che servono per identificare le popolazioni che vivono nel mondo virtuale.

Uso della grafica

Alla sua apertura la finestra grafica contiene alcune tartarughe che sono tutte al centro dello schermo.

Scriviamo

 

die

crt 20
create-and-do 5 [fd 3]

hatch [setc blue fd 1]
setc blue
if ycor < 0 [setc green]
if color = green [pd]
If  color = green [ repeat 36 [fd 1 right 10]

cg

 

Le procedure

 

Vediamo adesso qualche “gioco” di colori.

 

to setup
ca
crt 10
ask-turtles [pd]
end

 

to go
if who < 10
  [rt 1
hatch [setc who / 30
   repeat 36 [fd 4 rt 10]
    die]]
end

 

Scriviamo poi sulla finestra osservatore

 

setup

 

e sulla finestra tartarughe

 

repeat 100[go]

 

La varietà di colori è davvero stupefacente..

Osserviamo adesso che la finestra grafica StarLogo contiene in alto a destra uno slider  che fissa la grandezza dei patch espressa in pixel. Facciamo in modo che essa sia 1. Il mondo si rimpicciolisce di conseguenza.  Ma se col mouse selezioniamo la lavagna, vediamo che possiamo ingrandirla, lasciando che la grandezza dei pixel sia sempre 1. 

Rieseguiamo il programma.  La figura ottenuta è un po’ diversa. Perché?  È interessante anche notare che se ingrandiamo il mondo mentre le tartarughe lavorano,  essa è ancora diversa!!

Comunque, fissata una grandezza dei patch e una grandezza dello schermo, decidiamo di rendere il programma di più semplice esecuzione. Usiamo allora la possibilità di aggiungere “bottoni”.

Scegliamo per il primo il nome “inizializza” e gli associamo la proprietà di essere eseguito dall’osservatore e quella di mostrare il suo nome.  Per il secondo scegliamo il nome “vai” e gli associamo le propprietà di essere associato alle tartarughe, di eseguire la procedura go e di eseguirla “forever”. Per fermare questa “eterna” procedura basta rifare un clic sul bottone “vai”.