Пример #1
0
def create_game(sprite_size, pygame_obj):
    dict_dirs = {
        'objects': OBJECT_TEXTURE,
        'ally': ALLY_TEXTURE,
        'enemies': ENEMY_TEXTURE,
        'textures': OTHER_TEXTURE
    }

    Service.ObjectsLib.set_generators(
        # Указываем, кто будет отвественный за текстуры
        Service.GraphicalLib(
            pygame_obj,
            sprite_size,
            dict_dirs
        ),
        # А тут, за эффекты
        Service.ActionLib()
    )

    Service.ObjectsLib.load(MAP_TEXTURES)
    with open('objects.yml', 'r') as file:
        Service.ObjectsLib.append(file.read())

    Service.LevelGenerator.set_libs(Service.ObjectsLib)
    Service.LevelGenerator.load('levels.yml')
    Service.LevelGenerator.levels.append(
        {'map': Service.MC.EndMapSurface('EndMap'),
         'obj': Service.MC.EmptyMapSpawn('EndMap')})

    engine_obj = Logic.GameEngine()
    engine_obj.sprite_size = sprite_size

    engine_obj.hero_generator = MyHeroFactory()
    engine_obj.level_generator = Service.LevelGenerator
    engine_obj.subscribe(Service.ObjectsLib)
    engine_obj.start()

    return engine_obj