Beispiel #1
0
 def __init__(self, xpos, ypos, theta, size, speed, color, background, time, arena_walls):
     self.xpos = xpos
     self.ypos = ypos
     self.color = color
     self.background = background
     self.theta = theta
     self.time = time
     self.lastTime = time[0]
     self.size = size
     self.speed = speed
     self.initspeed = speed
     self.arena_walls = arena_walls
     self.corridor = corridor((xpos, ypos), theta, time, background, arena_walls)
Beispiel #2
0
  def update(self):
 
      if(self.aim and not self.launch):
          if(self.aimStartTime == 0):
              self.aimStartTime = self.time[0]
         
          direction = 0
         
          if(self.rotdir):
              direction = 1
          else:
              direction = -1
             
          aimTimeDiff = self.time[0] - self.aimStartTime
         
          if(aimTimeDiff >= self.totalAimTime):
              self.aimStartTime = 0   
          else:   
              self.aimAngle = self.theta + math.pow(aimTimeDiff, 2) * (math.pi*2) / (math.pow(self.totalAimTime, 2)) * direction
      else:
          self.aimStartTime = 0
         
      if(self.launch):
          self.aim = False
          if(self.launchStartTime == 0):
              self.launchStartTime = self.time[0]
              self.theta = self.aimAngle
              self.speed = self.initspeed * 2
              self.corridor = corridor((self.xpos, self.ypos), self.theta, self.time, self.background, self.arena_walls)
             
          timediff = self.time[0] - self.launchStartTime
          if(timediff >= 500):
              self.launch = False
              self.speed = self.initspeed
             
      else:
          self.launchStartTime = 0
         
         
         
      timediff = self.time[0] - self.lastTime
      self.lastTime = self.time[0]
     
      movement = timediff * self.speed
      self.xpos = self.xpos + math.cos(self.theta)* movement
      self.ypos = self.ypos + math.sin(self.theta)* movement
     
      self.draw()#redraw
      self.corridor.update()