• 大小: 11.09MB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2024-02-02
  • 语言: Python
  • 标签: Python  

资源简介

基于Python的模块pygame实现的《飞机大战》小游戏。可熟悉与巩固Python基础知识。

资源截图

代码片段和文件信息

# -*- coding:utf-8 -*-

import pygame
import time
import random
import sys
from pygame.locals import *

#全局变量
#窗口
window_screen = None
#hero
hero = None
#得分
hit_score = 0
#是否暂停
is_pause = False

#图片变量
#暂停图片
pause_image = None
#hero_fire_music
hero_fire_music = None
#number照片
number_image = []
#score_hp照片
score_hp_image = None
#单三管炮弹照片
one_or_three_barral = []
#三管炮弹子弹余量照片
bullet_3_stock = None
#max_score
max_score_image = None
#boss_hp
boss_HP_image = None
#line
line_image = None
#背景
background = None
#重新开始
restart = None
#退出游戏
exit_game = None
#操作说明
description = None


#关于飞机
##飞机HP
HP_list = [1 20 100 20]#enemy0 enemy1 enemy2 hero
#飞机大小
plane_size = [{“width“:51 “height“:39} {“width“:69 “height“:89} {“width“:165 “height“:246} {“width“:100 “height“:124}]
#各种飞机爆炸效果计数更换图片
plane_bomb_time = [5 8 14 8]#enemy0 enemy1 enemy2 hero
#飞机最大子弹数
plane_maximum_bullet = [2 5 7 8]#enemy0 enemy1 enemy2 hero
#血量补给
blood_supply = None
#子弹补给
bullet_supply = None

#关于子弹
#敌机子弹类型
bullet_type = [“bullet1.png“ “bullet-1.gif“ “bullet2.png“ “bullet.png“]
#子弹伤害值
bullet_damage_value = [1 1 3 1]#enemy0 enemy1 enemy2 hero
#补给
supply_image = [“bomb-1.gif“ “bomb-2.gif“]
#补给的大小
supply_size = [{“width“:58 “height“:88} {“width“:60 “height“:103}]
#敌机引用列表
enemy0_list = []#enemy0存在飞机列表
enemy0_maximum = 8#enemy0飞机存在最大值
enemy1_list = []#enemy1存在飞机列表
enemy1_maximum = 1
enemy2_list = []#enemy2存在飞机列表
enemy2_maximum = 1


class base(object):
    “““所有类的基类“““
    def __init__(self screen_temp x y image_name):
        self.x = x
        self.y = y
        self.screen = screen_temp
        self.image = pygame.image.load(image_name)
        

