猫史档案馆


【Python作品分享】airplane fight6.1.1-alpha【作品秀】

用户:acreeperacreeper查看:0 回复:0 评论:0 创建时间:2022-04-30T19:31:54


【作品展示】

center_image

 

【作品介绍】

玩玩?

 

【作品源代码】

import pygame
import sys
import random
import time
import easygui
from pygame.locals import *
# 初始化pygame环境
pygame.init()

# 创建一个长宽分别为480/650窗口

canvas = pygame.display.set_mode((480, 650))
canvas.fi喵))

music = pygame.mixer.Sound('images/bgmusic.wav')
Energy = 100
# 设置窗口标题
pygame.display.set_caption("airplane fight")
bg1 = pygame.image.load("images/bg1.png")
bg2 = pygame.image.load("images/bg2.png")
bg3 = pygame.image.load("images/bg3.png")
bg4 = pygame.image.load("images/bg4.png")
enemy1 = pygame.image.load("images/enemy1.png")
enemy2 = pygame.image.load("images/enemy2.png")
enemy3 = pygame.image.load("images/enemy3.png")
b = pygame.image.load("images/bullet2.png")
h = pygame.image.load("images/hero.png")
hd1 = pygame.image.load("images/hero_down1.png")
hd2 = pygame.image.load("images/hero_down2.png")
hd3 = pygame.image.load("images/hero_down3.png")
hd4 = pygame.image.load("images/hero_down4.png")
e1d1 = pygame.image.load("images/enemy1_down1.png")
e1d2 = pygame.image.load("images/enemy1_down2.png")
e1d3 = pygame.image.load("images/enemy1_down3.png")
e1d4 = pygame.image.load("images/enemy1_down4.png")
e1d5 = pygame.image.load("images/enemy1_down5.png")
e2d1 = pygame.image.load("images/enemy2_down1.png")
e2d2 = pygame.image.load("images/enemy2_down2.png")
e2d3 = pygame.image.load("images/enemy2_down3.png")
e2d4 = pygame.image.load("images/enemy2_down4.png")
e2d5 = pygame.image.load("images/enemy2_down5.png")
e3d1 = pygame.image.load("images/enemy3_down1.png")
e3d2 = pygame.image.load("images/enemy3_down2.png")
e3d3 = pygame.image.load("images/enemy3_down3.png")
e3d4 = pygame.image.load("images/enemy3_down4.png")
e3d5 = pygame.image.load("images/enemy3_down5.png")
e3d6 = pygame.image.load("images/enemy3_down6.png")
e3d7 = pygame.image.load("images/enemy3_down7.png")
logo = pygame.image.load("images/LOGO.png")
start = pygame.image.load("images/startGame.png")
a = pygame.image.load("images/herolife.png")
q1 = pygame.image.load("images/l/1.png")
q2 = pygame.image.load("images/l/2.png")
q3 = pygame.image.load("images/l/3.png")
q4 = pygame.image.load("images/l/4.png")
q5 = pygame.image.load("images/l/5.png")
q6 = pygame.image.load("images/l/6.png")
q7 = pygame.image.load("images/l/7.png")
q8 = pygame.image.load("images/l/8.png")
q9 = pygame.image.load("images/l/9.png")
q10 = pygame.image.load("images/l/10.png")
again = pygame.image.load("images/again.png")
heroLife = pygame.image.load("images/heroLife.png")
bullet2 = pygame.image.load("images/bullet1.png")
hdil = [hd1, hd2, hd3, hd4]
e1dil = [e1d1, e1d2, e1d3, e1d4, e1d5]
e2dil = [e2d1, e2d2, e2d3, e2d4, e2d5]
e3dil = [e3d1, e3d2, e3d3, e3d4, e3d5, e3d6, e3d7]
l1 = pygame.transform.scale(q1, (480, 650))
l2 = pygame.transform.scale(q2, (480, 650))
l3 = pygame.transform.scale(q3, (480, 650))
l4 = pygame.transform.scale(q4, (480, 650))
l5 = pygame.transform.scale(q5, (480, 650))
l6 = pygame.transform.scale(q6, (480, 650))
l7 = pygame.transform.scale(q7, (480, 650))
l8 = pygame.transform.scale(q8, (480, 650))
l9 = pygame.transform.scale(q9, (480, 650))
l10 = pygame.transform.scale(q10, (480, 650))
# 添加时间间隔的方法


