python游戏之飞机大战

简单的飞机大战

如下图所示,这就是我自己做的飞机大战,图片都是自己画的(系统自己的画图工具),声音是在网上下载的。参考了哔哩哔哩一个视频的逻辑,然后自己就想做,于是就做了一个简单的飞机大战,代码也是我自己想出来的,(废了我一上午的时间).

在这里插入图片描述

简单的说一下过程

这是我的结构
在这里插入图片描述

因为是随意做的,所以说所有的代码都放在了一个文件Plane.py
有 1 个纯音乐(网上下载的), 1 个我方飞机的图片, 1张我方飞机的子弹,1张敌方飞机的图片和1张敌方飞机的子弹

实现功能有

  • 用户通过键盘控制我方飞机,按空格发射子弹
  • 敌方飞机在指定的范围内自由移动,随机发射子弹
  • 可以设置敌方飞机发射子弹的速度,
  • 也可以设置我方的子弹速度和移动速度

主要思路

  • 就是设计4个类,对着4个类进行一些逻辑操作
  • 飞机与子弹的关系
    如图:
    在这里插入图片描述
import pygame
import random
import time
from pygame.locals import *

# 设置屏幕大小
WIDTH = 800
HEIGT = 1000

# 飞机的图片和对应的大小
PLANE_IMG = "myplane.png"
PLANE_IMG_WIDTH = 96
PLANE_IMG_HEIGHT = 104

# 初始化 我方飞机的位置
PLANE_X = int((WIDTH - PLANE_IMG_WIDTH) / 2)
PLANE_Y = HEIGT - PLANE_IMG_HEIGHT

# 设置我方飞机子弹的图片,他对应的高度和宽度
MY_PLANE_BULLET = "myBullet.png"
MY_PLANE_BULLET_WIDTH = 19
MY_PLANE_BULLET_HEIGHT = 29

# 敌方飞机的图片和敌方飞机的图片大小
# 这样方便后期修改
ENEMY_PLANE = "enemy.png"
ENEMY_PLANE_WIDTH = 100
ENEMY_PLANE_HEIGHT = 105

# 敌方飞机的子弹和敌方飞机的图片
ENEMY_PLANE_BULLET = "enemyBullet.png"

# 设置我方子弹速度
MY_PLANE_BULLET_SPEED = 5

# 设置敌方子弹速度
ENEMY_PLANE_BULLET_SPEED = 3

# 设置敌方的难度
ENEMY_PLANE_MOVE_SPEED = 5
# 设置我方的移动速度
MY_PLANE_MOVE_SPEED = 40



def showGameInterFace():

    # initialize all imported pygame modules
    # 实例所有的模块
    pygame.init()

    # set_mode(size=(0, 0), flags=0, depth=0, display=0) -> Surface
    # Initialize a window or screen for display
    # 实例化一个窗口或屏幕用于显示,返回一个界面对象
    screen = pygame.display.set_mode(size=(WIDTH, HEIGT))

    # set_caption(title, icontitle=None) -> None
    # Set the current window caption
    # 设置窗口的标题
    pygame.display.set_caption("简单的飞机对战")

    # image = MissingModule("image", urgent=1)
    # 加载图片到屏幕上
    background = pygame.image.load("bac.png")

    # load(filename) -> None
    # load(object) -> None
    # Load a music file for playback
    # 导入一个音乐文件
    pygame.mixer_music.load("1.mp3")

    # set_volume(value) -> None
    # set the music volume
    # 设置音乐音量
    pygame.mixer_music.set_volume(0.2)

    # play(loops=0, start=0.0) -> None
    # Start the playback of the music stream
    pygame.mixer_music.play(-1)

    myPlane = Plane(screen)
    ene
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值