Mercurial > rinkhals
view gamelib/helpscreen.py @ 432:d630465d7a84
oops! forgot to commit the actual images.
author | Adrianna Pińska <adrianna.pinska@gmail.com> |
---|---|
date | Sat, 21 Nov 2009 16:54:05 +0000 |
parents | 2bcfccb8288e |
children | 263dea6d226b |
line wrap: on
line source
"""Help screen.""" from pgu import gui import pygame import constants import engine import imagecache HELP="""Welcome to %s Introduction: The aim of the game is to make as much money as possible from your chicken farm. The problem is the foxes, which want to eat your chickens. Since hiring guards is both too expensive and unreliable, the obvious solution is to help the chickens defend themselves. Game mechanics: You lose if you end a night with no chickens left. Chickens only lay eggs in henhouses, and must stay on the egg for 2 days to hatch a new chicken. Chickens that hatch in already full henhouses are moved to just outside. If there is no space outside, they die immediately from overcrowding. """ % constants.NAME LEVEL_TEXT="""The currently selected level is %(name)s The goal is: %(goal)s """ def make_help_screen(level): """Create a main menu""" help_screen = HelpScreen(level, width=600) c = HelpContainer(align=0, valign=0) c.add(help_screen, 0, 0) return c class HelpContainer(gui.Container): def paint(self, s): pygame.display.set_caption('Instructions') splash = imagecache.load_image("images/splash.png", ["lighten_most"]) pygame.display.get_surface().blit(splash, (0, 0)) gui.Container.paint(self, s) class HelpScreen(gui.Document): def __init__(self, level, **params): gui.Document.__init__(self, **params) def done_pressed(): pygame.event.post(engine.GO_MAIN_MENU) done_button = gui.Button("Return to Main Menu") done_button.connect(gui.CLICK, done_pressed) space = self.style.font.size(" ") full_text = HELP + '\n\n' + LEVEL_TEXT % { 'name' : level.level_name, 'goal' : level.goal } for paragraph in full_text.split('\n\n'): self.block(align=-1) for word in paragraph.split(): self.add(gui.Label(word)) self.space(space) self.br(space[1]) self.br(space[1]) self.block(align=0) self.add(done_button, align=0)