def isActionTime(lastTime, interval):
    if lastTime == 0:
        return True
        lastTime = time.time()
    currentTime = time.time()
    return currentTime - lastTime >= interval
    lastTime = time.time()


canvas.blit(l1, (0, 0))
pygame.display.update()


class Button ():
    def __init__(self, x, y, img):
        self.x = x
        self.y = y
        self.img = img
        self.width = 170
        self.height = 45

    def paint(self):
        canvas.blit(self.img, (self.x, self.y))

    def hit(self, component):
        c = component
        return c.x > self.x-c.width and c.x < self.x+self.width and \
            c.y > self.y-c.height and c.y < self.y+self.height


canvas.blit(l2, (0, 0))
pygame.display.update()
buttons = []
# 定义Sky类


class Sky():
    def __init__(self):
        self.width = 480
        self.height = 852
        self.x1 = 0
        self.y1 = 0
        self.x2 = 0
        self.y2 = -self.height
    # 创建paint方法

    def paint(self):
        if gameMode == 'Easy':
            canvas.blit(bg2, (self.x1, self.y1))
            canvas.blit(bg2, (self.x2, self.y2))
        if gameMode == 'Normal':
            canvas.blit(bg1, (self.x1, self.y1))
            canvas.blit(bg1, (self.x2, self.y2))
        if gameMode == 'Difficulties':
            canvas.blit(bg3, (self.x2, self.y2))
            canvas.blit(bg3, (self.x1, self.y1))
        if gameMode == 'Classic':
            canvas.blit(bg4, (self.x1, self.y1))
            canvas.blit(bg4, (self.x2, self.y2))
        if gameMode == 'Difficulties+':
            canvas.blit(bg3, (self.x2, self.y2))
            canvas.blit(bg3, (self.x1, self.y1))
        if gameMode == 'Difficulties++':
            canvas.blit(bg3, (self.x2, self.y2))
            canvas.blit(bg3, (self.x1, self.y1))
        if gameMode == 'Difficulties+++':
            canvas.blit(bg3, (self.x2, self.y2))
            canvas.blit(bg3, (self.x1, self.y1))

    # 创建step方法
    def step(self):
        self.y1 = self.y1 + 3
        self.y2 = self.y2 + 3
        if self.y1 > self.height:
            self.y1 = -self.height
        if self.y2 > self.height:
            self.y2 = -self.height


canvas.blit(l3, (0, 0))
pygame.display.update()
# 定义父类FlyingObject


class FlyingObject(object):
    def __init__(self, x, y, width, height, life, img, speed):
        self.x = x
        self.y = y
        self.width = width
        self.height = height
        self.life = life
        self.img = img
        self.speed = speed
        # 敌飞机移动的时间间隔
        self.lastTime = 0
        self.interval = 0.01
        # 添加删除属性
        self.canDelete = False
    # 定义paint方法

    def paint(self):
        canvas.blit(self.img, (self.x, self.y))
    # 定义step方法

    def step(self, speed):
        # 判断是否到了移动的时间间隔
        if not isActionTime(self.lastTime, self.interval):
            return
        self.lastTime = time.time()
        # 控制移动速度
        self.y = self.y + speed
    # 定义hit方法判断两个对象之间是否发生碰撞

    def hit(self, component):
        c = component
        return c.x > self.x-c.width and c.x < self.x+self.width and \
            c.y > self.y-c.height and c.y < self.y+self.height
    # 定义喵方法处理对象之间碰撞后的处理

    def 喵(self, 喵sign):
        # 敌机和英雄机碰撞之后的处理
        if 喵sign:
            if hasattr(self, 'score'):
                GameVar.score += self.score
            if 喵sign == 2:
                self.life -= 20
            # 设置删除属性为True
            self.canDelete = True
        # 敌机和子弹碰撞之后的处理
        else:
            self.life -= 1
            if self.life == 0:
                # 设置删除属性为True
                self.canDelete = True
                if hasattr(self, 'score'):
                    GameVar.score += self.score
    # 定义outOfBounds方法判断对象是否越界

    def outOfBounds(self):
        return self.y > 650


canvas.blit(l4, (0, 0))
pygame.display.update()
# 重构Enemy类


