Mercurial > mamba
changeset 17:236de980209a
Add simple command line processing
author | Neil Muller <drnlmuller@gmail.com> |
---|---|
date | Sun, 11 Sep 2011 13:46:30 +0200 |
parents | ad2bcbf492bf |
children | a0604a61762e |
files | mamba/__main__.py mamba/constants.py |
diffstat | 2 files changed, 37 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mamba/__main__.py Sun Sep 11 13:34:18 2011 +0200 +++ b/mamba/__main__.py Sun Sep 11 13:46:30 2011 +0200 @@ -2,10 +2,11 @@ import sys import os +import optparse import pygame from pygame.locals import SWSURFACE -from mamba.constants import SCREEN +from mamba.constants import SCREEN, DEFAULTS from mamba.engine import Engine from mamba.habitats.mainmenu import MainMenu @@ -15,9 +16,27 @@ DEBUG = True +def parse_args(args, options): + parser = optparse.OptionParser() + parser.add_option("--no-sound", action="store_false", default=True, + dest="sound", help="disable sound") + if DEBUG: + parser.add_option("--level", type="str", default=None, + dest="level", help="Initial level") + parser.add_option('--edit', type="store_true", default=False, + dest="edit", help="Edit given level") + opts, _ = parser.parse_args(args) + options['sound'] = opts.sound + if DEBUG: + options['level'] = opts.level + options['edit'] = opts.edit + + def main(): """Launch the currently unnamed mamab game""" + options = DEFAULTS.copy() + parse_args(sys.argv, options) pygame.display.init() pygame.font.init() # TODO: Sound initialisation @@ -25,5 +44,15 @@ pygame.display.set_caption('Mamba') engine = Engine() - engine.set_habitat(MainMenu()) + if options['level'] is None: + if options['edit']: + print 'You must specifiy a level name when using --edit' + sys.exit(1) + start = MainMenu() + else: + start = None + pass + # TODO: turn level name into a level + # TODO: Hook up firing up editor + engine.set_habitat(start) engine.run()
--- a/mamba/constants.py Sun Sep 11 13:34:18 2011 +0200 +++ b/mamba/constants.py Sun Sep 11 13:46:30 2011 +0200 @@ -8,3 +8,9 @@ BITSIZE = -16 # unsigned 16 bit CHANNELS = 2 # 1 == mono, 2 == stereo BUFFER = 1024 # audio buffer size in no. of samples + +DEFAULTS = { + 'sound': True, + 'level': None, + 'edit': False, +}