Ejemplo n.º 1
0
    def __init__(self):
        Game.universal = self
        pygame.init()
        self._screen = pygame.display.set_mode((800,600), \
            pygame.DOUBLEBUF+pygame.HWSURFACE)

        audio.mySongs["ambient"].play(-1) #loop
        self.time = gametime.GameTime()
        self.tstobj = animatedobject.createAnimatedObject('../assets/tigger','object.ini')
        self.tstobj.setTag('tiger')
        #self.tiger = animatedobject.AnimationState(self.tstobj)
        self.tiger = character.Character(self.tstobj, self, 10, 10)
        self.tiger.setPosVec((40,80))
        self.tiger.stashPos=(40,80)

        self.gpobj = animatedobject.createAnimatedObject('../assets/tigger','groundpound.ini')
        self.gpobj.setTag('groundpound')
        self.groundpound = animationstate.AnimationState(self.gpobj)
        self.gpactive=False
        self.pobj = animatedobject.createAnimatedObject('../assets/tigger','punch.ini')
        self.pobj.setTag('punch')
        self.punch = animationstate.AnimationState(self.pobj)
        self.pactive=False
        
        #self.tiger.setAnimation('move')
        #self.tiger.setDirection(0)

        #self.pigobj = animatedobject.createAnimatedObject('../assets/piglet','object.ini')
        #self.pigobj.setTag('pig')
        #self.pig = animatedobject.AnimationState(self.pigobj)
        #self.pig = character.Character(self.pigobj, self, 10, 10)
        #self.pig.setAnimation('stopped')
        #self.pig.setDirection(0)
        #self.pig.setPos(300,200)

        self.stuffobj = animatedobject.createAnimatedObject('../assets/static/', 'object.ini')
        self.stuffobj.setTag('stuffing')
        self.stuffing = animationstate.AnimationState(self.stuffobj)
        self.stuffing.setAnimation('stuffing')
        self.stuffing.setDirection(0)

        # handler for keyboard inputs, maps them to movements
        self.iohandler = ioprocess.IOFunctions(self)
        
        self.enemies = enemies.Enemies(self)
        #self.enemies.spawnTiglet()
        #self.enemies.spawnBeefy()
        
        self.world = terrain.createWorld('../assets/terrain','world.ini')
        self.objects = list()
        #self.lettermap = terrain.createLetterMap('../assets/terrain','terrainObjects.ini')
        #self.tilemap = terrain.createCSVMap(self.lettermap,'../assets/terrain','test.csv',['overlay.csv'])
        #self._screen.blit(self.tilemap.surface,(0,0))

        # handler for projectiles
        self.bullets = projectile.Projectiles(self)
        
        self.roomChange()

        interactions.registerCallbacks()
Ejemplo n.º 2
0
def createCharacter(pos,folder,inifile,animation):
    object = animatedobject.createAnimatedObject(folder,inifile)
    state = animationstate.AnimationState(object)
    state.setAnimation(animation)
    state.setDirection(0)
    state.setPos(pos[0],pos[1])
    return state
Ejemplo n.º 3
0
def createCharacter(pos, folder, inifile, animation):
    object = animatedobject.createAnimatedObject(folder, inifile)
    state = animationstate.AnimationState(object)
    state.setAnimation(animation)
    state.setDirection(0)
    state.setPos(pos[0], pos[1])
    return state
