童年回忆录之python版4399吃豆豆小游戏

作者:顾木子吖 时间:2021-04-30 18:52:44 

前文

昨天家里来人,老姐的小孩儿抢着跟我玩电脑,result........很久很久之后!!

那你想错了,我可不是欺负小孩子的那种人。老实人本人。三秒之后就给她了。

童年回忆录之python版4399吃豆豆小游戏

看见她在4399玩了一款小游戏,感觉很适合小孩子。emmmmmm。。。。。。

童年回忆录之python版4399吃豆豆小游戏

灵感来了挡都挡不住,嗯哼~今天正入正题,开发一款4399类似的吃豆豆小游戏,等着!!!!

Python版本:3.6.4

相关模块:

pygame模块;

以及一些Python自带的模块。

模块自行安装、环境安装包等新手小白不会的可以直接私聊小编先安装环境撒!!

先来看一波实现代码的效果图:

童年回忆录之python版4399吃豆豆小游戏童年回忆录之python版4399吃豆豆小游戏

童年回忆录之python版4399吃豆豆小游戏童年回忆录之python版4399吃豆豆小游戏

游戏简介:

玩家通过↑↓←→键控制游戏的主角吃豆人吃掉藏在迷宫内的所有豆子,并且不能被鬼魂抓到。

若能顺利吃完迷宫内的所有豆子并且不被鬼魂抓到,则游戏胜利,否则游戏失败。

逐步实现:

Step1:定义游戏精灵类

首先,让我们先来明确一下该游戏需要哪些游戏精灵类。

① 墙类

童年回忆录之python版4399吃豆豆小游戏

② 食物类(即豆豆)

童年回忆录之python版4399吃豆豆小游戏

③ 角色类

角色类包括吃豆人和鬼魂,鬼魂由电脑控制其运动轨迹,吃豆人由玩家控制其运动轨迹。

显然,其均需具备更新角色位置和改变角色运动方向的能力,其源代码如下:

童年回忆录之python版4399吃豆豆小游戏

Step2:设计游戏地图

利用Step1中定义的游戏精灵类,我们就可以开始设计游戏地图了。由于时间有限,我只写了一个关卡的游戏地图,有兴趣的小伙伴可以在此基础上进行扩展(在我的源代码基础上进行扩展是很方便滴~)。游戏地图的设计包括以下四方面内容:

① 创建墙

童年回忆录之python版4399吃豆豆小游戏

② 创建门(一开始关幽灵用的)

童年回忆录之python版4399吃豆豆小游戏

③ 创建角色

童年回忆录之python版4399吃豆豆小游戏

④ 创建食物

因为食物不能和墙、门以及角色的位置重叠,所以为了方便设计游戏地图,要先创建完墙、门以及角色后再创建食物:

童年回忆录之python版4399吃豆豆小游戏

Step3:设计游戏主循环

接下来开始设计游戏主循环。首先是初始化:

童年回忆录之python版4399吃豆豆小游戏

然后定义主函数:

童年回忆录之python版4399吃豆豆小游戏

其中startLevelGame函数用于开始某一关游戏,其源代码如下:

童年回忆录之python版4399吃豆豆小游戏

showText函数用于在游戏结束或关卡切换时在游戏界面中显示提示性文字,其源代码如下:

童年回忆录之python版4399吃豆豆小游戏

结尾

童年回忆录之python版4399吃豆豆小游戏

来源:https://blog.csdn.net/weixin_55822277/article/details/120327646

标签:python,吃豆豆,4399小游戏
0
投稿

猜你喜欢

  • [翻译]标记语言和样式手册 Chapter 1 清单

    2008-01-15 10:26:00
  • ACCESS 2007出现“错误 '80040e14'“

    2008-06-19 13:21:00
  • 浅谈MySQL的存储引擎之表类型存储

    2011-05-05 08:10:00
  • Django rest framework如何自定义用户表

    2022-03-12 01:15:02
  • oracle SQL命令大全

    2009-07-02 11:55:00
  • js+ajax实现获取文件大小的方法

    2023-08-12 00:22:07
  • phpmyadmin 数据导入导出问题

    2007-08-06 15:23:00
  • SQL Server中如何快速获取表的记录总数

    2008-12-05 15:59:00
  • python数据操作之lambda表达式详情

    2022-08-19 21:21:32
  • DD_belatedPNG,解决IE6不支持PNG绝佳方案

    2009-04-27 16:30:00
  • Django框架中方法的访问和查找

    2022-07-23 16:31:35
  • Ajax的错误处理机制探讨

    2007-09-07 09:53:00
  • python 爬取英雄联盟皮肤并下载的示例

    2023-07-22 09:57:45
  • ASP对FoxPro自由表(DBF文件)的操作

    2010-05-27 12:20:00
  • SQL Server数据库导入MySQL数据库体验

    2009-01-20 16:07:00
  • 超越质检员——看图购beta版的思考

    2009-04-15 12:11:00
  • PHP函数原理理解详谈

    2023-06-04 01:56:59
  • 如何实现一个python函数装饰器(Decorator)

    2023-12-02 19:38:37
  • Python实现直播弹幕自动发送功能

    2021-08-23 12:31:37
  • PHP实现登录的Cookie存储方案详解

    2023-05-25 08:45:17
  • asp之家 网络编程 m.aspxhome.com