class Enemy(FlyingObject):
    def __init__(self, x, y, width, height, type, life, score, img, speed):
        FlyingObject.__init__(self, x, y, width, height, life, img, speed)
        self.type = type
        self.score = score
        self.shootLastTime = 0
        self.shootinterval = 1.5

    def shoot(self):  # 只有最大飞机才会发射子弹
        if not isActionTime(self.shootLastTime, self.shootInterval):
            return
        else:
            self.shootLastTime = time.time()
            GameVar.enemyBullets.append(EnemyBullet(
                self.x+self.width/2-5, self.y-10, 10, 10, 1, bullet2, 5))
# 重构Hero类


class Hero(FlyingObject):
    def __init__(self, x, y, width, height, life, img, speed):
        FlyingObject.__init__(self, x, y, width, height, life, img, speed)
        self.x = 480/2-self.width/2
        self.y = 650-self.height-30
        self.shootLastTime = 0
        self.shootInterval = 0.15

    def shoot(self):
        if not isActionTime(self.shootLastTime, self.shootInterval):
            return
        else:
            self.shootLastTime = time.time()
            GameVar.bullets.append(
                Bullet(self.x+self.width/2-5, self.y-10, 10, 10, 1, b, 10))

# 重构Bullet类


class Bullet(FlyingObject):
    def __init__(self, x, y, width, height, life, img, speed):
        FlyingObject.__init__(self, x, y, width, height, life, img, speed)

    def step(self, speed):
        self.y = self.y - speed
    # 重写outOfBounds方法判断子弹是否越界

    def outOfBounds(self):
        return self.y < -self.height


class EnemyBullet(FlyingObject):
    def __init__(self, x, y, width, height, life, img, speed):
        FlyingObject.__init__(self, x, y, width, height, life, img, speed)

    def step(self, speed):
        self.y = self.y + speed
    # 重写outOfBounds方法判断子弹是否越界

    def outOfBounds(self):
        return self.y


canvas.blit(l5, (0, 0))
pygame.display.update()


def componentStart():
    global l
    l = pygame.transform.scale(logo, (480, 150))
    canvas.blit(bg4, (0, 0))
    canvas.blit(l, (0, 150))
    buttons.append(Button(155, 400, start))


def componentDown(list, x, y):
    for i in range(len(list)):
        canvas.blit(list[i], (x, y))
        pygame.time.delay(30)
# 创建componentEnter方法


def componentEnter():
    # 随机生成坐标
    x = random.randint(0, 480-57)
    x1 = random.randint(0, 480-50)
    x2 = random.randint(0, 480-100)
    # 根据随机整数的值生成不同的敌飞机
    n = random.randint(0, 9)
    # 判断是否到了产生敌飞机的时间
    if not isActionTime(GameVar.lastTime, GameVar.interval):
        return
    GameVar.lastTime = time.time()
    if gameMode == 'Easy':
        GameVar.enemies.insert(0, Enemy(x2, -100, 57, 45, 1, 1, 1, enemy1, 7))
    if gameMode == 'Normal':
        n_n = random.randint(0, 9)
        if n_n < 5:
            GameVar.enemies.insert(
                0, Enemy(x2, -100, 57, 45, 1, 1, 1, enemy1, 10))
        else:
            GameVar.enemies.insert(
                0, Enemy(x2, -100, 50, 68, 2, 3, 3, enemy2, 10))
    if gameMode == 'Difficulties':
        n_d = random.randint(0, 9)
        if n_d < 5:
            GameVar.enemies.insert(
                0, Enemy(x2, -100, 110, 150, 3, 10, 15, enemy3, 15))
        else:
            GameVar.enemies.inser喵0, 50, 68, 2, 3, 3, enemy2, 15))
    if gameMode == 'Classic':
        n_cl = random.randint(0, 9)
        if n_cl <= 7:
            GameVar.enemies.append(Enemy(x, -100, 57, 45, 1, 1, 1, enemy1, 12))
        elif n_cl == 8:
            GameVar.enemies.append(
                Enemy(x1, -100, 50, 68, 2, 3, 5, enemy2, 12))
        elif n_cl == 9:
            if len(GameVar.enemies) == 0 or GameVar.enemies[0].type != 3:
                GameVar.enemies.insert(
                    0, Enemy(x2, -100, 110, 150, 3, 10, 15, enemy3, 12))
    if gameMode == 'Difficulties+':
        n_d_up = random.randint(0, 9)
        if n_d_up <= 7:
            GameVar.enemies.append(
                Enemy(x, -100, 110, 150, 3, 50, 20, enemy3, 16))
        elif n_d_up == 8:
            GameVar.enemies.append(
                Enemy(x1, -100, 50, 68, 1, 1, 1, enemy1, 16))
    if gameMode == 'Difficulties++':
        n_d_upup = random.randint(0, 9)
        if n_d_upup <= 7:
            GameVar.enemies.append(
                Enemy(x, -100, 110, 150, 3, 50, 20, enemy3, 17))
        elif n_d_upup == 8:
            GameVar.enemies.append(
                Enemy(x1, -100, 50, 68, 2, 7, 3, enemy2, 17))
    if gameMode == 'Difficulties+++':
        n_d_upupup = random.randint(0, 9)
        if n_d_upupup <= 7:
            GameVar.enemies.append(
                Enemy(x, -100, 110, 150, 3, 50, 20, enemy3, 19))
        elif n_d_upupup == 8:
            GameVar.enemies.append(
                Enemy(x1, -100, 110, 150, 3, 14, 5, enemy3, 19))
        elif n_d_upupup == 9:
            GameVar.enemies.insert(
                0, Enemy(x2, -100, 110, 150, 3, 10, 1, enemy3, 19))


