用户:
天启若风查看:0 回复:0 评论:0 创建时间:2022-01-20T11:11:06
【作品展示】

【作品介绍】
飞机混战,图片已发。
【作品源代码】
import pygame
import random
pygame.init()
G = ('#FFFFFF')
sh = pygame.display.set_mode((500, 800))
pygame.display.set_caption('飞机大战')
c = pygame.time.Clock()
CR = pygame.USEREVENT
zzz=pygame.USEREVENT
pygame.time.set_timer(CR, 1500)
pygame.time.set_timer(zzz, 600)
class 英雄(pygame.sprite.Sprite):
def __init__(self, speed):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.Surface((50, 50))
self.image.fill('gold')
self.rect = self.image.get_rect()
self.rect.x = 250
self.rect.y = 700
self.speed = speed
def update(self, *args):
keys = pygame.key.get_pressed()
if keys[pygame.K_UP]:
self.rect.y -= self.speed
if keys[pygame.K_DOWN]:
self.rect.y += self.speed
if keys[pygame.K_LEFT]:
self.rect.x -= self.speed
if keys[pygame.K_RIGHT]:
self.rect.x += self.speed
if keys[pygame.K_SPACE]:
self.fire()
def fire(self):
b = 子弹(10)
b.rect.x = self.rect.centerx-5
b.rect.y = self.rect.centery-50
弹药.add(b)
class 子弹(pygame.sprite.Sprite):
def __init__(self, speed):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.Surface((10, 30))
self.image.fill('skyblue')
self.rect = self.image.get_rect()
self.speed = speed
def update(self, *args):
self.rect.y -= 3
class 敌人(pygame.sprite.Sprite):
def __init__(self, speed):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.Surface((50, 50))
self.image.fill('red')
self.rect = self.image.get_rect()
self.rect.x = random.randint(0, 500)
self.rect.y = 0
self.speed = speed
def update(self, *args):
self.rect.y += 3
self.firee()
def firee(self):
AS = 子弹恶(5)
AS.rect.x = self.rect.centerx-5
AS.rect.y = self.rect.centery+25
恶弹.add(AS)
class 子弹恶(pygame.sprite.Sprite):
def __init__(self, speed):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.Surface((10, 30))
self.image.fill('black')
self.rect = self.image.get_rect()
self.speed = speed
def update(self, *args):
self.rect.y += 4
class 失败(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image =pygame.image.load('失败.jpeg')
self.rect = self.image.get_rect()
self.rect.x = -35
self.rect.y = 100
ss=失败()
h = 英雄(5)
好人 = pygame.sprite.Group()
失败1 =pygame.sprite.Group()
弹药 = pygame.sprite.Group()
恶弹 =pygame.sprite.Group()
敌人1 = pygame.sprite.Group()
好人.add(h)
while True:
c.tick(60)
for i in pygame.event.get():
if i.type == pygame.QUIT:
pygame.quit()
exit()
if i.type == CR:
v = 敌人(5)
敌人1.add(v)
pygame.sprite.groupcollide(敌人1, 弹药, True, True)
pygame.sprite.groupcollide(恶弹, 弹药, True, True)
if(pygame.sprite.groupcollide(恶弹,好人,True,True)):
失败1.add(ss)
sh.fill(G)
for g in [好人, 敌人1, 弹药,恶弹,失败1]:
g.update()
g.draw(sh)
pygame.display.update()
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn