コード例 #1
0
    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
コード例 #2
0
 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)
コード例 #3
0
 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)
コード例 #4
0
    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