Initial commit
This commit is contained in:
52
main.py
Normal file
52
main.py
Normal file
@@ -0,0 +1,52 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Dying Phone — a single-screen 2D platformer of ridiculous traps.
|
||||
|
||||
Story: your phone is dying. Reach the charger at the end of each level before
|
||||
the battery runs out. The level is littered with obvious and (mostly) hidden
|
||||
traps. Touch one and you're instantly respawned at the start — traps reset.
|
||||
|
||||
Controls:
|
||||
A / D (or arrows) move
|
||||
Space / W / Up jump (hold for higher, tap for a hop)
|
||||
S + Space drop through one-way platforms
|
||||
R give up and respawn
|
||||
Esc quit
|
||||
|
||||
Usage:
|
||||
python main.py # play every level in ./levels
|
||||
python main.py levels/foo.yaml [more.yaml ...] # play specific levels
|
||||
python main.py --debug # force debug view on for all levels
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
from game.game import Game, discover_levels
|
||||
|
||||
ROOT = os.path.dirname(os.path.abspath(__file__))
|
||||
|
||||
|
||||
def main():
|
||||
args = sys.argv[1:]
|
||||
debug = "--debug" in args
|
||||
args = [a for a in args if a != "--debug"]
|
||||
if args:
|
||||
level_paths = [os.path.abspath(p) for p in args]
|
||||
else:
|
||||
level_paths = discover_levels(os.path.join(ROOT, "levels"))
|
||||
|
||||
if not level_paths:
|
||||
print("No levels found. Add a .yaml level file to the levels/ directory.")
|
||||
sys.exit(1)
|
||||
|
||||
missing = [p for p in level_paths if not os.path.isfile(p)]
|
||||
if missing:
|
||||
print("Level file(s) not found:", *missing, sep="\n ")
|
||||
sys.exit(1)
|
||||
|
||||
assets_dir = os.path.join(ROOT, "assets")
|
||||
Game(level_paths, assets_dir, debug=debug).run()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user