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
#!/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")