Esempio n. 1
0
 def shoot(self, sock, server, clientid, deathtimeout):
     if deathtimeout > 100:
         if self.reloading == False:
             SPEED = 20
             start = pygame.math.Vector2(self.x, self.y)
             mouse = pygame.mouse.get_pos()
             distance = mouse - start
             positions = pygame.math.Vector2(start)
             speed = distance.normalize() * SPEED
             newbullet = bullet.bullet(positions, speed)
             newbullet.room = self.room
             newbullet.idd = clientid
             newbullet.size = self.bulletsize
             if self.ammo < self.maxammo:
                 self.ammo += 1
                 #self.all_bullets.append(newbullet)
                 data2 = "joinbullet;" + str(
                     newbullet.position.x) + ";" + str(
                         newbullet.position.y +
                         random.randint(-int(self.spread), int(self.spread))
                     ) + ";" + str(newbullet.speed.x) + ";" + str(
                         newbullet.speed.y) + ";" + str(
                             newbullet.idd) + ";" + str(
                                 newbullet.room) + ";" + str(
                                     newbullet.size) + "\n"
                 data2 = data2.encode('UTF-8')
                 sock.sendto(data2, server)
Esempio n. 2
0
    def update(self):
	if self.moving and self.update_time < pygame.time.get_ticks():
	    if self.move_time < pygame.time.get_ticks() and self.x_time == 0:
		if self.image == self.image1:
		    self.image = self.image2
		else:
		    self.image = self.image1
		self.move_time = pygame.time.get_ticks() + 400    
	    if self.x >= self.width- 30:
                self.reverse_all()
            elif self.x <= 20:
                self.reverse_all()
            self.x= self.x + self.move_distance
            self.rect.center= self.x, self.y
            self.update_time= pygame.time.get_ticks()+ 50
	    x = random.randrange(0, self.shots_time)
	    if x == 1:
                self.sound.play()
		image1 = 'graphics/enemy_bullet1.png'
		image2 = 'graphics/enemy_bullet2.png'
		image = random.choice([image1, image2])
		b1 = load_image(image, -1)
		bomb = bullet.bullet(b1, self.screen, -500, -500, self.width, self.height, False)
                bomb.shoot(self.x, self.y)
                self.sprite_group.add(bomb)
                self.bomb_group.add(bomb)
	    if self.x_time < pygame.time.get_ticks() and self.x_time > 0:  
		self.kill()
Esempio n. 3
0
    def detectKey(self,character):
        char = self.user_input(self._speed[0])

        if char == 'w':
            self.removeObject(character)
            character.up()
            self.writeObject(character,character)

        if char == 'a':
            self.removeObject(character)
            character.left()
            self.writeObject(character,character)

        if char == 'd':
            self.removeObject(character)
            character.right()
            self.writeObject(character,character)

        if char == 'b':
            temp_bullet=bullet(character.position50(),character.position51())
            self._bullets.append(temp_bullet)
            self.writeObject(temp_bullet,character)
            character.score=-1
        if char == ' ' and time.time()-character.lastTime() > 70:
            character.activateShield(time.time())
        if char == 'p' and self._speed[2]==0:
            self._speed=[0.025,time.time(),1]
            
        self.write()
        if char == 'q':
            self.quitX()
Esempio n. 4
0
 def shoot(self, key):
     if key[pygame.K_e]:
         '''creates and calls the bullet class to shoot'''
         bill = bullet.bullet(self.rect.x, self.rect.y, self.angle)
         bill.move()
         coor = [bill.rect.x, bill.rect.y, bill.angle]
         return coor
