X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=koperkapel%2Fvehicles%2Fwalking.py;h=57c53a83c98654fa4028e059383abe742532460f;hb=56e7ffe48b515da894612297500ae9847862d165;hp=f8198923d921d61f1809b18746fd5833540233aa;hpb=a3a4e8d31e4e44d4f245b4c2de9d32b37a530c5c;p=koperkapel.git diff --git a/koperkapel/vehicles/walking.py b/koperkapel/vehicles/walking.py index f819892..57c53a8 100644 --- a/koperkapel/vehicles/walking.py +++ b/koperkapel/vehicles/walking.py @@ -1,17 +1,32 @@ """ A vehicle to represent roaches on foot. """ -import math -from .base import Vehicle, Seat -from ..actors.buttons import TextButton +from .base import Vehicle, circle_of_seats +from ..roaches import ( + default_roaches, roaches_quartet, roaches_nonet, WorldRoach) +from ..weapons import default_weapons class Walking(Vehicle): - def __init__(self): - n_seats = 6 - d_theta = 2 * math.pi / n_seats - self.seats = [ - Seat(pos=(math.sin(i * d_theta), math.cos(i * d_theta))) - for i in range(n_seats) - ] - self.background = TextButton("Walking Background") + vehicle_type = "walking" + weapons_taped_on = False + + def init_seats(self): + return circle_of_seats(6, vehicle=self) + + def get_avatar(self, world): + weapon = default_weapons.assemble( + world.weapons.current, tape=self.weapons_taped_on) + num_roaches = len(world.roaches) + roach = WorldRoach() + if num_roaches == 1: + # Return a single large roach + avatar = default_roaches.assemble(roach, weapon=weapon) + avatar.anchor = (0, 0) + elif num_roaches < 6: + avatar = roaches_quartet.assemble(roach, weapon=weapon) + avatar.anchor = (0, 0) + else: + avatar = roaches_nonet.assemble(roach, weapon=weapon) + avatar.anchor = (0, 0) + return avatar