import {Component} from 'preact' import Split from "../components/old/split"; import Panel from "../components/Elements/Panel"; import Example from "../components/example"; import Code from "../components/old/code"; const r = String.raw; export default function(props) { return (
NetLogo è un software di modellazione sistemi multiagente.
Si può scaricare o usare da browser.
Il suo codice sorgente è disponibile su GitHub, e ha una pagina di documentazione.
L'utente di NetLogo, che vive nel contesto globale e dà ordini agli altri agenti.
Entità che possono muoversi per il mondo.
Possono essere di una breed (razza) specifica, definite con:
{r`breed [ ]`}
I quadratini del mondo. Possono essere di vari colori e avere varie proprietà.
Collegamenti tra due turtle.
L'observer viene creato automaticamente all'apertura della simulazione.
Nuove turtle possono essere create con il comando:
{r`- `}
Dove prefisso varia in base al contesto attuale:
Contesto | Prefisso |
---|---|
Observer | {r`create`} |
Turtle | {r`hatch`} |
Patch | {r`sprout`} |
All'inizio del codice:
{`globals [var1 var2 var3]`}
Aggiungi proprietà a tutte le turtle:
{`turtles-own [var1 var2 var3]`}
Aggiungi proprietà alle turtle di un breed:
{`-own [var1 var2 var3]`}
Aggiungi proprietà alle patch:
{r`patches-own [var1 var2 var3]`}
Aggiungi proprietà ai link:
{r`links-own [var1 var2 var3]`}
Si possono creare con:
{r`let `}
Si può impostare il valore di una variabile con:
{r`set `}
Per cambiare contesto:
{r`
ask [
]
`}
Nel caso ci siano più bersagli, verranno eseguiti uno
Funzioni che non restituiscono nulla:
{r`
to
end
`}
Con argomenti:
{r`
to [var1 var2 var3]
end
`}
Funzioni che restituiscono un valore:
{r`
to-report [var1 var2 var3]
report
end
`}
Muoviti di 10 unità:
{r`
forward 10
back 10
`}
Nota che la velocità massima delle tartarughe è di 1 unità/tick, quindi muoversi di 10 unità richiederà 10 tick.
Ruota di 10 gradi:
{r`
left 10
right 10
`}