Exemple #1
0
    def create(self, spriteName):
        ''' Metoda szablonowa, tworząca obiekt. Należy ją wywołać aby
        stworzyć obiekt
        objName      : Pod jaką nazwą zarejestrować obiekt w fabryce obiektów
        spriteName   : Jakiego sprite'a załadować
        '''

        #
        # FIXME:
        #
        # opis metody sugeruje jeszcze argument objName. Coś go nie widać :-/
        #

        self.spriteName = spriteName

        self.parser = SpriteScriptParser(self.spriteName)
        self.parser.parse()

        self.create_object()  # implementacja w klasie pochodnej

        self.object.set_sprite_name(self.spriteName)
        self.spriteStrategy = SpriteScriptStrategy(
            self.parser.get_logic_part())
        self.object.set_sprite_strategy(self.spriteStrategy)

        self.create_ai_strategy()  # implementacja w klasie pochodnej

        self.object.set_ai_strategy(self.aiStrategy)
        self.spriteManager.load_sprite(self.spriteName,
                                       self.parser.get_sprite_part())
        self.create_related_objects()

        return self.object
Exemple #2
0
#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys
sys.path.append("../src")

from spriteScriptParser import SpriteScriptParser

parser = SpriteScriptParser("test_sprite")
parser.parse()

logic = parser.get_logic_part()
sprite = parser.get_sprite_part()

failed_count = 0


def test(value, correctValue, description):
    print description + ": ",
    if value == correctValue:
        print "OK"
        return 0
    else:
        print "FAILED: should be", correctValue, "got", value
        return 1


failed_count += test(logic['leci'].duration, 100, "leci.duration")
failed_count += test(logic['leci'].frames_count, 7, "leci.frames_count")
failed_count += test(sprite['leci'].y_offset, 0, "leci.y_offset")
failed_count += test(sprite['leci'].x_offset, 0, "leci.x_offset")