def updateEvents(self): #movement if self.event1 == True: #update accurate position self.x_acc += self.xspeed self.y_acc += self.yspeed #update real position self.rect.x = self.x_acc self.rect.y = self.y_acc #update speed self.xspeed += self.xaccel self.yspeed += self.yaccel #destroy if leaves window if (self.rect.left > WINDOWWIDTH or self.rect.right < 0 or self.rect.bottom < 0 or self.rect.top > WINDOWHEIGHT): self.kill() #flame size if self.event2 == True: #decrease size self.changeSize(self.rect.w + self.waccel, self.rect.h + self.haccel) #split into 2 halves if size is half IFF size is not 0 wlimit = self.origSize[0] / 1.1 hlimit = self.origSize[1] / 1.1 if self.rect.w <= 6 or self.rect.h <= 6: self.kill() rnd = random.randint(0, 300) if rnd == 1: crnd = random.randint(0, 200) srnd = random.randint(2, 5) smoke = Bullet((crnd, crnd, crnd), srnd, srnd) smoke.load(self, self.bullets) smoke.aim(self.dir, self.margin) smoke.fire(1) smoke.yaccel = 0 elif self.rect.w <= wlimit and self.rect.h <= hlimit: #prepare some variables speed = int(math.sqrt((self.xspeed**2) + (self.yspeed**2))) color = self.incrementColor() self.margin += 15 #make 2 more flames flame = Flame(color, wlimit, hlimit) flame.load(self, self.bullets) flame.aim(70, self.margin) flame.throw(speed, self.xaccel, self.yaccel, self.waccel, self.haccel) #--1 flame = Flame(color, wlimit, hlimit) flame.load(self, self.bullets) flame.aim(110, self.margin) flame.throw(speed, self.xaccel, self.yaccel, self.waccel, self.haccel) #--2
def smoke(self): if self.smokeLevel > 0: hue_rnd = random.randint(115,200) size_rnd = random.randint(int(2*self.w_max/4),self.w_max-1) #highest smoke level = 10000, lowest = 1 exist_rnd = random.randint(0,int(10000 / (self.smokeLevel+1) )) color = ( hue_rnd, hue_rnd, hue_rnd ) if exist_rnd == 1: smoke = Bullet(color, size_rnd, size_rnd) smoke.load(self, self.group) smoke.aim(90, 75) smoke.fire(1)
def smoke(self): if self.smokeLevel > 0: hue_rnd = random.randint(115, 200) size_rnd = random.randint(int(2 * self.w_max / 4), self.w_max - 1) #highest smoke level = 10000, lowest = 1 exist_rnd = random.randint(0, int(10000 / (self.smokeLevel + 1))) color = (hue_rnd, hue_rnd, hue_rnd) if exist_rnd == 1: smoke = Bullet(color, size_rnd, size_rnd) smoke.load(self, self.group) smoke.aim(90, 75) smoke.fire(1)
def updateEvents(self): #movement if self.event1 == True: #update accurate position self.x_acc += self.xspeed self.y_acc += self.yspeed #update real position self.rect.x = self.x_acc self.rect.y = self.y_acc #update speed self.xspeed += self.xaccel self.yspeed += self.yaccel #destroy if leaves window if(self.rect.left > WINDOWWIDTH or self.rect.right < 0 or self.rect.bottom < 0 or self.rect.top > WINDOWHEIGHT): self.kill() #flame size if self.event2 == True: #decrease size self.changeSize(self.rect.w + self.waccel, self.rect.h + self.haccel) #split into 2 halves if size is half IFF size is not 0 wlimit = self.origSize[0]/1.1 hlimit = self.origSize[1]/1.1 if self.rect.w <= 6 or self.rect.h <= 6: self.kill() rnd = random.randint(0,300) if rnd == 1: crnd = random.randint(0,200) srnd = random.randint(2,5) smoke = Bullet( (crnd,crnd,crnd), srnd,srnd) smoke.load(self, self.bullets) smoke.aim(self.dir, self.margin) smoke.fire(1) smoke.yaccel = 0 elif self.rect.w <= wlimit and self.rect.h <= hlimit: #prepare some variables speed = int(math.sqrt( (self.xspeed**2) + (self.yspeed**2) )) color = self.incrementColor() self.margin += 15 #make 2 more flames flame = Flame(color, wlimit, hlimit) flame.load(self, self.bullets) flame.aim(70, self.margin) flame.throw(speed, self.xaccel, self.yaccel, self.waccel, self.haccel) #--1 flame = Flame(color, wlimit, hlimit) flame.load(self, self.bullets) flame.aim(110, self.margin) flame.throw(speed, self.xaccel, self.yaccel, self.waccel, self.haccel) #--2