简单的Python小游戏制作
今天呢,给大家展示一下Python有趣的小地方,展示给大家看看,我做的小游戏,是否有大家小时候的回忆呢。下面就废话不多说了,给大家展示一遍!感兴趣的小伙伴不懂也没事,可以下载一个PyCharm,跟着我的图片代码一起敲呀!
首先呢我们选择好开发工具 Python版本:3.6.4,相关的模板选择pygame模板,以及一些Python自带的模块。环境搭建也很简单,只需要安装Python并添加到环境变量,pip安装需要的相关模板即可。
逐步实现:
Step1:定义游戏精灵类
由于游戏涉及到碰撞测试,所以我们先来定义一些游戏精灵类,包括推箱子的人、箱子、墙和目标位置指示标记。
首先我们来定义一下推箱子的人这个精灵类:
他需要拥有可以移动的能力,这里设置了一个模拟移动的选择,是为了通过模拟移动判断它是否可以上、下、左、右移动。因为地图上的其他东西性质类型,所以我们把它们定义成同一个精灵类(其实性质都类似,但是感觉还是有必要区分一下人和物的):
其中箱子有用可以移动的能力,其它则不能移动。模拟移动选择的功能与之前类似。
Step2:定义游戏地图类
这里我们定义用一个游戏地图类,目的是用该类来创建任意的游戏地图。因此,该类应当可以增加并保存游戏元素(人、墙、箱子等),并在屏幕上把地图画出来。同时也应自带一个方法来判断此地图上的箱子是否已经送到了指定位置(这样子方便换关卡):
Step3:定义游戏界面类
游戏界面类负责解析levels文件夹下的游戏各关卡的地图文件,并利用游戏地图类创建并显示游戏地图:
同时因为游戏地图面积>游戏窗口界面,所以该类需要增加根据人物位置滚动游戏地图的功能:
Step4:定义某关的游戏主循环
主循环主要负责实例化游戏界面类,并根据按键检测的结果对游戏界面类进行一些操作:
其中人物移动的逻辑为:人物移动的目标为空白格,则人移动;若撞到箱子,箱子可以和人方向一样移动一格,则人和箱子均移动;其他情况人和箱子均无法移动。
Step5:定义游戏开始、切换和结束界面
做的比较简陋,直接拿源代码吧。
开始界面:
切换界面:
结束界面:
Step6:实现游戏主函数
把所有界面串起来就好了:
最后随手加了个背景音乐,应该问题不大。看懂的同学们就试着做做,没看懂的同学们可以直接照着代码敲就完了,运行之后就如图所示:
没人看懂的话欢迎大家评论去留言呀!或者私信我都可以,评论必回,私信必看,不错过任何一个认真学习的同学!!!
简单的Python小游戏制作相关推荐
- python简单小游戏代码_一个简单的python小游戏---七彩同心圆
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理 用pygame做一个简单的python小游戏-七彩同心圆 玩法:每次点击鼠标时,会以鼠标为圆心,不断 ...
- 用pygame做一个简单的python小游戏---贪吃蛇
用pygame做一个简单的python小游戏-贪吃蛇 贪吃蛇游戏博客链接:(方法一样,语言不一样) c++贪吃蛇:https://blog.csdn.net/weixin_46791942/artic ...
- 用pygame做一个简单的python小游戏---七彩同心圆
用pygame做一个简单的python小游戏-七彩同心圆 这个小游戏原是我同学python课的课后作业,并不是很难,就简单实现了一下,顺便加强一下pygame库的学习. 玩法:每次点击鼠标时,会以鼠标 ...
- 用pygame做一个简单的python小游戏---生命游戏
用pygame做一个简单的python小游戏-生命游戏 生命游戏(Game of Life) 生命游戏(Game of Life)是剑桥大学约翰·何顿·康威(John Horton Conway)教授 ...
- python七彩同心圆_用pygame做一个简单的python小游戏---七彩同心圆
用pygame做一个简单的python小游戏---七彩同心圆 用pygame做一个简单的python小游戏-七彩同心圆 这个小游戏原是我同学python课的课后作业,并不是很难,就简单实现了一下,顺便 ...
- 寓教于乐——PyGame游戏编程,Python小游戏制作实战教学
Python非常受欢迎的一个原因是它的应用领域非常广泛,其中就包括游戏开发.而是用Python进行游戏开发的首选模块就是PyGame. 1. 初识Pygame PyGame是跨平台Python模块,专 ...
- python小游戏制作软件_Python制作打地鼠小游戏
原文链接Python制作小游戏(二十一)mp.weixin.qq.com 效果展示打地鼠小游戏https://www.zhihu.com/video/1200492442610450432 简介 打 ...
- 【Python】超简单的华容道小游戏制作+保姆级讲解(附源码)
前言 华容道游戏是一个历史悠久的经典游戏,玩法就是将已经打乱的数字重新调整顺序,使其成为正序排列 正好昨天一个朋友的python老师留下了这道华容道的题目,今天就来学习一下吧 注意!!! 以下内容不包 ...
- python小游戏制作实验总结_20183202 实验四《python程序设计》实验报告
课程:<Python程序设计> 班级: 1842 姓名: 李思远 学号:20183202 实验教师:王志强 实验日期:2020年6月5日 必修/选修: 公选课 一.实验运行结果 1.实验源 ...
- 适合初学者的Python小游戏开发,不仅有趣还能巩固自己所学知识
很多人想学Python程序设计或者已经了解过一点Python程序设计基础,却没办法开发出一个项目. 今天,通过演示一个简单的控制台小游戏制作,手把手教你如何用Python编写一个游戏程序,即便你是个新 ...
最新文章
- 万字详解本地缓存之王 Caffeine
- ie与firefox 关于js 的差别(转载)
- 99%的数据工作者不曾知道的一款利器
- python的for循环语句_干货丨Python的循环语句基础讲解!
- verilog 移位运算符 说明_FPGA、数字IC系列(2)——电子科大与北航部分Verilog题目与解析...
- GLSL三种修饰符区别与用途(uniform,attribute和varying)
- 使用 ebpf 深入分析容器网络 dup 包问题
- C++解析-外传篇(1):异常处理深度解析
- git 常用的撤销操作
- facebook_如何清除您的Facebook搜索记录
- 【BZOJ4516】生成魔咒,后缀数组+Splay
- java初学者笔记总结day7
- EMNLP2021 | 实体关系抽取新SoTA - 对NER和RE任务进行联合编码
- android 通过串口来控制pwm的输出_ESP8266_07基于PWM的呼吸灯
- 阿里云服务器配置DNS域名解析
- javaEE 后台框架 SpringMVC Mybatis Shiro druid
- android 英语单词音标获取
- vue项目中页面打印插件(去除页眉页脚)
- MySQL数据库技术
- Html5(H5)是什么?
热门文章
- 为什么梯度反方向是函数下降最快的方向?
- 深度学习图像分类(十三):ShuffleNet系列(V1,V2)
- 图像处理——采样与量化
- 如何利用python整合excel_一篇文章告诉你如何利用python实施自动化办公,操作Excel...
- 深度学习之Bottleneck Layer or Bottleneck Features
- led投屏软件_手机投屏竖屏显示器怎么全屏
- linux禁用别人ping自己,linux /etc/sysctl.conf 禁止别人ping自己
- C#中使用Dictionary实现Map数据结构
- 互联网晚报 | 7月15日 星期五 | 苹果开始试产iPhone 14;银保监会回应“停贷”事件;抖音否认屏蔽词语致谐音梗大流行...
- JAVA 实现《2048游戏》游戏