Mercurial > zrpn
changeset 57:37d28c317b10
Add menu to startup.
| author | "Sam Bull <sam@sambull.org>" |
|---|---|
| date | Sun, 08 Jul 2012 09:36:29 +0100 |
| parents | b23c901b2807 |
| children | bbdb85772d74 |
| files | zrpn/display.py zrpn/main.py |
| diffstat | 2 files changed, 32 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/zrpn/display.py Sat Jul 07 19:35:42 2012 +0200 +++ b/zrpn/display.py Sun Jul 08 09:36:29 2012 +0100 @@ -3,13 +3,16 @@ import pygame +import sgc.surface + import sprites class Display(object): def __init__(self): pygame.display.init() - self.screen = pygame.display.set_mode((800, 600)) + pygame.font.init() + self.screen = sgc.surface.Screen((800, 600)) self.screen.fill((0x33, 0x33, 0x33)) self.background = self.screen.copy() self.sprites = pygame.sprite.LayeredDirty()
--- a/zrpn/main.py Sat Jul 07 19:35:42 2012 +0200 +++ b/zrpn/main.py Sun Jul 08 09:36:29 2012 +0100 @@ -4,14 +4,19 @@ import pygame import sys +import sgc +from sgc.locals import * + import board import display +screen = display.Display() + class Game(object): - def __init__(self): + def __init__(self, display): self.board = board.Board() - self.display = display.Display() + self.display = display self.display.load_board(self.board.board, self.board.cells) def run(self): @@ -29,9 +34,29 @@ self.display.do_animations(animations) self.display.frame() +class MainMenu(sgc.Menu): + func_dict = lambda self: {"single": self.single, "multi": self.multi, + "exit": sys.exit} + + def single(self): + self.remove() + Game(screen).run() + + def multi(self): + raise NotImplementedError("Add multiplayer") + +menu = MainMenu(menu=("m:Main Menu", ("f:single", "Single Player"), + ("f:multi", "Multiplayer"), ("f:exit", "Quit"))) def main(): - Game().run() + clock = pygame.time.Clock() + menu.add(0) + while True: + time = clock.tick(30) + sgc.update(time) + for event in pygame.event.get(): + sgc.event(event) + pygame.display.flip() if __name__ == '__main__': main()
