Mercurial > rinkhals
changeset 424:fbef17cab632
Use fully rendered map in gameboard choosing screen
author | Neil Muller <drnlmuller@gmail.com> |
---|---|
date | Sat, 21 Nov 2009 15:53:17 +0000 |
parents | 97dd557504a2 |
children | 1d0cc37b4e14 |
files | gamelib/gameboard.py gamelib/loadlevel.py |
diffstat | 2 files changed, 14 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/gamelib/gameboard.py Sat Nov 21 15:39:49 2009 +0000 +++ b/gamelib/gameboard.py Sat Nov 21 15:53:17 2009 +0000 @@ -283,7 +283,6 @@ width, height = self.tv.size # Ensure we don't every try to create more foxes then is sane self.max_foxes = level.max_foxes - self.create_display() self.selected_tool = None self.animal_to_place = None @@ -297,8 +296,11 @@ self.eggs = 0 self.days = 0 self.killed_foxes = 0 - self.add_cash(level.starting_cash) self.day, self.night = True, False + # For the level loading case + if self.disp: + self.create_display() + self.add_cash(level.starting_cash) self.fix_buildings() @@ -871,7 +873,8 @@ self.chickens.add(chicken) if chicken.outside(): self.tv.sprites.append(chicken) - self.toolbar.update_chicken_counter(len(self.chickens)) + if self.disp: + self.toolbar.update_chicken_counter(len(self.chickens)) def add_fox(self, fox): self.foxes.add(fox)
--- a/gamelib/loadlevel.py Sat Nov 21 15:39:49 2009 +0000 +++ b/gamelib/loadlevel.py Sat Nov 21 15:53:17 2009 +0000 @@ -7,7 +7,7 @@ import engine import data import imagecache -import tiles +import gameboard def make_load_screen(level): """Create a screen for selecting the levels""" @@ -46,9 +46,6 @@ if not self.cur_level: self.cur_level = self.levels[0] - self.tv = tiles.FarmVid() - self.tv.png_folder_load_tiles('tiles') - def done_pressed(): pygame.event.post(engine.DO_LOAD_LEVEL) @@ -98,16 +95,18 @@ self.clear() self.repaint() - self.tv.tga_load_level(self.cur_level.map) + board = gameboard.GameBoard(None, self.cur_level) space = self.style.font.size(" ") + w, h = board.tv.size - map_image = pygame.Surface((800, 800)) - self.tv.paint(map_image) + map_image = pygame.Surface((20*w, 20*h)) + board.tv.loop() + board.tv.paint(map_image) style = { - 'width' : 300, - 'height' : 300 + 'width' : min(300, 7*w), + 'height' : min(300, 7*h), } image = gui.Image(map_image, style=style)