pygame--坦克大战(一)

2024-04-03 19:36
文章标签 大战 pygame 坦克

本文主要是介绍pygame--坦克大战(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

项目搭建

本游戏主要分为两个对象,分别是我方坦克和敌方坦克。用户可以通过控制我方的坦克来摧毁敌方的坦克保护自己的“家”,把所有的敌方坦克消灭完达到胜利。敌方的坦克在初始的时候是默认5个的(这可以自己设置),当然,如果我方坦克被敌方坦克的子弹打中,游戏结束。从面向对象分析该项目有以下类组成:

  • 主类

    主要包括开始游戏、结束游戏的功能。

    class MainGame:'''游戏主窗口类'''def __init__(self) -> None:passdef start_game(self) -> None:'''开始游戏'''passdef end_game(self) -> None:'''结束游戏'''pass
    

    坦克类:

    主要包括坦克的创建、显示、移动及射击的功能。

    class Tank():def __init__(self):pass#坦克的移动方法def move(self):pass#碰撞墙壁的方法def hitWalls(self):pass#射击方法def shot(self):pass#展示坦克def displayTank(self):pass
    

    我方坦克类继承坦克类,主要包括创建、与敌方坦克的碰撞方法

    class MyTank(Tank):def __init__(self):pass#碰撞敌方坦克的方法def hitEnemyTank(self):pass
    

    敌方坦克类继承坦克类,主要包括创建、与我方坦克碰撞方法。

    class EnemyTank(Tank):'''敌方坦克类'''def __init__(self) -> None:pass
    

    子弹类:主要包括子弹的创建、显示及移动的功能。

    class Bullet:'''子弹类'''def __init__(self) -> None:passdef display_bullet(self) -> None:'''显示子弹'''passdef move(self) -> None:'''子弹的移动'''pass
    

    墙壁类:主要包括墙壁的创建、显示的功能。

    class Wall:'''墙壁类'''def __init__(self) -> None:passdef display_wall(self) -> None:'''显示墙壁'''pass
    

    爆炸效果类:主要展示爆炸效果。

    class Explode:'''爆炸效果类'''def __init__(self) -> None:passdef display_explode(self) -> None:'''显示爆炸效果'''pass
    

    音效类:主要播放音乐。

    class Music:'''音效类'''def __init__(self) -> None:passdef play_music(self) -> None:'''播放音效'''pass
    

    显示游戏窗口

在游戏设计的前期,要先创建游戏的界面,也就是要为所设计的游戏创建一个窗口

import pygame# 设置通用属性
BG_COLOR = pygame.Color(255,255,255)
SCREEN_WIDTH = 700
SCREEN_HEIGHT = 500class MainGame:'''游戏主窗口类'''# 游戏主窗口对象window =Nonedef __init__(self) -> None:passdef start_game(self) -> None:'''开始游戏'''# 初始化游戏窗口pygame.display.init()# 创建一个窗口MainGame.window = pygame.display.set_mode((SCREEN_WIDTH,SCREEN_HEIGHT))# 设置窗口标题pygame.display.set_caption('坦克大战1.0')# 刷新窗口while True:# 给窗口设置填充色MainGame.window.fill(BG_COLOR)pygame.display.update()def end_game(self) -> None:'''结束游戏'''passif __name__ == "__main__":# 调用MainGame类中的start_game方法,开始游戏MainGame().start_game()

运行结果:

image-20211126145251173

添加提示文字

这篇关于pygame--坦克大战(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/873788

相关文章

军事目标无人机视角检测数据集 3500张 坦克 带标注voc

数据集概述 该数据集包含3500张无人机拍摄的图像,主要用于坦克目标的检测。数据集已经按照VOC(Visual Object Classes)标准进行了标注,适用于训练深度学习模型,特别是物体检测模型。 数据集特点 目标明确:专注于坦克这一特定军事目标的检测。多样视角:图像采集自无人机的不同飞行高度和角度,涵盖了各种环境下的坦克图像。高质量标注:每个坦克实例都被精确标注,包括位置信息和类别

Pygame游戏编程入门笔记

目录 1. Python游戏编程入门2. 建立开发环境3. 简单示例4. 绘制不同形状5. 事件监听举例6. 用pygame打印文本7. 键盘事件8. 鼠标事件9. 轮询键盘10. 轮询鼠标11. 角度与弧度12. 遍历圆周13. 矢量图与位图14. 获取已有的surface15. 加载位图16. 绘制位图17. 绘制游戏背景图18. 缩放图像19. 旋转20. 用精灵实现动画 20.1.

Web开发基础:JavaScript飞机大战

超详细的Java知识点路线图 飞机大战 图片链接:https://pan.baidu.com/s/1elfvlHClwwDnc8buUnySPw 提取码:mi5y 功能点: 1、飞机跟着鼠标移动 在onmousemove事件中获得鼠标的坐标,设置给飞机图片 2、发射子弹 子弹需要动态添加到网页中 动态创建标签对象 document.createElement(“标签名”); 动态添加

creator物理引擎 /RPG运动类型 /坦克

1 applyForce/ToCenter(). 这个力怎么计算 (牛顿第二定律F=ma) 2 .linearVelocity()是像素/米 (看源码) 3 why到第四帧才有速度 CocosCreator官方文档物理引擎Demo(physics-example,下载链接:https://github.com/2youyou2/physics-example) ----------------

十四、坦克大战(上)

文章目录 一、坦克大战游戏演示(略)二、java绘图坐标体系三、java绘图技术3.1 快速入门3.2 绘图原理Graphics类 四、java事件处理机制五、绘制坦克5.1 坦克抽象类、己方坦克、敌方坦克5.2 自定义面板5.3 绘图界面 一、坦克大战游戏演示(略) 二、java绘图坐标体系 三、java绘图技术 3.1 快速入门 package com.g

新能源车的补能大战:画饼越来越大,实现越来越难

转眼间2024年已经过半,上半年汽车行业的竞争中,纵然有一些车企表现出色,但结合目标完成度来看,车企们却普遍未能交出高分答卷,目标完成度普遍在30%左右,仅有比亚迪、长安、吉利等少部分车企目标完成度超过了40%。 当然,汽车销量存在季节性变化,下半年利用“金九银十”和春节前的购车高峰期冲击销量,车企仍有望实现目标。然而在另一项“考试”中,今年车企们却可能要以不及格收场。 在新能源汽车市

winfrom坦克大战

http://yunpan.cn/cfdRYUPyBWDWc  提取码 bf89

【坦克大战一】——简单实现小结

一、【背景】       小时候对于游戏的痴迷让我对于游戏有一种心底的渴望,然而随着时间的推移阅历、经历的增加以及现在从事的编程行业似乎和游戏越来越远;在工作中对技术的要求以及未来技术的分量加上一次偶然的机会重新燃起我对游戏的渴望,不过这次的游戏并不仅仅是痴迷,而是让自己拥有一颗归零的心态在游戏编程的角度去学习那些基础的知识。       跟着马士兵教育讲解的坦克大战教程,学习完了前四节课,一

Java学习Day33:HTML 第四章:大战虎先锋(js)

1.小案例 function fl(){var div =document.getElementById("flush")var data =new Date();baoshan ="❤❤!性感荷官在线发牌!❤❤"+data.getFullYear()+"年"+data.getMonth()+1+ "月"+data.getDate()+"日"+data.getHours()+"时"+data.g

计算机视觉-猫狗大战

文章目录 一.猫狗大战1.1 简介1.2 数据集 二.代码:dataset.pytrain.pypredict.py 三.程序输出:train.pypredict.py 一.猫狗大战 1.1 简介 这是计算机视觉系列的第一篇博文,主要介绍用TensorFlow来实现猫狗分类、识别。该项目主要包括dataset、train、predict三部分。其中dataset.py主要是