Scrivete il vostro ipertesto sugli automi cellulari!

Questo documento si basa su un solo applet pilotabile dal'HTML. L'applet,del quale e' disponibile il sorgente, si compone di 3 classi: Questa documentazione e' stata generata direttamente dall'applet con l'istruzione:
javadoc Automa.java
Attenzione,essa richiede una serie di immagini caricate in questa cartella!
E' possibile pilotare l'applet sia usando il comando PARAM che chiamando dei metodi attraverso Javascript.

Pilotaggio attraverso il comando PARAM

Il comando PARAM si presenta nel modo seguente:
<PARAM name=nomedelparametro value=valoredelparametro >
Questi comandi vanno inseriti tra <applet e </applet.
I Comandi Param disponibili sono:
nomevalorevalore di default
kintero tra 1 e 10 che indica il numero di colori da usare 2
rintero che indica le dimensioni del "vicinato" 1
regolaregola indicata da un numero 0110
pixelcentrale=-1 indica che va generata una configurazione a caso per la prima riga
= valore tra 0 e k-1 provoca la colorazione del pixel centrale al valore indicato mentre gli altri sono posti uguali a 0.
> = k provoca la colorazione a caso del pixel centrale mentre gli altri sono colorati col colore 0.
-1
scrollil valore true indica che la figura deve continuare a scorrere true
interfacciail valore true indica che l'interfaccia(tasti e finestrelle) deve essere disegnata true
attesatempo in millisecondi tra un'aggiornamento e l'altro dell'automa 10
Ad esempio il disegno sopra l'indice e' ottenuto usando i seguenti comandi:

<applet code=Automa.class 
 name="Automa"  width=300 height=300>
<param name="k" value="7">
<param name="r" value="1">
<param name="regola" value="1054556001140162354">
<param name="scroll" value="false">
<param name="interfaccia" value="false">
<applet>

Pilotaggio richiamando i metodi dell'applet attraverso Javascript

La tabella seguente riporta i metodi richiamabili attraverso Javascript.
nomeEffetto
startrandom()Disegna un nuovo automa scelto a caso
startautoma(2,1,"0110")Disegna l'automa indicato dai 3 numeri
startautomar(2,1)Disegna un automa a caso col numero di colori e dimensioni del vicinato indicato.
startautomac(2)Disegna un automa a caso col numero di colori indicato.
setPixel(3)Ridisegna l'automa ponendo il pixel centrale uguale al valore indicato e gli altri a 0.
setPixelRandom()come il precedente ma con una scelta a caso del colore del pixel centrale
setpsize(10)Ridisegna l'automa con i quadratini della dimensione indicata.
setScroll(true)Se il valore passato e' true l'automa viene aggiornato in continuazione facendo scorrere l'immagine,altrimenti il disegno si ferma quando ha finito di riempire la finestra dell'applet.
Ad esempio,il tasto Random nella prima pagina e' ottenuto coi seguenti comandi html:
<form >
<input type=button value="Random" 
onClick="prandom()" >
<form>
La funzione Javascript prandom() va definita tra <HEAD e </HEAD nel modo seguente:
function prandom() {
// Return if Java is disabled
if(!navigator.javaEnabled()) return
// Get applet
drawApplet = document.applets["Automa"]
drawApplet.startrandom();
} 
Perche' questa funzione Javascript funzioni correttanente il comando APPLET va scritto nel modo seguente:
<applet code=Automa.class 
 name="Automa" MAYSCRIPT="MAYSCRIPT" width=300 height=300>
<applet>
La maniera piu' semplice per richiamare una funzione Javascript come la prandom() e' quello di inserire la chiamata nel comando <A che permette di ottenere scritte cliccabili, nella maniera seguente:
<a href="Javascript:prandom()">

Un altro modo di richiamare una funzione e' di farlo all'atto del caricamento della pagina con:
<body onLoad="prandom()">

Potete usare un modulo html per definire i dati da inviare all'applet come viene fatto nella terza pagina col seguente codice:

<form name="dati" 
onSubmit="return startautoma()">
Numero di valori(k)
<input type=text value="2" name=nvalori>
Dimensione del vicinato(r)
<input type=text value="1" name=nsiti>
Regola(numero di l cifre tra 0 e k-1)
<input type=text value="0110" name=regola>
<input type=submit value="Mostra l'automa"
>
<form> 

che prevede una funzione startautoma() cosi' definita:
function startautoma() {
nv = document.dati.nvalori.value;
if(nv<1 || nv >10)alert("Numero di colori non valido:dai un numero tra 1 e 10!")
ns = document.dati.nsiti.value;
r = document.dati.regola.value;
// Return if Java is disabled
if(!navigator.javaEnabled()) return
// Get applet
drawApplet = document.applets["Automa"]
drawApplet.setpsize(1);
drawApplet.startautoma(Number(nv),Number(ns),r);
return false;
} 
Alcune osservazioni su questo codice:

Indice