from pgzero.constants import keys
from ..actors.buttons import TextButton
from ..actors.navigator import ActorNavigator
-from .base import Scene, ChangeSceneEvent, QuitEvent
-
-
+from .base import Scene, ChangeSceneEvent, WorldEvent, QuitEvent
class MenuScene(Scene):
def __init__(self):
super().__init__()
self._title = self.actors.add(TextButton("Main Menu"))
- self._title.pos = (300, 200)
+ self._title.pos = (300, 100)
self._nav = ActorNavigator()
self._menu = [
- TextButton("Play", action=self.change_to_level),
- TextButton("View Last Generated Level",
- action=self.change_to_viewer),
- TextButton("Manage Roaches", action=self.change_to_roaches),
+ TextButton("New Game", action=self.change_to_new_game),
+ TextButton("Resume", action=self.change_to_resume),
TextButton("Credits", action=self.change_to_credits),
TextButton("Quit", action=self.quit),
]
for i, item in enumerate(self._menu):
- item.pos = (300, 300 + (i * 100))
+ item.pos = (300, 200 + (i * 100))
self.actors.add(item)
self._nav.connect(
self._menu, [keys.DOWN, keys.RIGHT], [keys.UP, keys.LEFT],
wrap=True)
self._nav.current.select()
- def change_to_level(self):
- from .level import LevelScene
- return [ChangeSceneEvent(LevelScene('level1'))]
+ def change_to_resume(self):
+ from .level import GameLevelScene
+ return [ChangeSceneEvent(GameLevelScene())]
- def change_to_viewer(self):
- from .viewlevel import ViewLevelScene
- return [ChangeSceneEvent(ViewLevelScene('map'))]
-
- def change_to_roaches(self):
- from .roaches import RoachesScene
- return [ChangeSceneEvent(RoachesScene())]
+ def change_to_new_game(self):
+ from .level import GameLevelScene
+ return [
+ WorldEvent("reset"),
+ ChangeSceneEvent(GameLevelScene())
+ ]
def change_to_credits(self):
from .credits import CreditsScene