annotate gamelib/helpscreen.py @ 308:2688ce607d65

updated help information re: three game states
author Adrianna Pińska <adrianna.pinska@gmail.com>
date Sat, 05 Sep 2009 18:03:55 +0000
parents fa0e818c3fee
children cdfeef53d6f1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
179
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
1 """Help screen."""
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
2
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
3 from pgu import gui
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
4 import pygame
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
5 import constants
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
6 import engine
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
7 import imagecache
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
8
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
9 HELP="""Welcome to %s
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
10
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
11 Introduction:
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
12
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
13 The aim of the game is to make as much money as possible from your chicken
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
14 farm. The problem is the foxes, which want to eat your chickens. Since hiring
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
15 guards is both too expensive and unreliable, the obvious solution is to help
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
16 the chickens defend themselves.
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
17
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
18 Game mechanics:
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
19
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
20 You lose if you end a night with no chickens left.
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
21
308
2688ce607d65 updated help information re: three game states
Adrianna Pińska <adrianna.pinska@gmail.com>
parents: 230
diff changeset
22 Depending on the game length you select, you win if you survive for two weeks, three months or until you have chopped down all the trees in the forest and caused the complete extinction of the fox population.
179
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
23
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
24 Chickens only lay eggs in henhouses, and must stay on the egg for 2 days to
230
fa0e818c3fee Update instructions to match new chick hatching behaviour.
Simon Cross <hodgestar@gmail.com>
parents: 181
diff changeset
25 hatch a new chicken. Chickens that hatch in already full henhouses are
fa0e818c3fee Update instructions to match new chick hatching behaviour.
Simon Cross <hodgestar@gmail.com>
parents: 181
diff changeset
26 moved to just outside. If there is no space outside, they die immediately
fa0e818c3fee Update instructions to match new chick hatching behaviour.
Simon Cross <hodgestar@gmail.com>
parents: 181
diff changeset
27 from overcrowding.
179
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
28 """ % constants.NAME
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
29
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
30 def make_help_screen():
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
31 """Create a main menu"""
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
32 help_screen = HelpScreen(width=600)
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
33
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
34 c = HelpContainer(align=0, valign=0)
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
35 c.add(help_screen, 0, 0)
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
36
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
37 return c
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
38
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
39 class HelpContainer(gui.Container):
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
40 def paint(self, s):
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
41 pygame.display.set_caption('Instructions')
181
7e556ef40100 Lighten help screen. Fix some oddities in darken modifier.
Simon Cross <hodgestar@gmail.com>
parents: 179
diff changeset
42 splash = imagecache.load_image("images/splash.png", ["lighten_most"])
179
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
43 pygame.display.get_surface().blit(splash, (0, 0))
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
44 gui.Container.paint(self, s)
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
45
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
46 class HelpScreen(gui.Document):
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
47 def __init__(self, **params):
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
48 gui.Document.__init__(self, **params)
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
49
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
50 def done_pressed():
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
51 pygame.event.post(engine.GO_MAIN_MENU)
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
52
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
53 done_button = gui.Button("Return to Main Menu")
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
54 done_button.connect(gui.CLICK, done_pressed)
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
55
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
56 space = self.style.font.size(" ")
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
57
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
58 for paragraph in HELP.split('\n\n'):
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
59 self.block(align=-1)
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
60 for word in paragraph.split():
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
61 self.add(gui.Label(word))
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
62 self.space(space)
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
63 self.br(space[1])
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
64 self.br(space[1])
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
65 self.block(align=0)
e2b5262c2b11 Add basic help screen
Neil Muller <drnlmuller@gmail.com>
parents:
diff changeset
66 self.add(done_button, align=0)