diff gamelib/gameboard.py @ 476:3dae0fc14009

Animals have their own gameboard references instead of lugging them around in params all the time.
author Jeremy Thurgood <firxen@gmail.com>
date Wed, 25 Nov 2009 17:44:32 +0000
parents d4f04d81fe54
children 6974048bf04a
line wrap: on
line diff
--- a/gamelib/gameboard.py	Wed Nov 25 17:08:17 2009 +0000
+++ b/gamelib/gameboard.py	Wed Nov 25 17:44:32 2009 +0000
@@ -239,7 +239,7 @@
         self.spawn_foxes()
         self.eggs = 0
         for chicken in self.chickens.copy():
-            chicken.start_night(self)
+            chicken.start_night()
         self.toolbar.update_egg_counter(self.eggs)
         self._cache_animal_positions()
 
@@ -252,7 +252,7 @@
         self.advance_day()
         self.clear_foxes()
         for chicken in self.chickens.copy():
-            chicken.start_day(self)
+            chicken.start_day()
         self.redraw_counters()
 
     def in_bounds(self, pos):
@@ -340,7 +340,7 @@
     def sell_one_egg(self, chicken):
         if chicken.eggs:
             self.add_cash(self.level.sell_price_egg)
-            chicken.remove_one_egg(self)
+            chicken.remove_one_egg()
             return True
         return False
 
@@ -453,7 +453,7 @@
                     if try_pos:
                         chicken.unequip_by_name("Nest")
                         self.relocate_animal(chicken, tile_pos=try_pos)
-                        chicken.remove_eggs(self)
+                        chicken.remove_eggs()
 
     def relocate_animal(self, chicken, tile_pos=None, place=None):
         assert((tile_pos, place) != (None, None))
@@ -751,20 +751,20 @@
         """Chickens outside move around randomly a bit"""
         for chicken in [chick for chick in self.chickens if chick.outside()]:
             old_pos = chicken.pos
-            chicken.move(self)
+            chicken.move()
             self._pos_cache.update(old_pos, chicken, 'chicken')
 
     def chickens_chop_wood(self):
         """Chickens with axes chop down trees near them"""
         for chicken in [chick for chick in self.chickens if chick.outside()]:
-            chicken.chop(self)
+            chicken.chop()
         self.calculate_wood_groat_exchange_rate()
 
     def foxes_move(self):
         over = True
         for fox in self.foxes:
             old_pos = fox.pos
-            fox.move(self)
+            fox.move()
             if not fox.safe:
                 over = False
             self._pos_cache.update(old_pos, fox, 'fox')
@@ -772,11 +772,11 @@
 
     def foxes_attack(self):
         for fox in self.foxes:
-            fox.attack(self)
+            fox.attack()
 
     def chickens_attack(self):
         for chicken in self.chickens:
-            chicken.attack(self)
+            chicken.attack()
 
     def add_chicken(self, chicken):
         self.chickens.add(chicken)
@@ -853,7 +853,7 @@
 
     def add_start_chickens(self, _map, tile, value):
         """Add chickens as specified by the code layer"""
-        chick = animal.Chicken((tile.tx, tile.ty))
+        chick = animal.Chicken((tile.tx, tile.ty), self)
         for equip_cls in equipment.EQUIP_MAP[value]:
             item = equip_cls()
             chick.equip(item)
@@ -861,7 +861,7 @@
 
     def _choose_fox(self, (x, y)):
         fox_cls = misc.WeightedSelection(self.level.fox_weightings).choose()
-        return fox_cls((x, y))
+        return fox_cls((x, y), self)
 
     def spawn_foxes(self):
         """The foxes come at night, and this is where they come from."""