;LION GARGOYLES CODE ;switch 7- mouth open ;switch 8- mouth closed ;switch 11- normal ears ;switch 12- folded ears ;sensor 0- normal eyes ;OUTPUTS ;a - mouth this-way: open ;b - eyes this-way: up ;c - ears this-way: up ;COMMUNICATION ;sensor 1- comm light sensor ;d - comm light menu 1 [interact] menu 2 [make-lion-happy] menu 3 [make-lion-sad] menu 4 [make-lion-angry] menu 5 [cycle] global[state] to interact setstate 2 loop[ waituntil[(sensor 1) < 200] wait 10 ifelse((sensor 1) < 200) [ wait 10 ifelse((sensor 1) < 200) [wait 10 ifelse((random 10) < 4) [make-lion-sad][make-lion-happy]] [wait 10 ifelse((random 10) < 4) [make-lion-happy] [make-lion-sad]] ] [wait 20 ifelse((random 10) < 4) [make-lion-angry][make-lion-sad] ] ] end to cycle setstate 2 loop[ wait 30 make-lion-happy wait 30 make-lion-sad wait 30 make-lion-angry ] end to make-lion-happy if(not(state = 3))[ ;a, thisway on ;waituntil[switch 7] ;a, off ifelse(state = 1) [b, thatway on] [b, thisway on] wait-for-edge b, off if(state = 2)[ c, thatway on waituntil[switch 11] c, off ] setstate 3] d, onfor 25 end to make-lion-angry if(not(state = 1))[ ;if(state = 2)[ ; a, thisway on ; waituntil[switch 7] ; a, off ; ] b, thisway on ifelse(state = 2) [wait-one-turn wait-one-turn] [wait-for-edge] b, off if(state = 2)[ c, thatway on waituntil[switch 11] c, off ] setstate 1 ] d, onfor 2 end to make-lion-sad if(not(state = 2))[ ;a, thatway on ;waituntil[switch 8] ;a, off b, thatway on ifelse(state = 1) [wait-one-turn] [wait-for-edge] b, off c, thisway on waituntil[switch 12] c, off setstate 2] d, onfor 15 end to wait-for-edge waituntil[(sensor 0) > 50] waituntil[(sensor 0) < 50] end to wait-one-turn wait-for-edge wait-for-edge end to wait-one-state wait-one-turn wait-one-turn end