猫史档案馆


【Python作品分享】pygame.1-第2版本【作品秀】

用户:天启若风天启若风查看:1 回复:3 评论:1 创建时间:2022-01-14T20:19:07


【作品展示】

center_image

 

【作品介绍】

飞机大战2

 

【作品源代码】

import pygame
import random
pygame.init()
G = ('#FFFFFF')
sh = pygame.display.set_mode((1000, 800))
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.Surface((50, 50))
        self.image.fill('gold')
        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.Surface((40, 50))
        self.image.fill('red')
        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)
    sh.fill(G)
    for g in [好人, 敌人1, 弹药]:
        g.update()
        g.draw(sh)
    pygame.display.update()

 

【提示】

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

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
鸽_MZJ鸽_MZJ

辛苦了

点赞0


评论


永境鹿永境鹿

请允许我打个广告,不喜可删,谢谢 合作方:春三、喵神、黑洞、欢乐谷、兔兔。急招人,不管是哪个牛人,没有工作室,都可以来(本工作室室员会制作备忘录、沙盒、跑酷等火热作品)(请勿无理由退出)可以在工作室里面发展文艺类兴趣哦可以:素材提供崩注解疑扶持萌新包揽P图注:如找不到,可去开轩(KXUAN)工作室,是旗下哦!!

点赞0


评论


GD皮小丘GD皮小丘

好家伙,变量名称用中文

点赞0


评论