Esempio n. 5
0
def update():
    screen.blit(backgroundimage, (0, 0))
    screen.blit(car, (user.x, user.y))
    s.sendto(
        b"%d %d %d %d 0" % (playingid,
                            (user.y * 100) // screen_y, fire, user.health),
        (ip, port))
    data, addr = s.recvfrom(1024)
    global enemy_y
    enemy_y, enemy_fire, enemy_health = list(map(int, data.decode().split()))
    if enemy_health <= 0:
        end("you won")
    if user.health <= 0:
        end("you lost")
    if enemy_fire == 1:
        enemybullets.append(
            bullet.bullet(screen_x - 10 - car_x,
                          (enemy_y * screen_y) // 100 + car_y // 2))
    screen.blit(car1, (screen_x - 10 - car_x, (enemy_y * screen_y) // 100))
    for i in range(len(userbullets)):
        screen.blit(bulletimage, (userbullets[i].x, userbullets[i].y))
    for j in range(len(enemybullets)):
        screen.blit(bulletimage1, (enemybullets[j].x, enemybullets[j].y))
    healthbar(user.health, 1)
    healthbar(enemy_health, 2)
    pygame.display.update()
Esempio n. 6
0
 def update(self):
     if self.moving and self.update_time < pygame.time.get_ticks():
         if self.move_time < pygame.time.get_ticks() and self.x_time == 0:
             if self.image == self.image1:
                 self.image = self.image2
             else:
                 self.image = self.image1
             self.move_time = pygame.time.get_ticks() + 400
         if self.x >= self.width - 30:
             self.reverse_all()
         elif self.x <= 20:
             self.reverse_all()
         self.x = self.x + self.move_distance
         self.rect.center = self.x, self.y
         self.update_time = pygame.time.get_ticks() + 50
         x = random.randrange(0, self.shots_time)
         if x == 1:
             self.sound.play()
             image1 = 'graphics/enemy_bullet1.png'
             image2 = 'graphics/enemy_bullet2.png'
             image = random.choice([image1, image2])
             b1 = load_image(image, -1)
             bomb = bullet.bullet(b1, self.screen, -500, -500, self.width,
                                  self.height, False)
             bomb.shoot(self.x, self.y)
             self.sprite_group.add(bomb)
             self.bomb_group.add(bomb)
         if self.x_time < pygame.time.get_ticks() and self.x_time > 0:
             self.kill()
Esempio n. 7
0
    def update(self, *args):
        if self.hp <= 0:
            self.kill()
            return

        self.rect.y += self.speed_y
        self.rect.x += self.speed_x
        self.speed_y += 0.2

        g_floor = args[0]
        g_projec = args[1]

        s = pygame.sprite.spritecollideany(self, g_floor)
        if s != None and self.speed_y > 0:
            self.speed_y *= -.7

        pygame.key.set_repeat(True)
        
        keys = pygame.key.get_pressed()
        if keys[pygame.K_SPACE]:
            g_projec.add(bullet.bullet())
        elif keys[pygame.K_LEFT]:
            self.speed_x = -abs(self.speed_x)
        elif keys[pygame.K_RIGHT]:
            self.speed_x = abs(self.speed_x)
Esempio n. 8
0
 def fireWeapon(self):
     startingPosition = (self.position[0] + self.sprite.get_width() / 2,
                         self.position[1] + self.sprite.get_height())
     startingVelocity = 3
     if self.fireAtOnce == 1:
         self.firedWeapons.append(
             bullet.bullet(startingPosition, startingVelocity,
                           self.firingAngle, self.scale, self.isRed))
     elif self.firingPattern == 2:
         step = 2 * self.angleSpread / self.fireAtOnce
         for outAngle in linspace(self.firingAngle - self.angleSpread,
                                  self.firingAngle + self.angleSpread,
                                  self.fireAtOnce):
             self.firedWeapons.append(
                 bullet.bullet(startingPosition, startingVelocity, outAngle,
                               self.scale, self.isRed))
Esempio n. 9
0
 def shoot(self,key):
     print "time" +  str(time.clock())
     print "last" + str(self.lastshot)
     if (time.clock()) > self.lastshot:
         b = bullet(self.x+55, self.y-10,10)
         self.lastshot = time.clock()+self.timeBetweenShots
         self.bullets.append(b)
Esempio n. 10
0
 def shoot(self, time, player_point):
     if time % 30 == 0 and time <= 1200:  ###Shoots bullets every second.
         bullet = bull.bullet()
         bullet.obj_x = self.x  ###Initial position
         bullet.obj_y = self.y
         bullet.obj_vy = -10  ###Initial velocity
         bullet.obj_vx = 0
         return bullet
     elif time >= 1200 and time % 20 == 0:  ###Shoots bullets every 2/3 of a second.
         bullet = bull.bullet()
         bullet.obj_x = self.x
         bullet.obj_y = self.y
         bullet.obj_vy = -10
         bullet.obj_vx = 0
         return bullet
     else:
         return None
Esempio n. 11
0
def ship_gun(x, y, modifiers):
    #modifiers = stats
    #create bullet object/class if cooldown = 0
    bullet = b.bullet()  #??, make var bullet an object bullet from bullet.py
    bullet.obj_x = x
    bullet.obj_y = y
    bullet.obj_vy = 10
    return bullet
Esempio n. 12
0
    def loop(self, elapsed):  #write this out
        self.time_since_reload += elapsed

        if self.time_since_reload > self.reload_time:
            newBullet = bullet.bullet(self.screen, self.x, self.y)
            game.addBullet(newBullet)
            newBullet.setVelocity(self.direction)
        self.time_since_reload = 0
        print(self.time_since_reload)
Esempio n. 13
0
def main():
    #~ State Variables
    t0 = 0
    tf = .3
    dt = .001
    times = arange(t0, tf + dt, dt)
    #/~ State Variables

    #~ Bullet-specific Variables
    name = '50 ATV BT'
    b = bullet(name, mass=50., bc=0.242, model=G1)
    #~/ Bullet-Specific Variables

    #~ Get Samples
    from sample_data import samples
    vm = samples[name]['v'][:, 1][0]
    sight = samples[name]['st'][:, 0][2]

    x = samples[name]['st'][:, 0]
    y = samples[name]['st'][:, 1]
    #/~ Get Samples

    #~ Integrate
    theta = find_angle(sight, vm, b, times)
    print "THETA:", theta

    y0 = [0., 0., vm * cos(theta), vm * sin(theta)]
    states = odeint(b.shoot, y0, times)
    states = array(states)
    #/~ Integrate

    #~ Plot
    fig, ax = subplots()

    r_mark, = ax.plot(x, y, 'ro-', alpha=.8)
    b_mark, = ax.plot(states[:, 0] / 3.,
                      states[:, 1] * 12.,
                      'b-',
                      lw=3,
                      alpha=.8)

    legend([r_mark, b_mark],
           ['Sample Trajectory', 'Simulated (' + str(b) + ')'],
           numpoints=1)

    configure(ax=ax,
              title=r'G1 Model of Remington .233 cartridge' + '\n' +
              r'$\theta\approx' + str(round(theta, 6)) + r'$ radians',
              xlabel=r'Horizontal Displacement (yards)',
              ylabel=r'Height (inches)',
              xbounds=None,
              ybounds=None)

    fig.suptitle('Bullet Trajectory Simulation', size=30)
    fig.subplots_adjust(left=0.05, right=0.95, top=0.9, bottom=0.08)

    show()
Esempio n. 14
0
 def shoot(self, time, player_point):
     if time % 10 == 0:
         bullet = bull.bullet()
         bullet.obj_x = self.x
         bullet.obj_y = self.y
         bullet.obj_vy = -10
         bullet.obj_vx = (-self.x + player_point["x"]) / player_point["y"]
         return bullet
     else:
         return None
Esempio n. 15
0
 def shoot(self, time, player_point):
     if time % 10 == 0:  ###Shoots bullets every 1/3 of a second.
         bullet = bull.bullet()
         bullet.obj_x = self.x  ###Initial position
         bullet.obj_y = self.y
         bullet.obj_vy = -10  ###Initial velocity
         bullet.obj_vx = (-self.x + player_point["x"]) / player_point["y"]
         return bullet
     else:
         return None
Esempio n. 16
0
    def createBullet(self, shooter):
        if (len(self.deadBulletPool) != 0):
            b = self.deadBulletPool.pop()
        else:
            b = bullet()

        b.init(shooter)
        self.bulletPool.append(b)
        self.bulletsFired += 1
        if (self.bulletsFired % 100 == 0):
            self.firedHitBulletHistory.append([self.bulletsFired, self.bulletsHit])
            self.bulletsHit = 0
Esempio n. 17
0
def main():
    # ~ State Variables
    t0 = 0
    tf = 0.3
    dt = 0.001
    times = arange(t0, tf + dt, dt)
    # /~ State Variables

    # ~ Bullet-specific Variables
    name = "50 ATV BT"
    b = bullet(name, mass=50.0, bc=0.242, model=G1)
    # ~/ Bullet-Specific Variables

    # ~ Get Samples
    from sample_data import samples

    vm = samples[name]["v"][:, 1][0]
    sight = samples[name]["st"][:, 0][2]

    x = samples[name]["st"][:, 0]
    y = samples[name]["st"][:, 1]
    # /~ Get Samples

    # ~ Integrate
    theta = find_angle(sight, vm, b, times)
    print "THETA:", theta

    y0 = [0.0, 0.0, vm * cos(theta), vm * sin(theta)]
    states = odeint(b.shoot, y0, times)
    states = array(states)
    # /~ Integrate

    # ~ Plot
    fig, ax = subplots()

    r_mark, = ax.plot(x, y, "ro-", alpha=0.8)
    b_mark, = ax.plot(states[:, 0] / 3.0, states[:, 1] * 12.0, "b-", lw=3, alpha=0.8)

    legend([r_mark, b_mark], ["Sample Trajectory", "Simulated (" + str(b) + ")"], numpoints=1)

    configure(
        ax=ax,
        title=r"G1 Model of Remington .233 cartridge" + "\n" + r"$\theta\approx" + str(round(theta, 6)) + r"$ radians",
        xlabel=r"Horizontal Displacement (yards)",
        ylabel=r"Height (inches)",
        xbounds=None,
        ybounds=None,
    )

    fig.suptitle("Bullet Trajectory Simulation", size=30)
    fig.subplots_adjust(left=0.05, right=0.95, top=0.9, bottom=0.08)

    show()
Esempio n. 18
0
def ship_gun(x, y, ex, ho, pi, dam):
    #modifiers = stats
    #create bullet object/class if cooldown = 0
    bullet = b.bullet()  #??, make var bullet an object bullet from bullet.py
    bullet.obj_x = x
    bullet.obj_y = y
    bullet.obj_vy = 10
    bullet.modifiers["explosive"] = ex
    bullet.modifiers["homing"] = ho
    bullet.modifiers["piercing"] = pi
    bullet.damage = dam
    return bullet
Esempio n. 19
0
    def createBullet(self, shooter):
        if (len(self.deadBulletPool) != 0):
            b = self.deadBulletPool.pop()
        else:
            b = bullet()

        b.init(shooter)
        self.bulletPool.append(b)
        self.bulletsFired += 1
        if (self.bulletsFired % 100 == 0):
            self.firedHitBulletHistory.append(
                [self.bulletsFired, self.bulletsHit])
            self.bulletsHit = 0
Esempio n. 20
0
	def handle_shoot(self, FrameRate):
		"""handle shooting"""
		self.shoot_cooldown -= FrameRate
		if self.shoot_cooldown < 0.0:
			self.shoot_cooldown = 0.0
			
		if self.shoot == True and self.shoot_cooldown == 0.0:
			new_bullet = bullet(self.rect.left + 16, self.rect.top, math.pi/2)
			self.projectiles.append(new_bullet)
			self.shoot_cooldown = 2.0
		for i, projectile in enumerate(self.projectiles):
			if not projectile.update(FrameRate):
				self.projectiles.pop(i)
Esempio n. 21
0
	def __shoot_bullet(self):
		bullet_offset = 10
		if ((self.bullet_ammo > 0) and (self.bullet_reload_time is 0)):
			new_bullet_position = vector2.vector2(self.position.x - bullet_offset,self.position.y + self.image.get_height()/2)
			print ("spawned bullet at %d %d") % (new_bullet_position.x, new_bullet_position.y)
			#if player facing right, offset bullet spawn position to his right side
			if(self.direction == 1):
				new_bullet_position.x += self.image.get_width() + 2*bullet_offset
				
			self.bullet_ammo -= 1
		
			#spawn bullet at new_bullet_position with speed left or right depending on facing direction	
			bullet.bullet_list.append(bullet.bullet(new_bullet_position.x,new_bullet_position.y,bullet.bullet_speed * self.direction,0))
Esempio n. 22
0
    def shoot(self):

        self.mousePos = self.mouseX, self.mouseY = pygame.mouse.get_pos()

        if self.direction == "left":
            
            if self.mouseX > self.rect.x + self.gunX:
                self.bulletDirection = "right"
            else:
                self.bulletDirection = "left"
                
            if (self.rect.x-self.mouseX) == 0:
                if self.rect.y-self.mouseY > 0:
                    self.theta = 3*pi/2
                else:
                    self.theta = pi/2
            else:
                self.theta = atan((self.rect.y-self.mouseY)/(self.rect.x-self.mouseX))
                
        else:
            
            if self.mouseX > self.rect.x + self.width - self.gunX:
                self.bulletDirection = "right"
            else:
                self.bulletDirection = "left"


            if (self.rect.x+self.width-self.mouseX) == 0:
                if self.rect.y-self.mouseY > 0:
                    self.theta = 3*pi/2
                else:
                    self.theta = pi/2
            else:
                self.theta = atan((self.rect.y-self.mouseY)/(self.rect.x+self.width-self.mouseX))

        if self.direction == "left":
            return bullet(self.x+self.gunX, self.y+self.gunY, self.bulletImage, self.theta, self.bulletVelocity, self.bulletDirection, checkClass(self)) 
        else:
            return bullet(self.x+self.width-self.gunX, self.y+self.gunY, self.bulletImage, self.theta, self.bulletVelocity, self.bulletDirection, checkClass(self)) 
Esempio n. 23
0
def check_keydown_event(event, ai_settings, screen, ship, bullets):
    '''捕获按键按下操作'''
    if event.key == pygame.K_RIGHT:
        ship.moving_rigth = True
    if event.key == pygame.K_LEFT:
        ship.moving_left = True
    if event.key == pygame.K_SPACE:
        if len(bullets) < ai_settings.bulltes_allowed:
            new_bullet = bullet(ai_settings, screen, ship)
            bullets.add(new_bullet)
    if event.key == pygame.K_q:
        pygame.quit()
        sys.exit()
Esempio n. 24
0
 def shoot(self, FrameRate):
     self.shoot_cooldown -= FrameRate
     if self.shoot_cooldown < 0.0:
         self.shoot_cooldown = 0.0
     
     if self.shoot_cooldown == 0.0:
         if not self.dragon:
             new_bullet = bullet(self.rect.left+16, self.rect.bottom, -math.pi/2)
             self.bad_projectiles.append(new_bullet)
             self.shoot_cooldown = 6.0
         else:
             new_fireball = fireball(self.rect.left+16, self.rect.bottom, -math.pi/2)
             self.bad_projectiles.append(new_fireball)
             self.shoot_cooldown = 4.0
Esempio n. 25
0
 def handle_shoot(self, FrameRate):
     self.shoot_cooldown -= FrameRate
     if self.shoot_cooldown < 0.0:
         self.shoot_cooldown = 0.0
     
     if self.shoot == True and self.shoot_cooldown == 0.0:
         self.energy +=1
         if not self.dragon:
             new_bullet = bullet(self.rect.left+16, self.rect.top, math.pi/2)
             self.projectiles.append(new_bullet)
             self.shoot_cooldown = 2.0
         else:
             new_fireball = fireball(self.rect.left+16, self.rect.top, math.pi/2)
             self.projectiles.append(new_fireball)
             self.shoot_cooldown = 1.5
     for i, projectile in enumerate(self.projectiles):
         if not projectile.update(FrameRate):
             self.projectiles.pop(i)
Esempio n. 26
0
    def update(self, keys, screen_width, screen_height, obstacle_list):
        if keys[pygame.K_LEFT]:
            self.angle -= min(abs(self.speed), 5)
        elif keys[pygame.K_RIGHT]:
            self.angle += min(abs(self.speed), 5)
        self.angle = self.angle % 360

        if keys[pygame.K_UP] and self.speed < 20:
            self.speed += 1
        elif keys[pygame.K_DOWN] and self.speed > -20:
            self.speed -= 1

        if self.bullet_timeout > 0:
            self.bullet_timeout = self.bullet_timeout - 1
        elif keys[pygame.K_RETURN] or keys[pygame.K_SPACE]:
            # Space is held, there is an autofire limit
            obstacle_list.append(
                bullet(screen_width, screen_height, self.center_x,
                       self.center_y, self.angle, 0))
            self.bullet_timeout = 9
        else:
            # Space is released, we can fire immediately after.
            self.bullet_timeout = 0

        self.speed = self.speed * 0.95
        radians = self.angle * math.pi / 180.

        self.delta_x = math.cos(radians) * self.speed
        self.delta_y = math.sin(radians) * self.speed

        # wall collision x
        if (self.center_x + self.delta_x < 5
                or self.center_x + self.delta_x > screen_width
                or self.center_y + self.delta_y < 5
                or self.center_y + self.delta_y > screen_height):
            self.speed = self.speed * -0.1
            self.delta_x = math.cos(radians) * self.speed
            self.delta_y = math.sin(radians) * self.speed

        self.x += self.delta_x
        self.y += self.delta_y
        self.center_x = int(self.x + self.width / 2)
        self.center_y = int(self.y + self.height / 2)
Esempio n. 27
0
 def update(self, asteroids: pygame.sprite.Group, dt: float, bullets: list):
     if self.status == ROCKET_STATUS.ALIVE:
         """
         Calculates the angle made by the mouse pointer with the horizontal
         """
         (mousex, mousey) = pygame.mouse.get_pos()
         mousex -= self.position[0]
         mousey -= self.position[1]
         magnitude = (mousex**2 + mousey**2)**0.5
         angle_sin = mousey / magnitude
         angle_cos = mousex / magnitude
         self.angle = np.arctan2(-mousey, mousex)
         """
         Accelerate towards mouse pointer if LMB is pressed
         """
         if pygame.mouse.get_pressed(num_buttons=3)[0]:
             self.velocity[0] += rocket_accel_coeff * dt * angle_cos
             self.velocity[1] += rocket_accel_coeff * dt * angle_sin
         """
         Fire if last shot was fired > 0.2 seconds ago and RMB is pressed
         """
         if pygame.mouse.get_pressed()[2] and \
            (pygame.time.get_ticks() - self.last_shot_tick)/1000 >= 0.1:
             bullets.append(bullet.bullet(self.position.copy(), self.angle))
             self.last_shot_tick = pygame.time.get_ticks()
         """
         Update position, rotate image, check for collisions
         """
         self.position[0] += rocket_velocity_coeff * dt * self.velocity[0]
         self.position[1] += rocket_velocity_coeff * dt * self.velocity[1]
         self.image = pygame.transform.rotate(self.unrotated_image,
                                              np.degrees(self.angle) - 90)
         self.rect = self.image.get_rect()
         self.rect.center = (self.position[0], self.position[1])
         for asteroid in asteroids:
             if pygame.sprite.collide_mask(self, asteroid):
                 self.status = ROCKET_STATUS.DEAD
         if self.position[0] < 0 or self.position[0] > window_width or \
            self.position[1] < 0 or self.position[1] > window_height:
             self.status = ROCKET_STATUS.DEAD
Esempio n. 28
0
def shoot(settings, screen, player, bullets):
    # shoot bullets
    if len(bullets) < settings.bullets_allowed:
        new_bullet = bullet(settings, screen, player)
        bullets.add(new_bullet)
Esempio n. 29
0
def main():

    score = 0

    score_font = pygame.font.Font(None, 36)

    runing = True

    clock = pygame.time.Clock()

    pygame.mixer.music.play()

    enemies = pygame.sprite.Group()  #所有敌机

    enemy1 = pygame.sprite.Group()  #敌机1

    en1 = add_enemy1(enemies, enemy1, randint(3, 5))

    enemy2 = pygame.sprite.Group()  #敌机2

    en2 = add_enemy2(enemies, enemy2, randint(5, 10))

    bullets = pygame.sprite.Group()  #子弹

    spbullets = pygame.sprite.Group()  #超级子弹

    en1bullets = pygame.sprite.Group()

    bd = False

    en1left = 0

    en2left = 0

    k = 1  #此参数用于将游戏结束后剩余飞机计数删除

    delay = 100  #延时参数

    delay2 = 100  #延时参数

    delay3 = 100  #延时参数

    delay4 = 100  #延时参数

    run = 1

    x = 0  #延时参数

    y = 0  #延时参数

    num1 = 0

    num2 = 0

    num3 = 0

    level = 0  #难度计数

    while runing:

        status = 0

        screen.blit(bg, bg_rect)  #背景打印

        screen.blit(bg2, bg2_rect)

        bg_rect.top += 5

        bg2_rect.top += 5

        print(bg_rect.top)

        print(bg2_rect.top)

        if bg2_rect.top == height:

            bg2_rect.top = -bg2_rect.height - (bg_rect.height - height)

        if bg_rect.top == height:

            bg_rect.top = -bg2_rect.height - (bg_rect.height - height)

        for event in pygame.event.get():

            if event.type == QUIT:

                pygame.quit()

                sys.exit()

        score_text = score_font.render("Score:%s" % score, True,
                                       (255, 255, 255))

        screen.blit(score_text, (10, 5))

        bt = bullet.bullet(bgsize, Plane.rect.top, Plane.rect.left,
                           Plane.speed)

        key_pressed = pygame.key.get_pressed()

        if key_pressed[K_w] or key_pressed[K_UP]:

            Plane.moveup()

        if key_pressed[K_s] or key_pressed[K_DOWN]:

            Plane.movedown()

        if key_pressed[K_a] or key_pressed[K_LEFT]:

            Plane.moveleft()

            status = -1

        if key_pressed[K_d] or key_pressed[K_RIGHT]:

            Plane.moveright()

            status = 1

        if key_pressed[K_j] or key_pressed[K_SPACE]:

            if level < 3:

                if not delay % 10:

                    add_bullet(bullets)

            else:

                if not delay % 5:

                    add_bulletx2(bullets)

            delay -= 1

            if delay == 0:

                delay == 100

        if key_pressed[K_p] or key_pressed[K_c]:

            if not delay2 % 10:

                sp = add_spbullet(spbullets)

            delay2 -= 1

            if delay2 == 0:

                delay2 == 100

        for each in enemy1:

            if each.active:

                enemy1.remove(each)

                while pygame.sprite.spritecollide(each, enemy1, False,
                                                  pygame.sprite.collide_mask):

                    each.rect.top -= 200

                enemy1.add(each)

                screen.blit(each.image1, each.rect)

                each.move()

                ##敌机生成发射子弹集合

                if level > 2:

                    if not delay4 % 80:

                        add_en1bullet(en1bullets, each.rect.top,
                                      each.rect.left, each.speed)

                    delay4 -= 1

                    if delay4 == 0:

                        delay4 = 100

                print('yesyes')

            else:

                each.rect.top += 20

                enemy1.remove(each)

                while pygame.sprite.spritecollide(each, enemy1, False,
                                                  pygame.sprite.collide_mask):

                    each.rect.top += 20

                enemy1.add(each)

                screen.blit(destroyed_en1[num1], each.rect)

                print('num1:' + str(num1))

                num1 += 1

                if num1 == 6:

                    num1 = 0

                    enemy1.remove(each)

                    if Plane.active:

                        score += 2000

        for each in enemy2:

            if each.active:

                screen.blit(each.image1, each.rect)

                each.move()

            else:

                screen.blit(destroyed[num2], each.rect)

                num2 += 1

                if num2 == 6:

                    enemy2.remove(each)

                    if Plane.active:

                        score += 1000

                    num2 = 0

        for each in bullets:

            screen.blit(each.image1, each.rect)

            each.launch()

            for it in enemy1:

                bd = pygame.sprite.collide_rect(each, it)

                if bd:

                    it.life -= 1

                    if not it.life:

                        it.active = False

                    bullets.remove(each)

            for p in enemy2:

                bd2 = pygame.sprite.collide_rect(each, p)

                if bd2:

                    p.life -= 1

                    if not p.life:

                        p.active = False

                    bullets.remove(each)

            if each.rect.top < 0:

                bullets.remove(each)

        for each in spbullets:

            if each.active:

                screen.blit(each.image1, each.rect)

                each.launch()

            else:

                screen.blit(each.image2[y], each.rect2)

                if not (delay3 % 6):

                    y += 1

                delay3 -= 1

                if delay3 == 0:

                    delay3 = 100

                print(y)

                if y == 3:

                    spbullets.remove(each)

                    y = 0

            for i in enemy1:

                bd3 = pygame.sprite.collide_rect(i, each)

                if bd3:

                    for p in enemy1:

                        p.active = False

                    for e in enemy2:

                        e.active = False

                    each.active = False

            for e in enemy2:

                bd4 = pygame.sprite.collide_rect(e, each)

                if bd4:

                    for p in enemy1:

                        p.active = False

                    for e in enemy2:

                        e.active = False

                    each.active = False

        for each in en1bullets:

            screen.blit(each.image1, each.rect)

            each.launch()

            bd5 = pygame.sprite.collide_rect(each, Plane)

            if bd5:

                Plane.active = False

            if each.rect.top > height:

                en1bullets.remove(each)

        ed = pygame.sprite.spritecollide(Plane, enemy1, False,
                                         pygame.sprite.collide_mask)

        ed2 = pygame.sprite.spritecollide(Plane, enemy2, False,
                                          pygame.sprite.collide_mask)

        if ed or ed2:

            Plane.active = False

            for e in enemies:

                e.active = False

        if not enemy1 and not enemy2 and Plane.active:

            level += 1

            enemies = pygame.sprite.Group()  #所有敌机

            enemy1 = pygame.sprite.Group()  #敌机1

            en1 = add_enemy1(enemies, enemy1, 10)

            enemy2 = pygame.sprite.Group()  #敌机2

            en2 = add_enemy2(enemies, enemy2, randint(10, 15))

        if level == 3:

            pass

        if Plane.active:

            if status == 0:

                screen.blit(Plane.image1, Plane.rect)

            elif status == 1:

                screen.blit(Plane.image3, Plane.rect)

            elif status == -1:

                screen.blit(Plane.image2, Plane.rect)

        else:

            screen.blit(gameover, (0, 0))

            with open('record.txt', 'r') as f:

                score_recorded = int(f.read())

            if score > score_recorded:

                with open('record.txt', 'w') as f:

                    f.write(str(score))

            over_text = score_font.render("Best Score: %s" % score_recorded,
                                          True, (255, 255, 255))

            screen.blit(over_text, (220, 250))

            screen.blit(playagain, (250, 300))

            for i in enemy1:

                i.active = False

            for e in enemy2:

                e.active = False

            run = 0

            if pygame.mouse.get_pressed()[0]:

                pos = pygame.mouse.get_pos()

                if 250 < pos[0] < 400 and 300 < pos[1] < 375:

                    Plane.active = True

                    score = 0

                    level = 0

        x += 1

        if x == 3:

            num3 += 1

            x = 0

        if num3 == 8:

            num3 = 0

        pygame.display.update()

        pygame.display.flip()

        clock.tick(30)
Esempio n. 30
0
    def update(self):

        # Quit game when needed

        x, y = pygame.mouse.get_pos()
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()

            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_SPACE and self.player.bananas > 0 and not self.player.isDestroyed(
                ):
                    self.player.bananas -= 1
                    self.entities.append(
                        bullet.bullet(self.player.rect.x, self.player.rect.y,
                                      x, y))

        enemycounter = 0
        for entity in self.entities:
            entity.update()

            # Check for bullet-enemy collision

            if isinstance(entity, bullet.bullet):
                for collision_entity in self.entities:
                    if isinstance(
                            collision_entity, enemy.Enemy
                    ) and entity.isactive and entity.rect.colliderect(
                            collision_entity.rect):
                        entity.disable()
                        collision_entity.hascollided = True
                        self.sounds['impact'].play()
                    elif isinstance(
                            collision_entity, Player.Player
                    ) and not entity.isactive and entity.rect.colliderect(
                            collision_entity.rect):
                        collision_entity.bananas += 1
                        entity.hascollided = True

            # Check for player-enemy collision

            elif isinstance(entity, Player.Player):
                for collision_entity in self.entities:
                    if isinstance(collision_entity,
                                  enemy.Enemy) and entity.rect.colliderect(
                                      collision_entity.rect):
                        entity.hascollided = True
                        self.sounds['gameover'].play()
                        for i in self.music:
                            self.music[i].stop()
                        self.gameOver()
                        return
                if (self.win):
                    for mapentitylist in self.mapobjects:
                        for mapentity in mapentitylist:
                            if mapentity.bridge and entity.rect.colliderect(
                                    mapentity.rect):
                                self.sounds['stagecomplete'].play()
                                self.win = 0
                                self.level += 1
                                self.initVars(self.level)
                                return

            elif isinstance(entity, enemy.Enemy):
                enemycounter += 1

        for mapentitylist in self.mapobjects:
            for mapentity in mapentitylist:
                for collision_entity in self.entities:
                    if mapentity.collision and isinstance(
                            collision_entity,
                            Player.Player) and mapentity.rect.colliderect(
                                collision_entity.rect):
                        if collision_entity.rect.x < mapentity.rect.x:
                            collision_entity.rect.x -= config.PLAYER_MOVEMENT_SPEED
                        elif collision_entity.rect.x > mapentity.rect.x:
                            collision_entity.rect.x += config.PLAYER_MOVEMENT_SPEED
                        if collision_entity.rect.y < mapentity.rect.y:
                            collision_entity.rect.y -= config.PLAYER_MOVEMENT_SPEED
                        elif collision_entity.rect.y > mapentity.rect.y:
                            collision_entity.rect.y += config.PLAYER_MOVEMENT_SPEED
                        mapentity.refresh = 4

                    elif (isinstance(collision_entity, enemy.Enemy)
                          or isinstance(collision_entity, Player.Player)
                          or isinstance(collision_entity, bullet.bullet)
                          ) and mapentity.rect.colliderect(
                              collision_entity.rect):
                        mapentity.refresh = 2

        if enemycounter == 0:
            self.win = True

        self.entities = [x for x in self.entities if not x.isDestroyed()]
Esempio n. 31
0
    def start(self):
        '''
        Runs the game screen.
        param list:(object) only needs self
        return: (int) returns the score the player got
        '''
        move = [False, False]
        done = False
        while not done:
            self.alien.append(aliens.aliens(self.image[1]))
            self.spritealien.add(self.alien)
            if len(self.alien) % 15 == 0:
                self.speed += 1

            for a in range(len(self.alien)):
                while self.alien[a].rect.y < 700:
                    pygame.time.delay(5)
                    self.alien[a].move(self.speed)
                    self.display.blit(self.background, (0, 0))
                    self.spriteship.draw(self.display)
                    self.spritealien.draw(self.display)
                    self.spritebullet.draw(self.display)
                    self.display.blit(self.value, (30, 30))
                    pygame.display.flip()
                    for event in pygame.event.get():
                        if event.type == pygame.QUIT:
                            done = True
                        elif event.type == pygame.KEYDOWN:
                            if event.key == pygame.K_LEFT:
                                move[0] = True
                            elif event.key == pygame.K_RIGHT:
                                move[1] = True
                            elif event.key == pygame.K_SPACE:
                                self.bullet.append(
                                    bullet.bullet(self.ship.rect.x + 60,
                                                  self.ship.rect.y))
                                self.spritebullet.add(self.bullet)

                        elif event.type == pygame.KEYUP:
                            if event.key == pygame.K_LEFT:
                                move[0] = False
                            elif event.key == pygame.K_RIGHT:
                                move[1] = False
                    if move[0]:
                        self.ship.moveLeft(self.speed)
                    elif move[1]:
                        self.ship.moveRight(self.speed)

                    for b in range(len(self.bullet)):
                        if self.bullet[b].rect.y > -20:
                            self.bullet[b].shootBullet()
                        if self.bullet[b].rect.colliderect(
                                self.alien[a].rect
                        ) and self.bullet[b].rect.y > 65:
                            self.bullet[b].kill()
                            self.alien[a].kill()
                            self.bullet[b].exit()
                            self.alien[a].exit()

                            self.score.increase()
                            self.value = self.font.render(
                                'Score: ' + str(self.score.count), True,
                                (0, 255, 0))
                            self.spriteship.draw(self.display)
                            self.spritealien.draw(self.display)
                            self.spritebullet.draw(self.display)
                            pygame.display.flip()
                    if self.ship.rect.colliderect(self.alien[a].rect):
                        return self.score.count
                    elif 640 <= self.alien[a].rect.y <= 700:
                        return self.score.count

            self.display.blit(self.background, (0, 0))
            self.spriteship.draw(self.display)
            self.spritealien.draw(self.display)
            self.spritebullet.draw(self.display)
            self.display.blit(self.value, (30, 30))
            pygame.display.flip()
Esempio n. 32
0
def main():
    WIDTH = 500
    HEIGHT = 800
    player = mob.player((0, 0), 6, 10)
    clock = pygame.time.Clock()
    enemy = mob.enemy((HEIGHT / 2, WIDTH / 2), 3, 10)
    screen = pygame.display.set_mode((HEIGHT, WIDTH))

    all_entities = pygame.sprite.Group()
    enemies = pygame.sprite.Group()
    all_entities.add(player)
    bullets = []
    ADDENEMY = pygame.USEREVENT + 1

    pygame.time.set_timer(ADDENEMY, 2500)

    isRunning = True

    while isRunning:

        screen.fill((0, 0, 0))
        #Check for input
        for event in pygame.event.get():
            #exit button
            if event.type == pygame.QUIT:
                pygame.quit()
                isRunning = False
            #key input
            elif event.type == pygame.KEYDOWN:
                if event.key == pygame.K_ESCAPE:
                    pygame.quit()
                    isRunning = False

            #mouse input
            elif event.type == pygame.MOUSEBUTTONDOWN:
                target = pygame.mouse.get_pos()
                bullets.append(bullet.bullet(player.get_XY(), 3, target))

            elif event.type == ADDENEMY:
                yEnemy = random.randint(1, HEIGHT)
                xEnemy = random.randint(1, WIDTH)
                enemies.add(mob.enemy((yEnemy, xEnemy), 3, 10))

        key = pygame.key.get_pressed()
        if key[pygame.K_d]: player.move("right")
        if key[pygame.K_s]: player.move("down")
        if key[pygame.K_a]: player.move("left")
        if key[pygame.K_w]: player.move("up")

        #Events
        surf = pygame.Surface(screen.get_size())
        surf.fill((150, 0, 50))
        screen.blit(surf, (0, 0))
        player.draw(screen, (0, 128, 255))
        for enemy in enemies:
            enemy.draw(screen, (0, 255, 0))
            enemy.path()
        for aBullet in bullets:
            if aBullet.move() == 0:
                pass
            else:
                aBullet.draw(screen)
                aBullet.move()
            for enemy in enemies:
                if pygame.sprite.collide_rect(aBullet, enemy):
                    enemy.kill()

        #display
        pygame.display.flip()

        #Framess
        clock.tick(30)
Esempio n. 33
0
		running = splash.show_splash(screen)
		screen.blit(bg_image, (0, 0))
		pygame.display.flip()
	    elif event.key== K_ESCAPE:
		running = splash.show_splash(screen)
		screen.blit(bg_image, (0, 0))
		pygame.display.flip()
	    if event.key == K_LEFT or keys_pressed[K_LEFT]:
		s.moveL()
	    elif event.key== K_RIGHT or keys_pressed[K_RIGHT]:
		s.moveR()
	    if event.key== K_SPACE or keys_pressed[K_SPACE]:
		if spacebar_timer < pygame.time.get_ticks(): 		
			s_shooting.play()
			b_image =load_resources.load_image('graphics/bullet.png')
			b= bullet.bullet(b_image, screen, -500, -500, width, height, True)
			b.shoot(s.x, s.y)
			sprites.add(b)
			bullets.add(b)
			spacebar_timer= pygame.time.get_ticks() + 450
###Creates UFO 
    if enemy2_time < pygame.time.get_ticks():
	e2 = enemies.enemy2(width, height)
	sprites.add(e2)
	enemy_group.add(e2)
	enemy2_time = pygame.time.get_ticks() + random.randrange(15000, 35000)
###Check for bullets to collide with enemies
    for hit_enemies in pygame.sprite.groupcollide(bullets, enemy_group, False, False).values():
	for e in hit_enemies:	
	    score.add(e.get_points())
    for hit_enemies in pygame.sprite.groupcollide(enemy_group, bullets, False, True).keys():
Esempio n. 34
0
 def shoot(self):
     return bullet(self.x + self.width / 2, self.y + self.height / 2, -1,
                   self.colour, self.screen)
Esempio n. 35
0
                    global_stuff.screen_length)  # full board
    fb.prepare_board()
    board = gameboard.gameboard(
        global_stuff.screen_height, global_stuff.screen_length)  # Partial board displayed on the screen
    # Write to the partial board on the screen
    board.write_full_on_board(fb, 0)
    h = hero()  # Hero
    e = enemy()  # Enemy

    # MAKE THE ENEMY COME IN THE 1st SCREEN IF IN TESTING MODE
    global_stuff.homework()
    if(global_stuff.test_enemy == 1):
        global_stuff.enemy_come = 1

    # BULLETS
    bullet_list = [bullet() for _ in range(10)]
    for i in range(global_stuff.bullets_left):
        bullet_list[i].make_deployable()
    if(global_stuff.debug == 1):
        print('Game starts at '+str(global_stuff.game_start_time))

    # TIME MANAGEMENT
    global_stuff.game_start_time = time.time()  # get the start time of the game

    # INITIALISE THE LOCAL COUNTERS USED
    gravity_ok = 0
    restore_bullet = 0

    # OTHER LOCAL GAME VARIABLES
    isdead = 'Alive'
    gravity_counter = 0
Esempio n. 36
0
def main():
	
	pygame.init()
	pygame.mixer.pre_init()
	player = score.score()
	#pygame.mixer.music.load('betsky.ogg')
	#pygame.mixer.music.play(loops = 15, start = 0.0)
	screen = pygame.display.set_mode((600,600))
	background = pygame.Surface(screen.get_size()) 
	background = background.convert()
	nimbus = ship.ship(100.0,100.0,90)
	#pewpew = bullet.bullet(nimbus.rect.x,nimbus.rect.y,nimbus.angle)
	aster = asteriod.asteriod(100,100,90) 
	background.fill((0,0,0)) 
	white = (250, 250,250)
	screen.blit(background,(0,0)) 
	laser = bullet.bullet(10,10,0) 
	#pygame.transform.scale(aster, (20, 20))
	#pygame.transform.scale(pewpew, (5, 5))
	pygame.display.flip() 
	randx = random.randrange(300)
	randy = random.randrange(300)
	allsprites = pygame.sprite.Group((aster))
	shp = pygame.sprite.Group((nimbus,laser))
	clock = pygame.time.Clock() 
	pygame.key.set_repeat(1,10) 
	start_screen = True
	game_screen = False 
	end_screen = False 
	#TM = pygame.USEREVENT+1
	#evnt = pygame.event.Event(TM, asteroid) 
	#tmr = pygame.time.set_timer(pygame.USEREVENT +1, 4000)	
	while start_screen == True:
		myfont = pygame.font.SysFont("Britannic Bold", 40)
		intro = myfont.render("Welcome, press enter to start", 1,white) 
		game_over = myfont.render(" G A M E  O V E R", 4,white)
		for event in pygame.event.get():
			
			if event.type == pygame.QUIT:
					return 
			keys = pygame.key.get_pressed()
			if keys[pygame.K_KP_ENTER ]:
				print("test") 
				start_screen = False
				game_screen = True 
		screen.blit(intro,(100,100)) 
		pygame.display.flip() 

	while game_screen == True:
		screen.blit(background,(0,0))
		clock.tick(60) 
		for event in pygame.event.get():
			if event.type == pygame.QUIT:
					return 
			#if event.type == evnt:
				#return
			crash = pygame.sprite.collide_rect(aster, nimbus)
			counter = 0			
			if crash:
				nimbus.rect.x =(300)
				nimbus.rect.y =(300)	
				#counter += 1
				nimbus.livesUpdate()
				if nimbus.health<0:
					game_screen = False
					end_screen = True 
				print('health:',nimbus.health)
				print(counter)
			if counter == 1:
				screen.blit(game_over,(100,100))			

			#player.score = 0			
			shot = pygame.sprite.spritecollide(laser,allsprites,True)			
			if shot:
				allsprites.add(aster)
				aster.rect.x =random.randrange(250)
				aster.rect.y =random.randrange(250)
				laser.rect.x = 6000
				laser.rect.y = 6000
				pygame.display.flip()
				player.points(50)
				print('hit')
			
			keys = pygame.key.get_pressed()
			nimbus.move(keys) 
			nimbus.shoot(keys) 
			if keys[pygame.K_e]:
				coor = nimbus.shoot(keys)
				laser.setCoor(coor[0] + 30,coor[1],coor[2]) 
		#if event.type == pygame.event.Event(crash)+1:
		#	allsprites.add(aster)
				#allsprites.add(laser) 
		aster.move(aster.angle) 
		currentscore = str(player.current())
		pygame.display.set_caption(currentscore)   
		laser.update()
		allsprites.draw(screen)
		shp.draw(screen)
		screen.blit(nimbus.image,nimbus.rect)
		screen.blit(laser.image,laser.rect)
		pygame.display.flip() 

	#quit()
	while end_screen == True:
		playerscore = player.player() 
		playerscore = 'High Score' + ':' + str(playerscore) 
		myfont = pygame.font.SysFont("Britannic Bold", 40)
		intro = myfont.render("Gameover, press enter to continue", 1,white)
		scorer = myfont.render(playerscore, 0 , white) 		 
		scorer = myfont.render(playerscore, 0 , white)
		for event in pygame.event.get():
			if event.type == pygame.QUIT:
					return 
			keys = pygame.key.get_pressed()
			if keys[pygame.K_KP_ENTER ]:
				print("test") 
				end_screen = False
				start_screen = True 
		screen.blit(intro,(100,100)) 
		screen.blit(scorer,(100,50)) 
		pygame.display.flip() 
Esempio n. 37
0
    def shoot(self):

        self.bullet = bullet(self.position)
        self.bullets.append(self.bullet)
Esempio n. 38
0
def main():
	
	pygame.init()
	pygame.mixer.pre_init()
	player = score.score()
	screen = pygame.display.set_mode((600,600))
	background = pygame.Surface(screen.get_size()) 
	background = background.convert()
	nimbus = ship.ship(100.0,100.0,90)
	#pewpew = bullet.bullet(nimbus.rect.x,nimbus.rect.y,nimbus.angle)
	aster = asteriod.asteriod(100,100,90) 
	background.fill((0,0,0)) 
	white = (250, 250,250)
	screen.blit(background,(0,0)) 
	laser = bullet.bullet(10,10,0) 
	#pygame.transform.scale(aster, (20, 20))
	#pygame.transform.scale(pewpew, (5, 5))
	pygame.display.flip() 
	randx = random.randrange(300)
	randy = random.randrange(300)
	allsprites = pygame.sprite.Group((nimbus,aster,))
	clock = pygame.time.Clock() 
	pygame.key.set_repeat(1,10) 
	start_screen = True
	game_screen = False 
	end_screen = False 	
	while start_screen == True:
		myfont = pygame.font.SysFont("Britannic Bold", 40)
		intro = myfont.render("Welcome, press enter to start", 1,white) 
		game_over = myfont.render(" G A M E  O V E R", 4,white)
		for event in pygame.event.get():
			if event.type == pygame.QUIT:
					return 
			keys = pygame.key.get_pressed()
			if keys[pygame.K_KP_ENTER ]:
				print("test") 
				start_screen = False
				game_screen = True 
		screen.blit(intro,(100,100)) 
		pygame.display.flip() 

	while game_screen == True:
		screen.blit(background,(0,0))
		clock.tick(120) 
		for event in pygame.event.get():
			if event.type == pygame.QUIT:
				return
			#pygame.mixer.music.load('theme.mp3') #plays music
			#pygame.mixer.music.play( loops = -1, start = 0.0)	
			counter = 0
			'''if pygame.sprite.collide_rect(aster,nimbus):
				for i in range counter collision:		
				counter += 1				
				print('cross')
				#print(counter)'''
			if counter == 5:
				screen.blit(game_over,(100,100))				
			if pygame.sprite.collide_rect(aster,laser):
				print('hit')
			keys = pygame.key.get_pressed()
			nimbus.move(keys) 
			nimbus.shoot(keys) 
			if keys[pygame.K_e]:
				coor = nimbus.shoot(keys)
				laser.setCoor(coor[0] + 30,coor[1],coor[2]) 
				allsprites.add(laser) 
		currentscore = str(player.current())
		pygame.display.set_caption(currentscore)   
		laser.update()
		allsprites.draw(screen)
		pygame.display.flip() 

	#quit()
	while end_screen == True:
		playerscore = player.player() 
		playerscore = 'High Score' + ':' + str(up) 
		print("up", up) 
		myfont = pygame.font.SysFont("Britannic Bold", 40)
		intro = myfont.render("Gameover, press enter to continue", 1,white)
		scorer = myfont.render(up, 0 , white) 
		for event in pygame.event.get():
			if event.type == pygame.QUIT:
					return 
			keys = pygame.key.get_pressed()
			if keys[pygame.K_KP_ENTER]:
				print("test") 
				end_screen = False 
				start_screen = True
		screen.blit(intro,(100,100)) 
		screen.blit(scorer,(100,200)) 
		pygame.display.flip() 
Esempio n. 39
0
def add_bullet(g2):

    bt = bullet.bullet(bgsize, Plane.rect.top, Plane.rect.left, Plane.speed)

    g2.add(bt)
Esempio n. 40
0
def fire_bullets(ai_settings,screen,ship_1,bullets):
	if len(bullets) < ai_settings.bullets_allowed:
			new_bullet=bullet(ai_settings,screen,ship_1)
			bullets.add(new_bullet)