canvas.blit(l6, (0, 0))
pygame.display.update()
# 创建画组件方法


def componentPaint():
    global Energy
    # 判断是否到了飞行物重绘的时间
    if not isActionTime(GameVar.paintLastTime, GameVar.paintInterval):
        return
    GameVar.paintLastTime = time.time()
    # 调用sky对象的paint方法
    GameVar.sky.paint()
    for enemy in GameVar.enemies:
        enemy.paint()
    # 画出英雄机
    GameVar.hero.paint()
    # 画出子弹对象
    for bullet in GameVar.bullets:
        bullet.paint()
    for eb in GameVar.enemyBullets:
        eb.paint()
    # 写出分数和生命值
    fillText('SCORE:'+str(GameVar.score), (0, 0))
    fillText('HP:'+str(GameVar.heroes), (380, 0))
    fillText('ENERGY:'+str(int(Energy)), (180, 0))
# 创建组件移动的方法


def componentStep():
    # 调用sky对象的step方法
    GameVar.sky.step()
    for enemy in GameVar.enemies:
        enemy.step(enemy.speed)
    # 使子弹移动
    for bullet in GameVar.bullets:
        bullet.step(12)
    for eb in GameVar.enemyBullets:
        eb.step(3)

canvas.blit(l7, (0, 0))
pygame.display.update()


def win():
    canvas.blit(bg4, (0, 0))
    canvas.blit(l, (0, 0))
    fillText('GAMEOVER', (150, 200))
    fillText('break the heigest score', (100, 250))
    fillText('your score:'+str(GameVar.score), (150, 300))
    canvas.blit(again, (155, 500))


def lose():
    canvas.blit(bg4, (0, 0))
    canvas.blit(l, (0, 0))
    fillText('GAMEOVER', (150, 200))
    fillText('heigest score:'+SCORE, (120, 250))
    fillText('your score:'+str(GameVar.score), (150, 300))
    canvas.blit(again, (155, 500))
# 创建删除组件的方法


def componentDelete():
    global SCORE
    # 删除敌飞机
    for enemy in GameVar.enemies:
        if enemy.canDelete or enemy.outOfBounds():
            if enemy.type == 1:
                componentDown(e1dil, enemy.x, enemy.y)
            if enemy.type == 2:
                componentDown(e2dil, enemy.x, enemy.y)
            if enemy.type == 3:
                componentDown(e3dil, enemy.x, enemy.y)
            GameVar.enemies.remove(enemy)
    # 删除子弹
    for bullet in GameVar.bullets:
        if bullet.canDelete or bullet.outOfBounds():
            GameVar.bullets.remove(bullet)
    for bullet in GameVar.enemyBullets:
        if bullet.canDelete or bullet.outOfBounds():
            GameVar.bullets.remove(bullet)
    if GameVar.hero.canDelete == True:
        GameVar.heroes -= 20
        componentDown(hdil, GameVar.hero.x, GameVar.hero.y)
        if GameVar.heroes <= 0:
            with open('score.txt', 'r', encoding='utf-8') as f:
                SCORE = f.read()
            if int(SCORE) < GameVar.score:
                with open('score.txt', 'w', encoding='utf-8') as f:
                    f.write(str(GameVar.score))
                GameVar.state = 'w'
            else:
                GameVar.state = 'l'
        else:
            GameVar.hero = Hero(0, 0, 60, 75, 1, h, 0)


