Skip to content

Commit ffc8543

Browse files
Games loading now in games
1 parent cdedaf0 commit ffc8543

File tree

3 files changed

+18
-10
lines changed

3 files changed

+18
-10
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ Currently the project is developing the user interface and menu system before be
1919
- [ ] Single constants for config variables and game names (tidy up!)
2020
- [ ] Implement Logging
2121
- [ ] Set of unit tests for inputs, displays
22+
- [ ] Known bugs: Pacman pass-through ghosts. Purple rain: 2 in one pixel (-2 lives)
2223

2324
\<LONG-TERM TODO\>:
2425
- [ ] Move menu screen to game class?

games/__init__.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,13 @@
11
from games.assets.sprite import Sprite, Co_ordinates
2+
from games import snake, purple_rain, pacman
3+
4+
5+
def load_game(name):
6+
if name == "Snake":
7+
return snake.Game()
8+
elif name == "Purple Rain":
9+
return purple_rain.Game()
10+
elif name == "Pacman":
11+
return pacman.Game()
12+
else:
13+
raise KeyError("Unknown Game Selected")

main.py

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import animations
33
from clock import Clock
44
from displays import load_display
5-
from games import pacman, purple_rain, snake
5+
from games import load_game
66
from inputs import load_controller
77
from menu import Menu
88

@@ -66,15 +66,11 @@ def menu_loop(self):
6666
while not self.menu.selected:
6767
self.frame()
6868
# Select chosen game
69-
if self.menu.selected == "Snake":
70-
self.game = snake.Game()
71-
elif self.menu.selected == "Purple Rain":
72-
self.game = purple_rain.Game()
73-
elif self.menu.selected == "Pacman":
74-
self.game = pacman.Game()
75-
elif self.menu.selected == "Exit":
69+
if self.menu.selected == "Exit":
7670
self.state = "Exit"
7771
return
72+
else:
73+
self.game = load_game(self.menu.selected)
7874
# Load new game into view
7975
self.menu.selected = None
8076
self.view = self.game
@@ -93,8 +89,7 @@ def program_loop(self):
9389
arcade = Arcade()
9490
arcade.program_loop()
9591
except Exception as e:
96-
print("\nERROR: {}\n\n".format(e))
97-
print(e.__traceback__)
92+
print("\nERROR: {}\n\n".format(e.with_traceback(e)))
9893
finally:
9994
arcade.controller.cleanup()
10095
arcade.display.clear()

0 commit comments

Comments
 (0)