class basePlane(base):
    “““飞机基类“““
    def __init__(self plane_type screen_temp x y image_name picture_num HP_temp):
        base.__init__(self screen_temp x y image_name)#plane_type飞机类型
        self.bullet_list = [] #存储发射出去的子弹的引用
        self.plane_type = plane_type #飞机类型标示 3是hero
        #爆炸效果用的如下属性
        self.hitted = False #表示是否要爆炸
        self.bomb_picture_list = [] #用来存储爆炸时需要的图片
        self.bomb_picture_num = picture_num #飞机爆炸效果的图片数量
        self.picture_count = 0#用来记录while True的次数当次数达到一定值时才显示一张爆炸的图然后清空当这个次数再次达到时再显示下一个爆炸效果的图片
        self.image_index = 0#用来记录当前要显示的爆炸效果的图片的序号
        self.HP = HP_temp #飞机hp
        self.fire_bullet_count = 0#飞机已发射子弹计数

    def display(self):
        “““显示玩家的飞机“““
        global hit_score
        global HP_list
        global plane_bomb_time#飞机爆炸效果计数
        #如果被击中就显示爆炸效果否则显示普通的飞机效果
        if self.hitted == True and self.image_index < self.bomb_picture_num and self.HP <= 0:
            self.screen.blit(self.bomb_picture_list[self.image_index] (self.x self.y))
            if self.plane_type != 3 and self.image_index == 0 and self.picture_count == 0:
                if self.plane_type == 0:#击毁enemy0得分+HP
                    if hit_score < 650:#初始血量为1
                        hit_score += HP_list[self.plane_type]
                    else:#初始血量为2
        

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       6148  2018-04-21 17:50  pygame之《飞机大战》\FeiJiDaZhan\feiji\.DS_Store

     文件      36714  2018-04-21 17:50  pygame之《飞机大战》\FeiJiDaZhan\feiji\background.png

     文件     427573  2018-04-21 17:50  pygame之《飞机大战》\FeiJiDaZhan\feiji\bg.png

     文件       2658  2018-04-21 17:50  pygame之《飞机大战》\FeiJiDaZhan\feiji\bomb-1.gif

     文件       2067  2018-04-21 17:50  pygame之《飞机大战》\FeiJiDaZhan\feiji\bomb-2.gif

     文件       5600  2018-04-21 17:50  pygame之《飞机大战》\FeiJiDaZhan\feiji\bomb.png

     文件       1335  2018-04-21 17:50  pygame之《飞机大战》\FeiJiDaZhan\feiji\boss_HP.png

     文件       8948  2018-04-21 17:50  pygame之《飞机大战》\FeiJiDaZhan\feiji\btn_finish.png

     文件        122  2018-04-21 17:50  pygame之《飞机大战》\FeiJiDaZhan\feiji\bullet-1.gif

     文件        151  2018-04-21 17:50  pygame之《飞机大战》\FeiJiDaZhan\feiji\bullet-2.gif

     文件        401  2018-04-21 17:50  pygame之《飞机大战》\FeiJiDaZhan\feiji\bullet-3.gif

     文件      23131  2018-04-21 17:50  pygame之《飞机大战》\FeiJiDaZhan\feiji\bullet.png

     文件        490  2018-04-21 17:50  pygame之《飞机大战》\FeiJiDaZhan\feiji\bullet1.png

     文件        498  2018-04-21 17:50  pygame之《飞机大战》\FeiJiDaZhan\feiji\bullet2.png

     文件       1998  2018-04-21 17:50  pygame之《飞机大战》\FeiJiDaZhan\feiji\bullet_3_stock.png

     文件       1230  2018-04-21 17:50  pygame之《飞机大战》\FeiJiDaZhan\feiji\bullet_temp1.png

     文件       3274  2018-04-21 17:50  pygame之《飞机大战》\FeiJiDaZhan\feiji\bullet_temp3.png

     文件      29625  2018-04-21 17:50  pygame之《飞机大战》\FeiJiDaZhan\feiji\button_nor.png

     文件      28998  2018-04-21 17:50  pygame之《飞机大战》\FeiJiDaZhan\feiji\button_p.png

     文件      17956  2018-04-21 17:50  pygame之《飞机大战》\FeiJiDaZhan\feiji\description.png

     文件       1678  2018-04-21 17:50  pygame之《飞机大战》\FeiJiDaZhan\feiji\enemy-1.gif

     文件       2829  2018-04-21 17:50  pygame之《飞机大战》\FeiJiDaZhan\feiji\enemy-2.gif

     文件      13927  2018-04-21 17:50  pygame之《飞机大战》\FeiJiDaZhan\feiji\enemy-3.gif

     文件       2970  2018-04-21 17:50  pygame之《飞机大战》\FeiJiDaZhan\feiji\enemy0.png

     文件       3423  2018-04-21 17:50  pygame之《飞机大战》\FeiJiDaZhan\feiji\enemy0_down1.png

     文件       3863  2018-04-21 17:50  pygame之《飞机大战》\FeiJiDaZhan\feiji\enemy0_down2.png

     文件       5305  2018-04-21 17:50  pygame之《飞机大战》\FeiJiDaZhan\feiji\enemy0_down3.png

     文件       1730  2018-04-21 17:50  pygame之《飞机大战》\FeiJiDaZhan\feiji\enemy0_down4.png

     文件       8117  2018-04-21 17:50  pygame之《飞机大战》\FeiJiDaZhan\feiji\enemy1.png

     文件      10477  2018-04-21 17:50  pygame之《飞机大战》\FeiJiDaZhan\feiji\enemy1_down1.png

............此处省略68个文件信息

评论

共有 条评论