5 import pygame.locals as pgl
7 from naja.constants import KEYS
8 from naja.scenes.scene import Scene
9 from naja.widgets.text import TextWidget, TextBoxWidget
10 from naja.events import SceneChangeEvent
13 class HowtoScene(Scene):
15 Tell the player what to do.
18 def __init__(self, state):
19 super(HowtoScene, self).__init__(state)
21 (200, 4), 'How To Play the Game', fontsize=32,
23 self.add(TextBoxWidget(
25 "You are a robot, frantically trying to set the correct "
26 "bits to gain points for reasons that are unlikely to "
28 "You have 8 bits. Four bits control the directions "
29 "you can move in {NORTH,SOUTH,EAST,WEST}, 3 allow you "
30 "to unlock actions {RED,GREEN,BLUE} and the "
31 "last, the Most Significant Bit {MSB}, makes everything "
36 "During Movement, you can explore the board and learn about "
37 "the available tiles. Tiles you can legally move onto are "
38 "highlighted. It's always possible to stay in place.",
42 "After moving, you must select an action. Some actions "
43 "require the correct bits to be set before they can be "
44 "selected. After the action, the tile will be replaced.",
45 "Some actions cost health {HEALTH}. If you run out of "
46 "health {HEALTH}, you lose.",
47 "Some actions gain you points {WINTOKEN}. Once you have "
48 "enough points, you win the game."
50 colour='white', padding=1, border=1,
51 bg_colour='black', border_colour='black',
52 box_width=380, view_port=(780, 500)))
54 def handle_scene_event(self, ev):
55 from naja.scenes.menu import MenuScene
56 if ev.type == pgl.KEYDOWN and ev.key in KEYS.QUIT:
57 SceneChangeEvent.post(MenuScene)