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__: