view gamelib/main.py @ 209:5ca97ed09738

rat mission
author Neil Muller <drnlmuller@gmail.com>
date Sat, 12 May 2012 19:52:29 +0200
parents 80cce62f29fb
children 75033f790e7d
line wrap: on
line source

'''Game main module.

Contains the entry point used by the run_game.py script.

Feel free to put all your game code here, or in other modules in this "gamelib"
package.
'''
import pygame
import optparse
import sys

from gamelib.engine import Engine
from gamelib.data import load_image
from gamelib.mainmenu import MainMenu

from gamelib.constants import (SCREEN, FREQ, BITSIZE, CHANNELS, BUFFER,
        WINDOW_ICON)


def parse_args(args):
    parser = optparse.OptionParser()

    parser.add_option('--no-sound', action="store_false", default=True,
            dest="sound", help="disable sound")

    parser.add_option('--load', type="string", default=None,
            dest="load", help="Save game to load")

    return parser.parse_args(args)


def main():
    opts, args = parse_args(sys.argv)
    pygame.display.init()
    pygame.font.init()
    if opts.sound:
        pygame.mixer.init(FREQ, BITSIZE, CHANNELS, BUFFER)
    screen = pygame.display.set_mode(SCREEN)
    pygame.display.set_icon(load_image(WINDOW_ICON))
    engine = Engine(screen)
    window = MainMenu(screen, opts.load)
    engine.run(window)