猫史档案馆


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

用户:天启若风天启若风查看:0 回复:0 评论:0 创建时间:2022-01-07T21:36:05


【作品展示】

center_image

 

【作品介绍】

费机大战

 

【作品源代码】

import pygame 
import random
pygame.init()
G=('#FFFFFF')
s= pygame.display.set_mode((1600,1000))
pygame.display.set_caption('飞机大战'
c=pygame.time.Clock()
CR = pygame.USEREVENT
pygame.time.set_timer(CR, 1000)
class 英雄(pygame.sprite.Sprite):
    def __init__(self,speed):
        pygame.sprite.Sprite.__init__(self)
        self.image =pygame.image.load('英雄(1)(1).jpg')
        self.rect =self.image.get_rect()
        self.rect.x = 400
        self.rect.y = 300
        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
        b.rect.y = self.rect.centery-5
        弹药.add(b)
class 子弹(pygame.sprite.Sprite):
    def __init__(self, speed):
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.Surface((30, 10))
        self.image.fill('skyblue')
        self.rect = self.image.get_rect()
        self.speed = speed

    def update(self, *args):
        self.rect.x += 3
class 敌人(pygame.sprite.Sprite):
    def __init__(self, speed):
        pygame.sprite.Sprite.__init__(self)
        self.image=pygame.image.load('敌人(1).jpg')
        self.rect = self.image.get_rect()
        self.rect.x = 1600
        self.rect.y = random.randint(0,1000)
        self.speed = speed

    def update(self, *args):
        self.rect.x -= 5
h=英雄(5)
好人=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)
    s.fill(G) 
    for g in [好人,敌人1,弹药]:
        g.update()
        g.draw(s)
    pygame.display.update()#颜色变换  
    






















 

【提示】

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

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页