Mercurial > rinkhals
comparison gamelib/gameboard.py @ 460:7204c16ab64d
Wood market!
author | Adrianna Pińska <adrianna.pinska@gmail.com> |
---|---|
date | Mon, 23 Nov 2009 20:53:11 +0000 |
parents | fc648da2334c |
children | 279caa00f3fa |
comparison
equal
deleted
inserted
replaced
459:e9393970b5f6 | 460:7204c16ab64d |
---|---|
94 self.tv.png_folder_load_tiles('tiles') | 94 self.tv.png_folder_load_tiles('tiles') |
95 self.tv.tga_load_level(level.map) | 95 self.tv.tga_load_level(level.map) |
96 width, height = self.tv.size | 96 width, height = self.tv.size |
97 # Ensure we don't every try to create more foxes then is sane | 97 # Ensure we don't every try to create more foxes then is sane |
98 self.max_foxes = level.max_foxes | 98 self.max_foxes = level.max_foxes |
99 self.calculate_wood_groat_exchange_rate() | |
99 | 100 |
100 self.selected_tool = None | 101 self.selected_tool = None |
101 self.animal_to_place = None | 102 self.animal_to_place = None |
102 self.sprite_cursor = None | 103 self.sprite_cursor = None |
103 self.chickens = set() | 104 self.chickens = set() |
667 | 668 |
668 def chickens_chop_wood(self): | 669 def chickens_chop_wood(self): |
669 """Chickens with axes chop down trees near them""" | 670 """Chickens with axes chop down trees near them""" |
670 for chicken in [chick for chick in self.chickens if chick.outside()]: | 671 for chicken in [chick for chick in self.chickens if chick.outside()]: |
671 chicken.chop(self) | 672 chicken.chop(self) |
673 self.calculate_wood_groat_exchange_rate() | |
672 | 674 |
673 def foxes_move(self): | 675 def foxes_move(self): |
674 over = True | 676 over = True |
675 for fox in self.foxes: | 677 for fox in self.foxes: |
676 old_pos = fox.pos | 678 old_pos = fox.pos |
836 | 838 |
837 def trees_left(self): | 839 def trees_left(self): |
838 width, height = self.tv.size | 840 width, height = self.tv.size |
839 return len([(x,y) for x in range(width) for y in range(height) if self.tv.get((x,y)) == self.WOODLAND]) | 841 return len([(x,y) for x in range(width) for y in range(height) if self.tv.get((x,y)) == self.WOODLAND]) |
840 | 842 |
843 def calculate_wood_groat_exchange_rate(self): | |
844 width, height = self.tv.size | |
845 sell_price = float(10*width*height)/self.trees_left() | |
846 buy_price = sell_price*(1.1) | |
847 self.wood_sell_price, self.wood_buy_price = int(sell_price), int(buy_price) | |
848 | |
841 def save_game(self): | 849 def save_game(self): |
842 return serializer.simplify(self) | 850 return serializer.simplify(self) |
843 | 851 |
844 def restore_game(self, data): | 852 def restore_game(self, data): |
845 if 'refid' not in data or 'class' not in data or data['class'] != self.__class__.__name__: | 853 if 'refid' not in data or 'class' not in data or data['class'] != self.__class__.__name__: |