摘要: 贪吃蛇游戏已经告一段落了,在完成这个游戏的过程中,我遭遇了许多“坎坷”和“挫折”,下面就几个让我印象深刻的“挫折”做一个具体的讲解,以此来为这个贪吃蛇项目画上一个完整句号。(包括打包这个游戏时遇到的问题及解决方式。) BUG1 在运行贪吃蛇游戏时,如果同时按下两个方向键会出现贪吃蛇“莫名其妙”死亡的 阅读全文
posted @ 2018-07-24 22:33 3fman 阅读(520) 评论(0) 推荐(0) 编辑
摘要: 贪吃蛇游戏做到现在算是真正的完结了,后续如果有所改动,也只是当做版本更新处理。现在我整体介绍一下我做的这个贪吃蛇游戏: 首先,我这个贪吃蛇游戏满足传统贪吃蛇游戏的基本规则: 贪吃蛇吃到果实会“成长”(身体长度+1); 碰到墙壁会死亡(有固定的活动范围); 蛇头“追尾”会死亡(蛇的头部不能触碰到身体其 阅读全文
posted @ 2018-07-19 20:26 3fman 阅读(651) 评论(0) 推荐(0) 编辑
摘要: 经历几天的“挖坑”、“填坑”,贪吃蛇程序也要完结了,现在已经可以做到正常运行贪吃蛇这个游戏了。在编写贪吃蛇这个游戏的过程中,真的是酸甜苦辣都经历个遍,不过靠自己编写而不是完全“借鉴”别人的代码,这种收获感和成就感真的是满满的。好了,多的不说,先上代码。(在从命令行贪吃蛇到pygame贪吃蛇的过程中参 阅读全文
posted @ 2018-07-08 21:37 3fman 阅读(738) 评论(0) 推荐(0) 编辑
摘要: 创建真正的游戏 上一篇博客介绍了如何通过“上下左右”四个按键做到玩家与游戏的交互,今天将开始创建贪吃蛇游戏的三个主要对象:草地、食物、贪吃蛇。(代码是新代码,效果图是旧效果图) 草地就是贪吃蛇和食物所能存在的空间范围,它有两个主要属性——颜色、面积。我会根据这两个属性定义一个草地的类: 运行代码,看 阅读全文
posted @ 2018-07-05 10:06 3fman 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 创建真正的游戏(续) 在上一篇博客介绍了pygame模块的安装,并开始通过pygame模块来创建贪吃蛇游戏。在上篇博客中我创建了一个窗体,贪吃蛇游戏将在窗体中运行。同时简单编写了一个退出窗体的事件应对机制,今天的博客将深入学习pygame模块,并一步一步“勾勒”出完整的贪吃蛇游戏。 上篇博客贪吃蛇代 阅读全文
posted @ 2018-07-01 22:13 3fman 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 创建真正的游戏 之前演示的贪吃蛇游戏是以python命令行的形式模拟实现的,今天博客的主题就是是创建一个真正的贪吃蛇游戏,其摆脱了命令行的限制,界面更加美观,人机交互更加方便,可以让玩家有更好的游戏体验。 那么,要如何将贪吃蛇游戏做的更好。一个真正的游戏是通过图形用户界面GUI(Graphical 阅读全文
posted @ 2018-06-27 22:50 3fman 阅读(455) 评论(0) 推荐(0) 编辑
摘要: 例程实操与分析 在之前的两篇博客中分别通过面向过程和面向对象的编程思想分析介绍了来自sunny开始学坏的贪吃蛇例程,今天的博客将通过运行这个贪吃蛇例程来了解各行代码的作用,同时通过“找茬”的方式深入分析了解贪吃蛇的运行机制并改善这个例程。 下面是这个贪吃蛇例程的代码: 然后,我们来运行这个例程代码, 阅读全文
posted @ 2018-06-24 21:21 3fman 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 在贪吃蛇“大作战”(三)中,我在对原例程代码做修改时不小心“踩进”了if选择逻辑的“陷阱”,特在此与大家分享,希望大家都能聪明地避开陷阱。 下面是贪吃蛇示例程序的其中一段代码,它是一个选择逻辑: 现在我想增加一个功能,限制外部命令的输入,使其只能是'w','s','a','d'四个字符中的一个,否则 阅读全文
posted @ 2018-06-22 00:27 3fman 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 从对象出发看贪吃蛇 在上一篇博客中,我通过逐行分析代码对贪吃蛇的运行机制做了一个简要的介绍;逐行分析后可以看出这个贪吃蛇例程的编写范式更突出面向过程:该例程先是预设食物和贪吃蛇的位置参数,然后通过选择逻辑判断外部命令的值,根据不同的值做出不同的动作,最后在地图上将之前的动作“渲染”,达到贪吃蛇“前进 阅读全文
posted @ 2018-06-20 23:18 3fman 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 前两天在博客园看到一个基于Qpython 的贪吃蛇游戏的代码,有点好奇贪吃蛇怎么用Python简单实现,就开始对这个程序代码进行分析。下面是我转载自sunny开始学坏的代码: 以下,我会根据我所理解地,以行号为索引来逐行对上面的代码进行一个说明: 行号1:导入Python中的os模块和random模 阅读全文
posted @ 2018-06-18 23:50 3fman 阅读(312) 评论(4) 推荐(0) 编辑