猫史档案馆


【Python作品分享】飞机大战附文件【作品秀】

用户:@Bm4U@Bm4U查看:0 回复:0 评论:0 创建时间:2022-02-13T15:13:59


【作品展示】

center_image

 

【作品介绍】

自己找素材。。。

 

【作品源代码】

from pygame.sprite import Sprite
import pygame
from random import randint

class Ship(Sprite):
    def __init__(self, ai_game):
        super().__init__()
        self.color = 'black'
        self.screen = ai_game.screen
        self.screen_rect = ai_game.screen.get_rect()
        self.image = pygame.image.load('./images/ship.png').convert_alpha()
        self.rect = self.image.get_rect()
        self.rect.midbottom = self.screen_rect.midbottom

    def draw_plane(self):
        self.screen.blit(self.image, self.rect)

class Bullet(Sprite):
    def __init__(self, ai_game):
        super().__init__()
        self.screen = ai_game.screen
        self.image = pygame.image.load('./images/bullet1.png').convert_alpha()
        self.rect = self.image.get_rect()
        self.ship = ai_game.ship
        self.rect.midbottom = self.ship.rect.midtop
        self.y = float(self.rect.y)
    def draw_bullet(self):
        self.screen.blit(self.image, self.rect)
    def update_bullet(self):
        self.y -= 3
        self.rect.y = self.y

class Alien(Sprite):
    def __init__(self, ai_game, filename, r1, r2):
        super().__init__()
        self.screen = ai_game.screen
        self.screen_rect = ai_game.screen.get_rect()
        self.image = pygame.image.load(filename).convert_alpha()
        self.rect = self.image.get_rect()
        self.rand = randint(r1, r2)
        self.rect.midtop = (self.rand, 0)
        self.y = float(self.rect.y)
        self.blood = 1

    def draw_alien(self):
        self.screen.blit(self.image, self.rect)

    def update_alien(self, speed):
        self.y += speed
        self.rect.y = self.y


# class EnemyBullet(Sprite): 
#     def __init__(self, ai_game):
#         super().__init__()
#         self.screen = ai_game.screen
#         for alien in ai_game.aliens.sprites():
#             self.image = pygame.image.load('images/bullet2.png')
#             self.image_rect = self.image.get_rect()
#             self.image_rect.midtop = alien.rect.midtop
#     def draw_bullet(self):
#         self.screen.blit(self.image, self.image_rect)
#     def update_bullet(self):
#         self.y += 5
#         self.rect.y = self.y

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页