我是一个典型的80后,年轻时玩过了特别多的游戏,所以这几天用Python3 + pygame实现了一个另外小游戏“坦克大战”(其他的游戏,请翻阅我的博客)

本实例代码量有些多,完整的版本在1000行左右(当然了如果再次优化的话会减少一部分)

分享出来,希望能帮助到大家,毕竟自己做教育行业做了这么多年,还是教育情怀的,哈哈哈哈哈

一,显示效果

二,代码

完整代码如下(注意:为了方便下载以及编写更简单,没有采用多模块的方式,所有代码全部放到main.py文件中)

import random
import sysimport pygame# 屏幕的宽、高
WIDTH = 630
HEIGHT = 630
# 边界值
BORDER_LEN = 3
# 字体
FONTPATH = 'resources/font/font.ttf'class Iron(pygame.sprite.Sprite):"""铁墙类"""# 定义精灵组,将所有的砖墙实例对象添加到里面group = pygame.sprite.Group()def __init__(self, position):# 调用父类的初始化方法,这样才能够实现必要的初始化操作super().__init__()self.image = pygame.image.load("resources/images/scene/iron.png")# 当使用碰撞判断方法时,pygame就需要知道当前要检测的物体的位置,所以这个rect属性一定要设置self.rect = self.image.get_rect()self.rect.topleft = position# 添加到精灵组self.group.add(self)@classmethoddef show(cls, screen):for temp in cls.group:screen.blit(temp.image, temp.rect)class Ice(pygame.sprite.Sprite):"""冰类"""# 定义精灵组,将所有的实例对象添加到里面group = pygame.sprite.Group()def __init__(self, position):# 调用父类的初始化方法,这样才能够实现必要的初始化操作super().__init__()# 因为是12x12的小图片,所以需要制作一个24x24的imageimage = pygame.Surface((24, 24))for i in range(2):for j in range(2):image.blit(pygame.image.load("resources/images/scene/ice.png"), (12 * i, 12 * j))self.image = image# 当使用碰撞判断方法时,pygame就需要知道当前要检测的物体的位置,所以这个rect属性一定要设置self.rect = self.image.get_rect()self.rect.topleft = position# 添加到精灵组self.group.add(self)@classmethoddef show(cls, screen):for temp in cls.group:screen.blit(temp.image, temp.rect)

总结

以上就是所有的内容,希望对你有帮助。

喜欢本文章的不妨点个赞~

关注我~持续为您放送精彩~

需要这些资料的,可以点击这里领取!

Python3 + pygame实现的90坦克大战代码完整有演示效果相关推荐

  1. Python3+pygame实现的90坦克大战 代码完整 有演示效果

    我是一个典型的80后,年轻时玩过了特别多的游戏,所以这几天用Python3+pygame实现了一个另外小游戏"坦克大战"(其他的游戏,请翻阅我的博客) 本实例代码量有些多,完整的版 ...

  2. php 代码坦克,Python3+pygame实现的90坦克大战 代码完整 有演示效果

    我是一个典型的80后,年轻时玩过了特别多的游戏,所以这几天用Python3+pygame实现了一个另外小游戏"坦克大战"(其他的游戏,请翻阅我的博客) 本实例代码量有些多,完整的版 ...

  3. Python3+pygame实现的90坦克大战

    Python3+pygame实现的90坦克大战 年轻时玩过了特别多的游戏,所以这几天用Python3+pygame实现了一个小游戏"坦克大战" 一.显示效果 二.代码 下面代码用到 ...

  4. Python3制作仿“经典90坦克大战”小游戏

    导语 本期我们将制作一个仿"经典90坦克大战"的小游戏.啊,想起来上一次玩这个游戏的时候才小学呢.T_T真是一款暴露年龄的游戏. 算了废话不多说,让我们愉快地开始吧~ 相关文件 百 ...

  5. python3小游戏代码教程_Python3制作仿“经典90坦克大战”小游戏|python3教程|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ 本文转载至知乎ID:Charles(白露未晞)知乎个人专栏 下载W3Cschool手机App,0基础随时随 ...

  6. Python游戏开发,pygame模块,Python实现经典90坦克大战游戏

    前言: 本期我们将制作一个仿"经典90坦克大战"的小游戏. 算了废话不多说,让我们愉快地开始吧~ 效果图 开发工具 Python版本: 3.6.4 相关模块: pygame模块: ...

  7. Python游戏开发,pygame模块,Python实现化经典90坦克大战游戏

    前言: 本期我们将制作一个仿"经典90坦克大战"的小游戏. 算了废话不多说,让我们愉快地开始吧~ 效果图 开发工具 Python版本:3.6.4 相关模块: pygame模块: 以 ...

  8. 经典 90 坦克大战 Python 版实现(支持单双人模式)

    更多内容,请点击上方关注查看! 坦克大战是一个比较经典的小游戏,而 90 坦克大战是一个比较经典的版本,我们来看一下如何利用 Python 实现坦克大战,先睹为快. 游戏设定 基本组成 场景 坦克 子 ...

  9. python两人一碰_用Python实现经典90坦克大战(支持单双人模式)

    坦克大战是一个比较经典的小游戏,而 90 坦克大战是一个比较经典的版本,我们来看一下如何利用 Python 实现坦克大战,先睹为快. 游戏设定 ➢ 基本组成场景 坦克 子弹 食物 大本营 ➢ 操作规则 ...

最新文章

  1. 5 款非常好用的开源 Docker 工具,get一波~
  2. 又是读了多个文件没关闭,搞死了一晚
  3. 给新手的 11 个 Docker 免费上手项目
  4. urllib的实现---cookie处理
  5. 对多个WCF服务进行统一的连接测试
  6. MongoDB学习1——Windows 下配置及启动mongodb服务器
  7. thinkphp调用mysql存储过程_ThinkPHP执行调用存储过程怎么添加日志
  8. web前端入门指南:来看看这位大佬的学习之路吧!
  9. 使用vscode编辑器,eslint+vuetur+prettier 格式化,自动添加末尾分号的问题。
  10. Eclipse阿里巴巴Java开发规范插件安装
  11. 【计算机网络】零拷贝之MMAP
  12. VS2017生成可执行程序,执行提示“不是有效的win32应用程序”
  13. mysql怎么加载txt文本1148_如何解决MySQL导入数据之ERROR1148(42000)
  14. 用微信h5棋牌源码来测量相机到目标的距离
  15. Adobe设计师证书
  16. IDS(Informix Dynamic Server)的培训文档[转贴]
  17. web应用程序安全性测试_Web应用程序导航菜单的可访问性
  18. 嵌入式工程师求职回忆录~
  19. matlab中光敏电阻,51单片机光敏电阻寻光程序
  20. Android 抱歉,xxx已停止运行 源码分析

热门文章

  1. android中图片圆角,Android中实现圆角图片的几种方法
  2. 戴尔服务器连接显示器花屏,戴尔T630塔式服务器,解决Ubuntu18.04 LTS 花屏问题
  3. java.lang.IllegalStateException: commit already called
  4. 电脑知识:IE首页被修改的解决办法
  5. 2010c语言系统编程结果,(2010年版)《C语言程序设计》实验指导书.pdf
  6. 手机型号大全资料_建筑工程图纸代号大全,从此识图无压力!
  7. WSDL2Java生成stup
  8. 网站优化的灵魂——内容的重要性
  9. Volumetric Cloudscapes(一):理论
  10. 百胜图咖啡Barsetto滴滴香浓惬意生活