def __init__(self, engine, id, pos = MyVector(0,0,0), mesh = 'robot.mesh', vel = MyVector(0,0,0), yaw = 0): self.engine = engine self.id = id self.pos = pos self.vel = ogre.Vector3(0, 0, 0) self.mesh = mesh self.node = None self.yaw = 0 self.deltaSpeed = 5 self.deltaYaw = 0.0 self.speed = 0.0 self.heading = 0.0 self.aspectTypes = [Physics, Renderer, PlayerAI] self.aspects = [] self.scale = ogre.Vector3(1, 1, 1) self.wakeSize = 'Small' self.hasAnimation = False #Make jet ski face the same way self.offset = 0 self.team = 0 #home is init start self.home = pos self.slide = False
def __init__(self, engine, id, pos=MyVector(0, 0, 0), mesh='robot.mesh', vel=MyVector(0, 0, 0), yaw=0): self.engine = engine self.id = id self.pos = pos self.vel = ogre.Vector3(0, 0, 0) self.mesh = mesh self.node = None self.yaw = 0 self.deltaSpeed = 5 self.deltaYaw = 0.0 self.speed = 0.0 self.heading = 0.0 self.aspectTypes = [Physics, Renderer] self.aspects = [] self.scale = ogre.Vector3(1, 1, 1) self.wakeSize = 'Small' #Make jet ski face the same way self.offset = 0
def __init__(self, engine, id, pos = MyVector(0, 0 ,0), vel = MyVector(0, 0, 0), yaw = 0, team = 0): self.team = team Entity.__init__(self, engine, id, pos = pos, vel = vel, yaw = yaw) print "player init" self.mesh = 'ninja.mesh' self.uiname = 'BVB' + str(BVB.id) BVB.id += 1 self.acceleration = 360 self.turningRate = 120 self.maxSpeed = 400 self.desiredSpeed = 0 self.desiredHeading = 0 self.speed = 0 self.heading = 0 self.wakeSize = 'Large' self.offset = ogre.Degree(-90) self.hasAnimation = True self.scale = ogre.Vector3(.5, .5, .5) self.material = "Examples/YellowTeam" self.color = "RedCircle" self.circle = None self.team = team self.radiiNorm = 115.0 self.radiiSlide = 200.0
def __init__(self, id, engine, pos=MyVector(0, 0, 0), vel=MyVector(0, 0, 0), yaw=0): Entity.__init__(self, id, engine=engine, pos=pos, vel=vel, yaw=yaw) self.mesh = 'tank.mesh' self.uiname = 'TANK' self.eid = id self.yawOffset = 90 self.acceleration = 5 self.turningRate = 0.2 self.maxSpeed = 20 self.desiredSpeed = 0 self.desiredHeading = 0 self.speed = 0 self.heading = 0 self.engine = engine self.prey = None self.cannon = True self.missile = True self.checkValue = 500 self.health = 100 self.oElement = "Tank " + str(id) self.node = self.engine.gfxMgr.sceneManager.getRootSceneNode().createChildSceneNode(self.pos) self.ent = self.engine.gfxMgr.sceneManager.createEntity(self.eid, self.mesh) self.node.attachObject(self.ent) self.light = self.engine.gfxMgr.sceneManager.createLight('light' + self.id) self.light.type = ogre.Light.LT_POINT self.node.attachObject(self.light)
def __init__(self, name='untiled', pos=MyVector(0, 0, 0), vel=MyVector(0, 0, 0), mesh='untiled.mesh', yaw=0): self.name = name self.pos = pos self.vel = vel self.mesh = mesh self.yaw = yaw self.aspectTypes = ['Physics'] self.aspects = [Physics(self)]
def __init__(self, id, engine, tankID='Null', pos=None, vel=MyVector(0, 0, 0), yaw=0): Entity.__init__(self, id, engine=engine, pos=pos, vel=vel, yaw=yaw) self.mesh = 'wallCube.mesh' self.material = "Examples/CannonBall" self.uiname = 'IWALL' self.eid = id self.yawOffset = 0 self.acceleration = 0 self.turningRate = 0 self.maxSpeed = 0 self.desiredSpeed = 0 self.desiredHeading = 0 self.speed = 0 self.heading = 0 self.engine = engine self.checkValue = 300 self.tankID = tankID self.node = self.engine.gfxMgr.sceneManager.getRootSceneNode().createChildSceneNode(self.pos) self.ent = self.engine.gfxMgr.sceneManager.createEntity(self.eid, self.mesh) self.node.attachObject(self.ent) self.node.rotate(ogre.Vector3(0, 1, 0), ogre.Math.DegreesToRadians(yaw)) self.light = self.engine.gfxMgr.sceneManager.createLight('light' + self.id) self.light.type = ogre.Light.LT_POINT self.node.attachObject(self.light)
def __init__(self, id, engine, tankID='Null', pos=None, vel=MyVector(0, 0, 0), yaw=0, prey = None): Entity.__init__(self, id, engine=engine, pos=pos, vel=vel, yaw=yaw) self.mesh = 'missile.mesh' self.material = "Examples/CannonBall" self.uiname = 'MISSILE' self.eid = id self.yawOffset = 90 self.acceleration = 5 self.turningRate = 0.2 self.maxSpeed = 32 self.desiredSpeed = 50 self.desiredHeading = 0 self.speed = 0 self.heading = 0 self.engine = engine self.prey = None self.checkValue = 300 self.tankID = tankID from predPhysics import Predator self.aspects.append(Predator(self,self.engine)) self.node = self.engine.gfxMgr.sceneManager.getRootSceneNode().createChildSceneNode(self.pos) self.ent = self.engine.gfxMgr.sceneManager.createEntity(self.eid, self.mesh) self.node.attachObject(self.ent) self.light = self.engine.gfxMgr.sceneManager.createLight('light' + self.id) self.light.type = ogre.Light.LT_POINT self.node.attachObject(self.light)
def __init__(self, engine, id, pos=MyVector(0, 0, 0), vel=MyVector(0, 0, 0), yaw=0): Entity.__init__(self, engine, id, pos=pos, vel=vel, yaw=yaw) self.mesh = 'cvn68.mesh' self.uiname = 'CVN68' self.acceleration = 5 self.turningRate = 5 self.maxSpeed = 250 self.desiredSpeed = 0 self.desiredHeading = 0 self.speed = 0 self.heading = 0 self.wakeSize = 'Large'
def __init__(self, engine, id, pos=MyVector(0, 0, 0), vel=MyVector(0, 0, 0), yaw=0): Entity.__init__(self, engine, id, pos=pos, vel=vel, yaw=yaw) print "sailboat init" self.mesh = 'sailboat.mesh' self.uiname = 'SAILBOAT' self.acceleration = 2 self.turningRate = 25 self.maxSpeed = 36 self.desiredSpeed = 0 self.desiredHeading = 0 self.speed = 0 self.heading = 0
def game1(self): x = 0 for entType in self.engine.entityMgr.entTypes: print "*********************GameMgr Creating*********************" # , str(entType) ent = self.engine.entityMgr.createEnt(entType, pos=MyVector(x, 0, 0)) print "GameMgr Created: ", ent.uiname, ent.id x += 300
def __init__(self, id, engine, pos=MyVector(0, 0, 0), mesh='robot.mesh', vel=MyVector(0, 0, 0), yaw=0): self.id = id self.material = None self.yawOffset = 0 self.collision = False self.pos = pos self.oldpos = pos self.vel = vel self.mesh = mesh self.deltaSpeed = 30 self.deltaYaw = .5 self.speed = 0.0 self.heading = 0.0 self.aspects = [] self.initAspects() self.engine = engine self.uiname = None
def __init__(self, engine, id, pos=MyVector(0, 0, 0), vel=MyVector(0, 0, 0), yaw=0): Entity.__init__(self, engine, id, pos=pos, vel=vel, yaw=yaw) print "sleek init" self.mesh = 'sleek.mesh' self.uiname = 'SLEEK' self.acceleration = 12 self.turningRate = 12 self.maxSpeed = 120 self.desiredSpeed = 0 self.desiredHeading = 0 self.speed = 0 self.heading = 0 self.wakeSize = 'Large'
def __init__(self, engine, id, pos=MyVector(0, 0, 0), vel=MyVector(0, 0, 0), yaw=0): Entity.__init__(self, engine, id, pos=pos, vel=vel, yaw=yaw) #print "ddg51 init" self.mesh = 'ddg51.mesh' self.uiname = 'DDG51' self.acceleration = 7 self.turningRate = 15 self.maxSpeed = 150 self.desiredSpeed = 0 self.desiredHeading = 0 self.speed = 0 self.heading = 0 self.wakeSize = 'Large'
def __init__(self, engine, id, pos=MyVector(0, 0, 0), vel=MyVector(0, 0, 0), yaw=0): Entity.__init__(self, engine, id, pos=pos, vel=vel, yaw=yaw) print "Boat5086 init" self.mesh = '5086_Boat.mesh' self.uiname = 'BOAT2' self.acceleration = 10 self.turningRate = 30 self.maxSpeed = 50 self.desiredSpeed = 0 self.desiredHeading = 0 self.speed = 0 self.heading = 0 self.scale = ogre.Vector3(2, 2, 2)
def createEnt(self, entType, pos=MyVector(0, 0, 0), yaw=0): ent = entType(self.engine, self.nEnts, pos=pos, yaw=yaw) ent.init() self.entities[self.nEnts] = ent self.selectedEnt = ent self.selectedEntIndex = self.nEnts self.nEnts = self.nEnts + 1 return ent
def __init__(self, engine, id, pos = MyVector(0, 0 ,0), vel = MyVector(0, 0, 0), yaw = 0, team = 0): Entity.__init__(self, engine, id, pos = pos, vel = vel, yaw = yaw) print "player init" self.mesh = 'WireFrameTopStad.mesh' self.uiname = 'Top' + str(TopStad.id) TopStad.id += 1 self.acceleration = 0 self.turningRate = 0 self.maxSpeed = 0 self.desiredSpeed = 0 self.desiredHeading = 0 self.speed = 0 self.heading = 0 self.wakeSize = 'Large' self.offset = ogre.Degree(90) #self.scale = ogre.Vector3(1, 1, 1) self.scale = ogre.Vector3(50, 50, 50)
def __init__(self, engine, id, pos=MyVector(0, 0, 0), vel=MyVector(0, 0, 0), yaw=0): Entity.__init__(self, engine, id, pos=pos, vel=vel, yaw=yaw) print "boat init" self.mesh = 'boat.mesh' self.uiname = 'BOAT' self.acceleration = 10 self.turningRate = 10 self.maxSpeed = 30 self.desiredSpeed = 0 self.desiredHeading = 0 self.speed = 0 self.heading = 0 self.wakeSize = 'Medium'
def __init__(self, engine, id, pos=MyVector(0, 0, 0), vel=MyVector(0, 0, 0), yaw=0): Entity.__init__(self, engine, id, pos=pos, vel=vel, yaw=yaw) print "cigarette init" self.mesh = 'cigarette.mesh' self.uiname = 'CIGARETTE' self.acceleration = 30 self.turningRate = 45 self.maxSpeed = 150 self.desiredSpeed = 0 self.desiredHeading = 0 self.speed = 0 self.heading = 0 self.wakeSize = 'Medium'
def __init__(self, engine, id, pos = MyVector(0, 0 ,0), vel = MyVector(0, 0, 0), yaw = 0, team = 0): Entity.__init__(self, engine, id, pos = MyVector(3200, 100, 0), vel = vel, yaw = yaw) print "player init" self.mesh = "goals.mesh" self.uiname = 'postR' + str (postR.id) postR.id += 1 self.acceleration = 0 self.turningRate = 0 self.maxSpeed = 0 self.desiredSpeed = 0 self.desiredHeading = 0 self.speed = 0 self.heading = 0 self.wakeSize = 'Large' self.offset = ogre.Degree(180) #self.scale = ogre.Vector3(1, 1, 1) self.scale = ogre.Vector3(50, 50, 50)
def __init__(self, engine, id, pos=MyVector(0, 0, 0), vel=MyVector(0, 0, 0), yaw=0): Entity.__init__(self, engine, id, pos=pos, vel=vel, yaw=yaw) print "alienship init" self.mesh = 'alienship.mesh' self.uiname = 'ALIEN' self.acceleration = 150 self.turningRate = 25 self.maxSpeed = 700 self.desiredSpeed = 0 self.desiredHeading = 0 self.speed = 0 self.heading = 0 self.scale = ogre.Vector3(15, 15, 15) self.wakeSize = 'Large'
def createEnt(self, entType, pos=MyVector(0, 0, 0), yaw=0): ent = entType(str(self.nEnts), engine=self.engine, pos=pos, yaw=yaw) self.ents[self.nEnts] = ent self.selectedEnt = ent self.currentSelectedEntIndex = self.nEnts if (len(self.selectedEntIndecies) > 0): self.selectedEntIndecies.pop() self.selectedEntIndecies.append(ent) self.nEnts = self.nEnts + 1 return ent
def __init__(self, engine, id, pos=MyVector(0, 0, 0), vel=MyVector(0, 0, 0), yaw=0): Entity.__init__(self, engine, id, pos=pos, vel=vel, yaw=yaw) print "Watercr init" self.mesh = '4685_Personal_Watercr.mesh' self.uiname = 'JETSKI' self.acceleration = 10 self.turningRate = 35 self.maxSpeed = 40 self.desiredSpeed = 0 self.desiredHeading = 0 self.speed = 0 self.heading = 0 self.offset = ogre.Degree(90) self.scale = ogre.Vector3(.5, .5, .5) self.wakeSize = 'Medium'
def __init__(self, engine, id, pos = MyVector(0,0,0), vel = MyVector(0,0,0), yaw = 0, team = 0): Entity.__init__(self, engine, id, pos = MyVector(0,25,0), vel = vel, yaw = yaw) self.mesh = 'sphere.mesh' self.uiname = 'Ball' + str(Ball.id) Ball.id += 1 self.acceleration = 250 self.turningRate = 30 self.maxSpeed = 1000 self.desiredSpeed = 0 self.desiredHeading = 90 self.speed = 0 self.heading = 90 self.wakeSize = 'Large' self.scale = ogre.Vector3(.5, .5, .5) self.wakeSize = 'Large' self.pitch = 0.0 self.spin = 0.0 self.attachEnt = None self.toggle = 0.0 self.radiiNorm = 25.0 self.radiiSlide = 25.0
def __init__(self, engine, id, pos=MyVector(0, 0, 0), vel=MyVector(0, 0, 0), yaw=0): Entity.__init__(self, engine, id, pos=pos, vel=vel, yaw=yaw) print "MONTEREY INIT" self.mesh = '3699_Monterey_189_92.mesh' self.uiname = 'MONTEREY' self.acceleration = 7 self.turningRate = 35 self.maxSpeed = 60 self.desiredSpeed = 0 self.desiredHeading = 0 self.speed = 0 self.heading = 0 self.scale = ogre.Vector3(2, 2, 2) self.offset = ogre.Degree(90) self.wakeSize = 'Medium'
def loadMap(self): entityMgr = self.engine.entityMgr wallMaterial = "Examples/CannonBall" #Create 4 walls at edge of map entity = entityMgr.createEnt(ent.OutterWall, pos=MyVector(-5000,100,0),yaw=90) entity.setMaterial(wallMaterial) entity = entityMgr.createEnt(ent.OutterWall, pos=MyVector(5000,100,0),yaw=90) entity.setMaterial(wallMaterial) entity = entityMgr.createEnt(ent.OutterWall, pos=MyVector(0,100,-5000)) entity.setMaterial(wallMaterial) entity = entityMgr.createEnt(ent.OutterWall, pos=MyVector(0,100,5000)) entity.setMaterial(wallMaterial) #Create 9 extra walls self.size = 10 self.makeWall(direction = 'H', size = self.size,x = -1000,z=0) self.makeWall(direction = 'V', size = self.size,x = -2000,z=-1000) self.makeWall(direction = 'V', size = self.size,x = 2000,z=-1000) self.makeWall(direction = 'V', size = self.size,x = 3000,z=-4000) self.makeWall(direction = 'V', size = self.size,x = 0,z=-4000) self.makeWall(direction = 'V', size = self.size,x = -3000,z=-4000) self.makeWall(direction = 'V', size = self.size,x = 3000,z=2000) self.makeWall(direction = 'V', size = self.size,x = 0,z=2000) self.makeWall(direction = 'V', size = self.size,x = -3000,z=2000)
def makeWall(self, direction, size, x, z): entityMgr = self.engine.entityMgr wallMaterial = "Examples/CannonBall" for count in range(1, size+1): if direction == 'V': xpos = x zpos = (count * 200)+100+z else: xpos = (count * 200)+100+x zpos = z if xpos < 5000 and xpos > -5000 and zpos < 5000 and zpos > -5000: entity = entityMgr.createEnt(ent.InnerWall, pos=MyVector(xpos,150,zpos),yaw=0) entity.setMaterial(wallMaterial)
def main(): entities = [] for i in range(0, 2): entities.append(Entity("Entity" + str(i), vel=MyVector(10, 0.0, 0.0))) oldTime = time.time() for i in range(2000): #time.sleep(1) now = time.time() dtime = now - oldTime oldTime = now for ent in entities: ent.tick(dtime) print str(ent)
def squaredDistance(self,box,v): if box.contains(v): return 0; else: maxDist = MyVector(0,0,0) if (v.x < box.getMinimum().x): maxDist.x = box.getMinimum().x - v.x; elif (v.x > box.getMaximum().x): maxDist.x = v.x - box.getMaximum().x; if (v.y < box.getMinimum().y): maxDist.y = box.getMinimum().y - v.y; elif (v.y > box.getMaximum().y): maxDist.y = v.y - box.getMaximum().y; if (v.z < box.getMinimum().z): maxDist.z = box.getMinimum().z - v.z; elif (v.z > box.getMaximum().z): maxDist.z = v.z - box.getMaximum().z; return maxDist.squaredLength();
def createEnt(self, entType, pos=MyVector(0, 0, 0), yaw=0, team=0): ent = entType(self.engine, self.nEnts, pos=pos, yaw=yaw, team=team) ent.init() self.entities[self.nEnts] = ent self.selectedEnt = ent self.selectedEntIndex = self.nEnts self.nEnts = self.nEnts + 1 if (team == 1): print ent self.team1[self.nP1] = ent ent.team = 1 self.nP1 += 1 elif (team == 2): self.team2[self.nP2] = ent self.nP2 += 1 ent.team = 2 if (ent.mesh == "sphere.mesh"): self.ball = ent return ent
def shootMissile(self): ent = self.engine.entityMgr.createEnt(Missile, pos=MyVector(self.pos.x, 250, self.pos.z)) ent.setMaterial("Examples/Missile") ent.tankID = self.eid ent.desiredHeading = self.desiredHeading
def shoot(self): ent = self.engine.entityMgr.createEnt(CannonBall, pos=MyVector(self.pos.x, 250, self.pos.z)) ent.setMaterial("Examples/Camo1") ent.tankID = self.eid ent.desiredHeading = self.desiredHeading