Package mosp_examples :: Module external_device_wiggler :: Class ZombieWiggler
[hide private]
[frames] | no frames]

Class ZombieWiggler

source code


Implements a zombie person doing random movement infecting others.


Authors:
P. Tute, F. Ludwig
Instance Methods [hide private]
 
__init__(self, *args, **kwargs)
Init the zombie.
source code
 
next_target(self)
Randomly finds a new next_node to move to.
source code
 
infect(self, for_sure=False)
the infection routine itself.
source code
 
infect_other(self)
the zombie infect action.
source code

Inherited from mosp.core.Person: __getstate__, act_at_node, calculate_duration, call_stop_actions, collide_circle, collide_rectangle, current_coords_impl, get_near, get_properties, get_random_way_node, get_speed, go, handle_interrupts, next_target_coord, pause_movement, reactivate, readd_actions, receive, restart_actions, send, set_speed, start_action, stop_action, stop_actions, think

Inherited from mosp.core.Person (private): _get_classname

Inherited from SimPy.Lib.Process: acquired, active, cancel, interrupt, interruptReset, interrupted, passive, queuing, start, stored, terminated

Inherited from SimPy.Lib.Process (private): _hold, _passivate

Inherited from SimPy.Lister.Lister: __repr__, __str__, attrnames

Inherited from mosp.collide.Point: collide_polygon, get_points

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __setattr__, __sizeof__, __subclasshook__

Class Variables [hide private]

Inherited from SimPy.Lister.Lister: indent

Instance Variables [hide private]

Inherited from mosp.core.Person: current_coords, current_way, dest_node, last_coord, last_node, need_next_target, next_node, p_color, p_color_rgba, p_id, passivate, passivate_with_stop_actions, remove_from_sim, road_orthogonal_offset, start_node, stop_all_actions, target_coord

Properties [hide private]

Inherited from mosp.core.Person: p_agenttype, p_speed, x, y

Inherited from object: __class__

Method Details [hide private]

__init__(self, *args, **kwargs)
(Constructor)

source code 

Init the zombie.

Parameters:
  • id - unique id of a person
  • sim - reference to superordinate mosp.core.Simulation
  • random - random object for Person - use superordinate mosp.core.Simulation.random
  • speed - basic walking speed of person in meter/tick
  • kwargs - additonal keyword arguments intended for inheriting classes
Overrides: object.__init__

next_target(self)

source code 

Randomly finds a new next_node to move to.

Ignores the last visited node, if possible without getting stuck. Does not set destination_node. Random movement only uses last_node and next_node of a Person.

Overrides: mosp.core.Person.next_target

Author: P. Tute

infect(self, for_sure=False)

source code 

the infection routine itself.

if not infected, person gets infected and speed is set to its half.

infect_other(self)

source code 

the zombie infect action.

every 2 ticks this action is called (using the mosp action decorator). this action looks for people in range of 1 meters, and calls their infect() routine. action is not active at beginning. it is activated by self.infect_other.start() and then is called every 2 ticks.

Decorators:
  • @action(2, start= False)