Ejemplo n.º 4
0
    def __init__(self, game):
        self.enemies = []
        if Enemies.donkeyObj == None:
            Enemies.donkeyObj = animatedobject.createAnimatedObject('../assets/eeyore','object.ini')
            Enemies.donkeyObj.tag = 'eeyore'

        if Enemies.tigletNeedleObjOrange == None:
            Enemies.tigletNeedleObjOrange = animatedobject.createAnimatedObject('../assets/enemies/tigglette (needle)/orange/', 'object.ini')
            Enemies.tigletNeedleObjOrange.tag = 'tiglet'

        if Enemies.tigletNeedleObjBlue == None:
            Enemies.tigletNeedleObjBlue = animatedobject.createAnimatedObject('../assets/enemies/tigglette (needle)/blue/', 'object.ini')
            Enemies.tigletNeedleObjBlue.tag = 'tiglet'

        if Enemies.tigletNeedleObjPink == None:
            Enemies.tigletNeedleObjPink = animatedobject.createAnimatedObject('../assets/enemies/tigglette (needle)/pink/', 'object.ini')
            Enemies.tigletNeedleObjPink.tag = 'tiglet'

        if Enemies.tigletNeedleObjRed == None:
            Enemies.tigletNeedleObjRed = animatedobject.createAnimatedObject('../assets/enemies/tigglette (needle)/red/', 'object.ini')
            Enemies.tigletNeedleObjRed.tag = 'tiglet'

        if Enemies.beefyObj == None:
            Enemies.beefyObj = animatedobject.createAnimatedObject('../assets/enemies/beefy/', 'object.ini')
            Enemies.beefyObj.tag = 'beefy'

        #Enemies.tigletScissorObj = animatedobject.createAnimatedObject('../assets/enemies/tigglette\ \(scissors\)/red/', 'object.ini')
        self.game = game
        self.donkeyHP = 5
        self.donkeyAmmo = 5
        self.tigletHP = 3
        self.tigletAmmo = 0
        self.beefyHP = 20
        self.beefyAmmo = 10
Ejemplo n.º 5
0
 def spawnProjectile(self, x, y, direction):
     if Projectiles.projectileObject == None:
         Projectiles.projectileObject = animatedobject.createAnimatedObject('../assets/projectiles/button_placeholder', 'object.ini')
         Projectiles.projectileObject.setTag('button')
         
         
     # temp = createAnimationState(Projectiles.projectileObject, self.game, 1, 1)
     # temp.setPos(x, y)
     if direction < 0:
         temp = animationstate.createAnimationState(Projectiles.projectileObject, (x, y), self.game.tiger.getDirection(),'stopped')
         #temp.setDirection(self.game.tiger.getDirection())
     else:
         temp = animationstate.createAnimationState(Projectiles.projectileObject, (x, y), direction,'stopped')
         #temp.setDirection(direction)
     #temp.setAnimation('stopped')
     Projectiles.projectiles.append(temp)
     audio.mySounds["shoot"].play()
     print "playing"
Ejemplo n.º 6
0
    def spawnProjectile(self, x, y, direction):
        if Projectiles.projectileObject == None:
            Projectiles.projectileObject = animatedobject.createAnimatedObject(
                '../assets/projectiles/button_placeholder', 'object.ini')
            Projectiles.projectileObject.setTag('button')

        # temp = createAnimationState(Projectiles.projectileObject, self.game, 1, 1)
        # temp.setPos(x, y)
        if direction < 0:
            temp = animationstate.createAnimationState(
                Projectiles.projectileObject, (x, y),
                self.game.tiger.getDirection(), 'stopped')
            #temp.setDirection(self.game.tiger.getDirection())
        else:
            temp = animationstate.createAnimationState(
                Projectiles.projectileObject, (x, y), direction, 'stopped')
            #temp.setDirection(direction)
        #temp.setAnimation('stopped')
        Projectiles.projectiles.append(temp)
        audio.mySounds["shoot"].play()
        print "playing"