mouseOver = True
# 定义GameVar类
canvas.blit(l8, (0, 0))
pygame.display.update()


class GameVar():
    sky = Sky()
    enemies = []
    # 产生敌飞机的时间间隔
    lastTime = 0
    interval = 1.5
    # 重绘飞行物的时间间隔
    paintLastTime = 0
    paintInterval = 1/50

    # 创建英雄机对象
    hero = Hero(0, 0, 60, 75, 1, h, 0)
    # 创建列表存储子弹对象
    bullets = []
    enemyBullets = []
    # 添加分数和生命值
    score = 0
    heroes = 100
    STATES = [0, 1, 2]
    state = 2
# 定义fillText方法


def fillText(text, positsion):
    my_font = pygame.font.SysFont("微软雅黑", 40)
    newText = my_font.render(text, True, (255, 255, 255))
    canvas.blit(newText, positsion)

# 创建游戏退出事件处理方法


def handleEvent():
    global Energy, gameMode
    for event in pygame.event.get():
        if event.type == pygame.QUIT or event.type == KEYDOWN and event.key == K_ESCAPE:
            pygame.quit()
            sys.exit()
        # 英雄机跟随鼠标移动
        if event.type == pygame.MOUSEMOTION:
            GameVar.hero.x = event.pos[0]-GameVar.hero.width/2
            GameVar.hero.y = event.pos[1]-GameVar.hero.height/2
            print(GameVar.hero.x, GameVar.hero.y)
        if isMouseOut(GameVar.hero.x, GameVar.hero.y):
            if GameVar.state == 0:
                GameVar.state = 1
        if isMouseOver(GameVar.hero.x, GameVar.hero.y):
            if GameVar.state == 1:
                GameVar.state = 0

        if event.type == KEYDOWN and event.key == K_f:
            Energy = int(Energy)-30
            if Energy >= 0:
                GameVar.bullets.append(
                    Bullet(GameVar.hero.x+10, GameVar.hero.y-10, 10, 10, 1, b, 12))
                GameVar.bullets.append(
                    Bullet(GameVar.hero.x+25, GameVar.hero.y-10, 10, 10, 1, b, 12))
                GameVar.bullets.append(
                    Bullet(GameVar.hero.x+40, GameVar.hero.y-10, 10, 10, 1, b, 12))
            else:
                Energy = int(Energy)+30

        if GameVar.state == 2:
            if event.type == MOUSEBUTTONDOWN and event.button == 1:
                if buttons[0].hit(buttons[0]):
                    GameVar.state = 3
            if event.type == MOUSEBUTTONDOWN and event.button == 3:
                gamePlay()
                pygame.time.delay(3000)
                GameVar.state = 2
        if GameVar.state == 3:
            if event.type == KEYDOWN:
                bw = event.key
                if bw == K_e:
                    gameMode = 'Easy'
                if bw == K_r:
                    gameMode = 'Normal'
                if bw == K_t:
                    gameMode = 'Difficulties'
                if bw == K_y:
                    gameMode = 'Classic'
                if bw == K_u:
                    gameMode = 'Difficulties+'
                if bw == K_i:
                    gameMode = 'Difficulties++'
                if bw == K_o:
                    gameMode = 'Difficulties+++'
                GameVar.state = 0
        if GameVar.state == 'w' or GameVar.state == 'l':
            if event.type == MOUSEBUTTONDOWN:
                GameVar.state = 2
                GameVar.heroes = 100
                GameVar.score = 0


canvas.blit(l9, (0, 0))
pygame.display.update()


def componentChoose():
    global l, buttons
    canvas.blit(bg4, (0, 0))
    canvas.blit(l, (0, 0))
    fillText('Choose a  gameMode', (75, 150))
    fillText('Easy', (20, 200))
    fillText('Normal', (20, 250))
    fillText('Difficulties', (20, 300))
    fillText('Classic', (20, 350))
    fillText('Difficulties+', (20, 400))
    fillText('Difficulties++', (20, 450))
    fillText('Difficulties+++', (20, 500))
    buttons = []
    fillText('pressE', (290, 200))
    fillText('pressR', (290, 250))
    fillText('pressT', (290, 300))
    fillText('pressY', (290, 350))
    fillText('pressU', (290, 400))
    fillText('pressI', (290, 450))
    fillText('pressO', (290, 500))

