网站首页 > 技术文章 正文
我是一个典型的80后,年轻时玩过了特别多的游戏,所以这几天用Python3 + pygame实现了一个另外小游戏“坦克大战”(其他的游戏,请翻阅我的博客)
本实例代码量有些多,完整的版本在1000行左右(当然了如果再次优化的话会减少一部分)
分享出来,希望能帮助到大家,毕竟自己做教育行业做了这么多年,还是教育情怀的,哈哈哈哈哈
一,显示效果



二,代码
完整代码如下(注意:为了方便下载以及编写更简单,没有采用多模块的方式,所有代码全部放到main.py文件中)
import random
import sys
import 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)
@classmethod
def 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的image
image = 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)
@classmethod
def show(cls, screen):
for temp in cls.group:
screen.blit(temp.image, temp.rect)
总结
以上就是所有的内容,希望对你有帮助。
喜欢本文章的不妨点个赞~
关注我~持续为您放送精彩~
猜你喜欢
- 2024-12-18 接口测试系列文章3——Python接口测试其实只需三步
- 2024-12-18 Python列表详解 python中列表的方法
- 2024-12-18 python并发编程一:多进程 python 多进程原理
- 2024-12-18 小白都看懂了,Python 中的线程和进程精讲,建议收藏
- 2024-12-18 pandas每天一题-题目1、2、3 pandas选择题题库
- 2024-12-18 二分查找法-Python学习 二分查找算法流程图
- 2024-12-18 Python3.8+Django+nginx+uwsgi环境(二)
- 2024-12-18 一篇文章带你使用Python搞定对Excel表的读写和处理
- 2024-12-18 py2exe实现python文件打包为.exe可执行程序(上篇)
- 2024-12-18 PyPy三重发行版:支持python2.7、3.6和3.7
- 05-25Python 3.14 t-string 要来了,它与 f-string 有何不同?
- 05-25Python基础元素语法总结
- 05-25Python中的变量是什么东西?
- 05-25新手常见的python报错及解决方案
- 05-2511-Python变量
- 05-2510个每个人都是需要知道Python问题
- 05-25Python编程:轻松掌握函数定义、类型及其参数传递方式
- 05-25Python基础语法
- 257℃Python短文,Python中的嵌套条件语句(六)
- 257℃python笔记:for循环嵌套。end=""的作用,图形打印
- 256℃PythonNet:实现Python与.Net代码相互调用!
- 251℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 251℃Python实现字符串小写转大写并写入文件
- 106℃原来2025是完美的平方年,一起探索六种平方的算吧
- 90℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 81℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 最近发表
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)