Ejemplo n.º 7
0
    def __init__(self, game):
        self.enemies = []
        if Enemies.donkeyObj == None:
            Enemies.donkeyObj = animatedobject.createAnimatedObject(
                '../assets/eeyore', 'object.ini')
            Enemies.donkeyObj.tag = 'eeyore'

        if Enemies.tigletNeedleObjOrange == None:
            Enemies.tigletNeedleObjOrange = animatedobject.createAnimatedObject(
                '../assets/enemies/tigglette (needle)/orange/', 'object.ini')
            Enemies.tigletNeedleObjOrange.tag = 'tiglet'

        if Enemies.tigletNeedleObjBlue == None:
            Enemies.tigletNeedleObjBlue = animatedobject.createAnimatedObject(
                '../assets/enemies/tigglette (needle)/blue/', 'object.ini')
            Enemies.tigletNeedleObjBlue.tag = 'tiglet'

        if Enemies.tigletNeedleObjPink == None:
            Enemies.tigletNeedleObjPink = animatedobject.createAnimatedObject(
                '../assets/enemies/tigglette (needle)/pink/', 'object.ini')
            Enemies.tigletNeedleObjPink.tag = 'tiglet'

        if Enemies.tigletNeedleObjRed == None:
            Enemies.tigletNeedleObjRed = animatedobject.createAnimatedObject(
                '../assets/enemies/tigglette (needle)/red/', 'object.ini')
            Enemies.tigletNeedleObjRed.tag = 'tiglet'

        if Enemies.beefyObj == None:
            Enemies.beefyObj = animatedobject.createAnimatedObject(
                '../assets/enemies/beefy/', 'object.ini')
            Enemies.beefyObj.tag = 'beefy'

        #Enemies.tigletScissorObj = animatedobject.createAnimatedObject('../assets/enemies/tigglette\ \(scissors\)/red/', 'object.ini')
        self.game = game
        self.donkeyHP = 5
        self.donkeyAmmo = 5
        self.tigletHP = 3
        self.tigletAmmo = 0
        self.beefyHP = 20
        self.beefyAmmo = 10
Ejemplo n.º 8
0
    def __init__(self,letterMap,fname,overlays,dynamic):
        reader = csv.reader(open(fname,'rb'),delimiter=',')
        self.noGo = list()
        self.surface = pygame.Surface((800,600),flags=pygame.SRCALPHA)
        for line in enumerate(reader):
            for char in enumerate(line[1]):
                x = 40*char[0]
                y = 40*line[0]
                if char[1]=='\n': continue
                if char[1]=='': continue
                if char[1]=='0': continue
                self.surface.blit(letterMap.tiles[char[1]].image,(x,y))
                if letterMap.tiles[char[1]].aabb!=pygame.Rect(0,0,0,0):
                    self.noGo.append(letterMap.tiles[char[1]].aabb.move(x,y))
        for overlay in overlays:
            reader = csv.reader(open(overlay,'rb'),delimiter=',')
            for line in enumerate(reader):
                for char in enumerate(line[1]):
                    x = 40*char[0]
                    y = 40*line[0]
                    if char[1]=='.': continue
                    if char[1]=='0': continue
                    if char[1]=='': continue
                    self.surface.blit(letterMap.tiles[char[1]].image,(x,y))
                    if letterMap.tiles[char[1]].aabb!=pygame.Rect(0,0,0,0):
                        self.noGo.append(letterMap.tiles[char[1]].aabb.move(x,y))
        self.noGo = mergeRectlist(self.noGo)
        self.surface.convert()

        self.objects = list()
        self.enemies = enemies.Enemies(game.Game.universal)
        if CSVMap.objectData==None:
            CSVMap.objectData = dict()
            CSVMap.objectData['tree'] = animatedobject.createAnimatedObject('../piglet','tree.ini')
            CSVMap.objectData['tree'].setTag('tree')
            CSVMap.objectData['hpig'] = animatedobject.createAnimatedObject('../piglet','pig.ini')
            CSVMap.objectData['hpig'].setTag('pig')
            #CSVMap.objectData['eeyore'] = animatedobject.createAnimatedObject('../eeyore','object.ini')
            #CSVMap.objectData['eeyore'].setTag('eeyore')

        for dyn in dynamic:
            if dyn=='none': continue
            reader = csv.reader(open(dyn,'rb'),delimiter=',')
            for line in enumerate(reader):
                for char in enumerate(line[1]):
                    x = 40*char[0]
                    y = 40*line[0]
                    if char[1] == 'tree':
                        tmp = character.Character(CSVMap.objectData['tree'], game.Game.universal, 10, 10)
                        tmp.setAnimation('stopped')
                        tmp.setDirection(0)
                        tmp.setPos(x,y)
                        self.objects.append(tmp)
                    elif char[1] == 'hpig':
                        tmp = character.Character(CSVMap.objectData['hpig'], game.Game.universal, 10, 10)
                        tmp.setAnimation('stopped')
                        tmp.setDirection(0)
                        tmp.setPos(x,y)
                        self.objects.append(tmp)
                    elif char[1] == 'eeyore':
                        #tmp = character.Character(CSVMap.objectData['eeyore'], game.Game.universal, 10, 10)
                        #tmp.setAnimation('stopped')
                        #tmp.setDirection(0)
                        #tmp.setPos(x,y)
                        #self.objects.append(tmp)
                        self.enemies.spawnDonkey(x, y)
                    elif char[1] == 'nedl':
                        self.enemies.spawnTiglet(x,y)
                    elif char[1] == 'beefy':
                        self.enemies.spawnBeefy(x,y)
