Changeset 224:c279ad59b8e2


Ignore:
Timestamp:
Sep 4, 2009, 10:59:14 PM (11 years ago)
Author:
Simon Cross <hodgestar@…>
Branch:
default
Convert:
svn:b4e93282-eac8-4b8b-b765-0f5d36de2b68@225
Message:

Chicks fill hen house, then adjacent spaces, then die.

Location:
gamelib
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • gamelib/buildings.py

    r204 r224  
    122122                yield (xpos + dx, ypos + dy)
    123123
     124    def adjacent_tiles(self):
     125        """Return pairs of (x, y) tile positions for each of the tiles
     126           adjacent to the building.
     127           """
     128        xpos, ypos = self.pos
     129        xsize, ysize = self.size
     130
     131        for dx in xrange(xsize): # top and bottom
     132            yield (xpos + dx, ypos - 1)
     133            yield (xpos + dx, ypos + ysize)
     134
     135        for dy in xrange(ysize): # left and right
     136            yield (xpos - 1, ypos + dy)
     137            yield (xpos + xsize, ypos + dy)
     138
    124139    def loop(self, tv, _sprite):
    125140        ppos = tv.tile_to_view(self.pos)
  • gamelib/gameboard.py

    r223 r224  
    713713                            new_chick.equip(equipment.Nest())
    714714                        except buildings.BuildingFullError:
     715                            # No space in the hen house, look nearby
     716                            for tile_pos in building.adjacent_tiles():
     717                                if self.tv.get(tile_pos) != self.GRASSLAND:
     718                                    continue
     719                                if self.get_outside_chicken(tile_pos) is None:
     720                                    self.add_chicken(new_chick)
     721                                    self.relocate_animal(new_chick, tile_pos=tile_pos)
     722                                    break
    715723                            # if there isn't a space for the
    716724                            # new chick it dies. :/ Farm life
    717725                            # is cruel.
    718                             pass
    719726        self.toolbar.update_egg_counter(self.eggs)
    720727
Note: See TracChangeset for help on using the changeset viewer.