Mercurial > rinkhals
comparison gamelib/gameboard.py @ 396:19e583e5cdc0
Refactor for further move work
author | Neil Muller <drnlmuller@gmail.com> |
---|---|
date | Thu, 12 Nov 2009 21:31:52 +0000 |
parents | 2d0ff46118e2 |
children | 532f1ea476ff |
comparison
equal
deleted
inserted
replaced
395:2d0ff46118e2 | 396:19e583e5cdc0 |
---|---|
281 self.tv = tiles.FarmVid() | 281 self.tv = tiles.FarmVid() |
282 self.tv.png_folder_load_tiles('tiles') | 282 self.tv.png_folder_load_tiles('tiles') |
283 self.tv.tga_load_level(level.map) | 283 self.tv.tga_load_level(level.map) |
284 width, height = self.tv.size | 284 width, height = self.tv.size |
285 # Ensure we don't every try to create more foxes then is sane | 285 # Ensure we don't every try to create more foxes then is sane |
286 self.max_foxes = min(height+width-15, level.max_foxes) | 286 self.max_foxes = min(2*height+2*width-15, level.max_foxes) |
287 self.create_display() | 287 self.create_display() |
288 | 288 |
289 self.selected_tool = None | 289 self.selected_tool = None |
290 self.animal_to_place = None | 290 self.animal_to_place = None |
291 self.sprite_cursor = None | 291 self.sprite_cursor = None |
786 def run_animations(self): | 786 def run_animations(self): |
787 # For legacy. | 787 # For legacy. |
788 if self.toolbar.anim_clear_tool: | 788 if self.toolbar.anim_clear_tool: |
789 self.toolbar.clear_tool() | 789 self.toolbar.clear_tool() |
790 | 790 |
791 def move_foxes(self): | 791 def do_night_step(self): |
792 """Move the foxes. | 792 """Handle the events of the night. |
793 | 793 |
794 We return True if there are no more foxes to move or all the | 794 We return True if there are no more foxes to move or all the |
795 foxes are safely back. This end's the night""" | 795 foxes are safely back. This end's the night""" |
796 if not self.foxes: | 796 if not self.foxes: |
797 return True | 797 return True |
798 # Move all the foxes | |
799 over = self.foxes_move() | |
800 if not over: | |
801 self.foxes_attack() | |
802 self.chickens_attack() | |
803 return over | |
804 | |
805 def foxes_move(self): | |
798 over = True | 806 over = True |
799 for fox in self.foxes: | 807 for fox in self.foxes: |
800 fox.move(self) | 808 fox.move(self) |
801 if not fox.safe: | 809 if not fox.safe: |
802 over = False | 810 over = False |
811 return over | |
812 | |
813 def foxes_attack(self): | |
814 for fox in self.foxes: | |
815 fox.attack(self) | |
816 | |
817 def chickens_attack(self): | |
803 for chicken in self.chickens: | 818 for chicken in self.chickens: |
804 chicken.attack(self) | 819 chicken.attack(self) |
805 return over | |
806 | 820 |
807 def add_chicken(self, chicken): | 821 def add_chicken(self, chicken): |
808 self.chickens.add(chicken) | 822 self.chickens.add(chicken) |
809 if chicken.outside(): | 823 if chicken.outside(): |
810 self.tv.sprites.append(chicken) | 824 self.tv.sprites.append(chicken) |