Ejemplo n.º 9
0
    def __init__(self, letterMap, fname, overlays, dynamic):
        reader = csv.reader(open(fname, 'rb'), delimiter=',')
        self.noGo = list()
        self.surface = pygame.Surface((800, 600), flags=pygame.SRCALPHA)
        for line in enumerate(reader):
            for char in enumerate(line[1]):
                x = 40 * char[0]
                y = 40 * line[0]
                if char[1] == '\n': continue
                if char[1] == '': continue
                if char[1] == '0': continue
                self.surface.blit(letterMap.tiles[char[1]].image, (x, y))
                if letterMap.tiles[char[1]].aabb != pygame.Rect(0, 0, 0, 0):
                    self.noGo.append(letterMap.tiles[char[1]].aabb.move(x, y))
        for overlay in overlays:
            reader = csv.reader(open(overlay, 'rb'), delimiter=',')
            for line in enumerate(reader):
                for char in enumerate(line[1]):
                    x = 40 * char[0]
                    y = 40 * line[0]
                    if char[1] == '.': continue
                    if char[1] == '0': continue
                    if char[1] == '': continue
                    self.surface.blit(letterMap.tiles[char[1]].image, (x, y))
                    if letterMap.tiles[char[1]].aabb != pygame.Rect(
                            0, 0, 0, 0):
                        self.noGo.append(letterMap.tiles[char[1]].aabb.move(
                            x, y))
        self.noGo = mergeRectlist(self.noGo)
        self.surface.convert()

        self.objects = list()
        self.enemies = enemies.Enemies(game.Game.universal)
        if CSVMap.objectData == None:
            CSVMap.objectData = dict()
            CSVMap.objectData['tree'] = animatedobject.createAnimatedObject(
                '../piglet', 'tree.ini')
            CSVMap.objectData['tree'].setTag('tree')
            CSVMap.objectData['hpig'] = animatedobject.createAnimatedObject(
                '../piglet', 'pig.ini')
            CSVMap.objectData['hpig'].setTag('pig')
            #CSVMap.objectData['eeyore'] = animatedobject.createAnimatedObject('../eeyore','object.ini')
            #CSVMap.objectData['eeyore'].setTag('eeyore')

        for dyn in dynamic:
            if dyn == 'none': continue
            reader = csv.reader(open(dyn, 'rb'), delimiter=',')
            for line in enumerate(reader):
                for char in enumerate(line[1]):
                    x = 40 * char[0]
                    y = 40 * line[0]
                    if char[1] == 'tree':
                        tmp = character.Character(CSVMap.objectData['tree'],
                                                  game.Game.universal, 10, 10)
                        tmp.setAnimation('stopped')
                        tmp.setDirection(0)
                        tmp.setPos(x, y)
                        self.objects.append(tmp)
                    elif char[1] == 'hpig':
                        tmp = character.Character(CSVMap.objectData['hpig'],
                                                  game.Game.universal, 10, 10)
                        tmp.setAnimation('stopped')
                        tmp.setDirection(0)
                        tmp.setPos(x, y)
                        self.objects.append(tmp)
                    elif char[1] == 'eeyore':
                        #tmp = character.Character(CSVMap.objectData['eeyore'], game.Game.universal, 10, 10)
                        #tmp.setAnimation('stopped')
                        #tmp.setDirection(0)
                        #tmp.setPos(x,y)
                        #self.objects.append(tmp)
                        self.enemies.spawnDonkey(x, y)
                    elif char[1] == 'nedl':
                        self.enemies.spawnTiglet(x, y)
                    elif char[1] == 'beefy':
                        self.enemies.spawnBeefy(x, y)