#定义敌飞机射击方法
def componentShoot():
    for enemy in GameVar.enemies:
        enemy.shoot()


def gamePlay():
    canvas.blit(bg4, (0, 0))
    fillText('GamePlay', (150, 50))
    fillText('Basic operation:', (0, 80))
    fillText('Use the mouse to control the mo', (0, 110))
    fillText('vement of your plane, and it will a', (0, 140))
    fillText('utomatically fire bullets. Press "f', (0, 170))
    fillText('" to fire three bullets and deduct ', (0, 200))
    fillText(' 30 points ofenergy. Every enem', (0, 230))
    fillText('y plane needs a certain amount ', (0, 260))
    fillText('of bullets to defeat.', (0, 290))
    fillText('Detail settings:', (0, 320))
    fillText('Bullet firing interval:0.2s /a bullet', (0, 350))
    fillText('Energy increase: 2 energy / second', (0, 380))
    fillText('Number of bullets needed to defeat ', (0, 410))
    fillText('enemy aircraft and score table:', (0, 440))
    fillText('---------------------------------------------', (0, 470))
    fillText('type       bullets needed       score', (0, 500))
    fillText('---------------------------------------------', (0, 530))
    fillText('喵all             1               1', (0, 560))
    fillText('big               3               5', (0, 590))
    fillText('biggest           10              15', (0, 620))
    fillText('---------------------------------------------', (0, 650))


def isMouseOut(x, y):
    if x >= 449 or y >= 611 or x <= 0 or y <= 0:
        return True
    else:
        return False


def isMouseOver(x, y):
    if x <= 440 and x >= 0 and y <= 611 and y >= 0:
        return True
    else:
        return False


def checkHit():
    # 判断英雄机是否与每一架敌飞机发生碰撞
    for enemy in GameVar.enemies:
        if GameVar.hero.hit(enemy):
            # 敌机和英雄机调用喵方法
            enemy.喵(1)
            GameVar.hero.喵(2)
        # 判断每一架敌飞机是否与每一颗子弹发生碰撞
        for bullet in GameVar.bullets:
            if enemy.hit(bullet):
                # 敌机和子弹调用喵方法
                enemy.喵(0)
                bullet.喵(0)


def handleScore():
    global Energy
    if GameVar.score >= 1000:
        fillText('''Congratulations!     YOUWIN! ''', (0, 325))
        Energy += 1
        if Energy >= 100:
            Energy = 100
    if GameVar.score >= 90 and GameVar.score <= 100:
        fillText('Looks like youre doing okay', (0, 325))
    if GameVar.score >= 190 and GameVar.score <= 200:
        fillText('I underestimated you', (0, 325))
    if GameVar.score >= 290 and GameVar.score <= 300:
        fillText(' If you don‘t die, you don’t die', (0, 325))
    if GameVar.score >= 490 and GameVar.score <= 500:
        fillText(''' There‘s only a millimeter between- ''', (0, 325))
        fillText(''' show and die ''', (0, 353))
    if GameVar.score >= 740 and GameVar.score <= 750:
        fillText('''Stick to your guns and you’ll put o- ''', (0, 325))
        fillText('''n a show''', (0, 353))


canvas.blit(l10, (0, 0))
pygame.display.update()


def musicPlay():
    musicLastTime = 0
    musicInterval = 180
    if isActionTime(musicLastTime, musicInterval):
        music.play()


def mainloop():
    global Energy
    if GameVar.state == GameVar.STATES[0]:
        musicPlay()
        # 调用componentEnter方法
        componentEnter()
        # 调用componentPaint方法
        componentPaint()
        # 调用componentStep方法
        componentStep()
        # 调用shoot方法
        GameVar.hero.shoot()
        # 调用handleEvent方法
        handleEvent()
        handleScore()
        # 调用checkHit方法
        checkHit()
        # 调用componentDelete方法
        componentDelete()

        Energy = Energy+0.1
        if Energy >= 100:
            Energy = 100

    elif GameVar.state == 2:
        componentStart()
        for b in buttons:
            b.paint()
    elif GameVar.state == 3:
        componentChoose()
        for b in buttons:
            b.paint()
    elif GameVar.state == 'w':
        win()
    elif GameVar.state == 'l':
        lose()
    elif GameVar.state == 1:
        musicPlay()
        componentPaint()


while True:
    mainloop()
    handleEvent()
    pygame.display.update()

 

【提示】

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

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页