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()
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
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
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
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"
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"
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
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)
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)