CAOS-Programmierung: Beispiele: Agent3

Aus Wikibooks

Ein etwas umfangreicheres Projekt  : Es wird ein Rechner angezeigt, bei klick auf die Antwort Taste erscheint die Antwort als neuer Agent.

Der fertige Rechner
*Suche nach der Antwort 
inst
new: comp 2 23 20410 "rech" 38 0 2000
pat: dull 1 "rech" 1 20 20 1 	
pat: butt 2 "rech" 2 2 50 80 0 [1] 1 1
part 2
anim [0]
pat: butt 3 "rech" 4 2 100 80  0 [1] 1 1
part 3
anim [0] 		
pat: butt 4 "rech" 6 2 150 80 0	[1] 1 1
part 4
anim [0] 		
pat: butt 5 "rech" 8 2 200 80 0	[1] 1 1
part 5
anim [0] 		
pat: butt 6 "rech" 10 2 50 130 0	[1] 1 1
part 6
anim [0] 		
pat: butt 7 "rech" 12 2 100 130 0 [1] 1 1
part 7
anim [0] 			
pat: butt 8 "rech" 14 2 150 130 0 [1] 1 1
part 8
anim [0] 			
pat: butt 9 "rech" 16 2 200 130 0 [1] 1 1
part 9
anim [0]		
pat: butt 10 "rech" 18 2 50 180 0 [1] 1 1
part 10
anim [0]		
pat: butt 11 "rech" 20 2 100 180 0 [1] 1 1
part 11
anim [0]	
pat: butt 12 "rech" 22 2 150 180 0 [1] 1 1
part 12
anim [0]	
pat: butt 13 "rech" 24 2 200 180 0 [1] 1 1	
part 13
anim [0]
pat: butt 14 "rech" 26 2 50 230 0 [1] 1 1
part 14
anim [0]
pat: butt 15 "rech" 28 2 100 230 0 [1] 1 1
part 15
anim [0] 		
pat: butt 16 "rech" 30 2 150 230 0 [1] 1 1
part 16
anim [0]	
pat: butt 17 "rech" 32 2 200 230 0 [1] 1 1
part 17
anim [0]	
pat: butt 18 "rech" 34 2 50 280 0 [1] 1000 1
* dieser Knopf gibt eine Mess.nr. weiter /\ wird dann im Script verwendet
part 18
anim [0]
* tragbar 1  + maustragbar 2 + kann aktiviert werden 4 + zusammenstöße erlaubt 64 = 71 
attr 71
perm 60
elas 0
fric 100
accg 3
mvto 3400 8800 
* Position in meinem Testraum
cmra 3400 8800 0
endm
*******Antwort
scrp 2 23 20410 1000
* Dies ist das aufgerufen wird wenn Knopf 18 gedrückt wird ( gibt 1000 weiter )
setv va00 posl 
addv va00 30

setv va01 post
addv va01 10
* in temp. Variablen wird die Position (x,y) gespeichert 
 inst
* Neuer Agent wird erzeugt
new: simp 2 11 20411 "rech" 36 36 1500
* tragbar 1  + maustragbar 2 + zusammenstöße erlaubt 64 + Physik befolgen 128 =
attr 195 
* durch Norn aktivierbar 32 
bhvr 32
elas 30 
fric 50
accg 3
clac 0
mvto va00 va01
* eine zufällige Geschwindigkeit in x,y Richtung
velo rand -10 10 rand -15 -20
* timer Aktivierung
tick 8 
endm 
* Timer Script
 scrp 2 11 20411 9
* Bewegt den Agenten eine auf Kamera nahe Ebene
plne 4001 
* Timer wieder aus
tick 0
* es wird etwas gewartet
wait 100 
* zerstört Agenten 
kill ownr
endm
rscr
enum 2 23 20410
kill targ
next
enum 2 11 20411
kill targ
next 
scrx 2 11 20411 9
scrx 2 23 20410 1000