Louvre Disaster

Upon starting of the animation, it is helpful to open simulation properties. Every .1 seconds, a tourist will enter the museum from the door. The $ symbol is a curator who keeps track of the number of tourists entering the museum, which is globally displayed in simulation properties. The tourists will go towards the art. After 200 tourists enter the first room, the door will open and the second floor is open. The tourists will go towards the new art. After 400 tourists, the next floor opens. After 600 tourists, the next floor opens. After the museum fills up and no more space is available, the door will disappear and the museum will close, becoming a disaster.



Agents

Number of agents: 9

Behaviors


ArtArt

Number of methods: 1


WHILE-RUNNING ()

Put text here to explain what this method does!

Number of rules: 1 

If
SEE ((0 0) , art)
Then
SET (direction , to , 100)



CuratorCurator

Number of methods: 1


WHILE-RUNNING ()

Put text here to explain what this method does!

Number of rules: 1 

If
SEE ((0 0) , curator)
Then
SET (@Tourist , to , 0), and
BROADCAST (Tourist , count)



DoorwayDoorway

Number of methods: 1


WHILE-RUNNING ()

Put text here to explain what this method does!

Number of rules: 1 

If
IS (@Tourist , > , 200)
Then
CHANGE ((0 0) , floor)



Doorway1Doorway1

Number of methods: 1


WHILE-RUNNING ()

Put text here to explain what this method does!

Number of rules: 1 

If
IS (@Tourist , > , 400)
Then
CHANGE ((0 0) , floor)



Doorway2Doorway2

Number of methods: 1


WHILE-RUNNING ()

Put text here to explain what this method does!

Number of rules: 1 

If
IS (@Tourist , > , 600)
Then
CHANGE ((0 0) , floor)



FloorFloor

Number of methods: 1


WHILE-RUNNING ()

Put text here to explain what this method does!

Number of rules: 1 

If
SEE ((0 0) , floor)
Then
SET (direction , to , (direction[up]+direction[down]+direction[left]+direction[right])/4)



ProduceProduce

Number of methods: 1


WHILE-RUNNING ()

Put text here to explain what this method does!

Number of rules: 2 

If
ONCE-EVERY (.1 , Secs)
Then
NEW ((1 0) , tourist)

If
IS (@Tourist , >= , 1339)
Then
ERASE ((0 0))



TouristTourist

Number of methods: 3


WHILE-RUNNING ()

Put text here to explain what this method does!

Number of rules: 1 

If
SEE ((0 0) , tourist)
Then
MAKE ((0 0) , move)

ON (move)

Put text here to explain what this method does!

Number of rules: 5 

If
IS (direction[left] , > , direction[down]), and
IS (direction[left] , > , direction[up]), and
IS (direction[left] , > , direction[right]), and
SEE ((0 -1) , floor)
Then
MOVE ((0 -1))

If
IS (direction[right] , > , direction[down]), and
IS (direction[right] , > , direction[up]), and
IS (direction[right] , > , direction[left]), and
SEE ((0 1) , floor)
Then
MOVE ((0 1))

If
IS (direction[up] , > , direction[down]), and
IS (direction[up] , > , direction[left]), and
IS (direction[up] , > , direction[right]), and
SEE ((-1 0) , floor)
Then
MOVE ((-1 0))

If
IS (direction[down] , > , direction[up]), and
IS (direction[down] , > , direction[left]), and
IS (direction[down] , > , direction[right]), and
SEE ((1 0) , floor)
Then
MOVE ((1 0))

If
SEE ((0 0) , tourist)
Then
MOVE-RANDOM-ON (floor)

ON (count)

Put text here to explain what this method does!

Number of rules: 1 

If
no condition
Then
SET (@Tourist , to , @Tourist+1)



WallWall

Number of methods: 1


WHILE-RUNNING ()

Put text here to explain what this method does!

Number of rules: 1 

If
no condition
Then
no action


This report was generated using AgentSheets Version 3.0.0