当前课程知识点:Python 交互式程序设计导论 >  第6周 >  B 课程视频(平铺图片) >  “华容道”游戏

返回《Python 交互式程序设计导论》慕课在线视频课程列表

“华容道”游戏在线视频

“华容道”游戏

下一节:游戏说明

返回《Python 交互式程序设计导论》慕课在线视频列表

“华容道”游戏课程教案、知识点、字幕

实际上 华容道游戏是三国故事里面非常经典的一个章节

中国老百姓都家喻户晓

也有很多厂家根据这个故事做成游戏 玩具店里都可以买到这个游戏

现在看到的就是我们的道具 我们摆起来看看

这是最典型的华容道横刀立马的布局

据说是八十七步可以把曹操从这个位置移出去

下面看看 我们来把它移出去 你来数步骤

一 二 三 四 五 六 七 八 九 十

十一 十二 十三 十四 十五 十六 十七 十八 十九 二一

二二 二三 二四 二五 二六 二七 二八 二九 三十 三一

三二 三三 三四 三五 三六 三七 三八 三九 四十 四一

四二 四三 四四 四五 四六 四七 四八 四九 五十 五一

五二 五三 五四 五五 五六 五七 五八 五九 六十

六一 六二 六三 六四 六五 六六 六七 六八 六九 七十

七一 七二 七三 七四 七五 七六 七七 七八 七九 八十

八一 八二 八三 八十三步才能走出来

挺好玩的游戏 下面我们来看一下我们开发好的华容道游戏 运行效果

同样 把我们给打提供的模版代码拷贝到pycharm以后呢

这个游戏需要的一些全局变量

并且给出了旗子,这些图片资源

需要同学们完成的是以下一些函数

比如说,绘制所有的旗子这个函数,这个函数我们会在drow函数里面调用

还有检测旗子发生碰撞,这个碰撞指的是

旗子左右移动的时候要检测哪个方向可以移动

还有是不是碰到了边界,如果碰到边界它要停下来

还有如果我们已经把曹操释放出去了,要绘制通关成功的信息

class figure 这个旗子类呢我们在上一讲视频里头也讲过了

而,我们操作这个旗子呢是通过鼠标来操作的

首先鼠标点击这个事件里头要记录鼠标点击的位置

来判断鼠标点击的那个位置上有没有旗子,如果有旗子

我们记录它的位置,然后鼠标拖动

拖动的距离我们可以来判断在x周上面大还是在y周上面大

如果在x 周上大那就是水平方向移动

如果在y周上大就在垂直方向移动

当然也可能向上移动或者向下移动

这根据我们鼠标具体拖动的方向来决定

然后来设置旗子的mouse-drag这个属性

一旦mouse-drag属性从原来的none设置成了你确定的方向

它自己有个绘制函数能够向哪个方向继续移动

但它有个监测的方法,如果碰到边界或者碰到其它的旗子它会自动停下来

最后用这个drow函数把旗子整个绘制出来

当然start-game这个函数能够初始化的都是全局变量

同时我们游戏启动的时候也会调用一次

好,现在我们看看游戏运行的效果

注意看,运行一下

第一步,第二部,第三部,第四部,第五部,第六步,第七部,第八步

赵云朝下,兵朝下,关羽朝左,兵朝上,兵朝右

兵朝上,赵云朝右,兵朝右,兵朝下,关羽朝下

兵向左,兵向左,赵云朝上,黄忠朝上,兵向右,兵向右

关羽向下,兵向下,兵向左,赵云向左,黄忠朝左,张飞向下,曹操朝右

赵云向左,马超下来,曹操向右

张飞上去,黄忠向右

兵向上,兵向左,再向上

关羽向右,马超下来,赵云下来

兵到左边去,曹操下来,兵往右

兵向上,在往右,兵向上,赵云向上

马超向左,兵向左,再下来,曹操继续下

兵向下,再朝左,张飞朝左,黄忠向上

曹操朝右,兵向下,兵向下,兵向右

赵云向上,马超向上,兵向左

兵下来,兵上去,曹操向左,黄忠下来

张飞左,兵向左,兵向左,赵云向右

马超上去,曹操向左,兵下来,兵下来

张飞朝左,黄忠上去,兵上去,关羽上去

兵移开,兵也向右移,曹操下来,兵也往过移

兵往过移关羽往上移,兵向上,兵向右

曹操向右,OK,通关成功

好,谢谢大家观看,咱们下次再见

Python 交互式程序设计导论课程列表:

第0周

-课程简介

--课程简介

-A 课程视频(算数操作符及表达式)

--绪论

--Python交互式解释器使用方法

--PyCharm集成开发环境介绍

--算数操作符及表达式

-B 课程视频(变量及赋值)

--变量

--项目提交

--“我喜欢Python”热身小项目

-C 辅助视频(计算机结构、Python开发环境安装)

--Windows平台安装Python开发环境

--Mac平台安装Python开发环境

-D 辅助视频(如何提交项目)

--项目提交

-第0周--小测验

-本周项目:"我喜欢Python"

--项目发布、完成、提交及评分流程

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

--项目提交

第1周

-A 课程视频(函数)

--函数

--其它操作符

--随机函数

-B 课程视频(逻辑及表达式)

--逻辑值和比较

--条件

--编程技巧

--“老虎杠子鸡虫”游戏

-第1周--小测验

-本周项目:“老虎杠子鸡虫”游戏

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

第2周

-A 课程视频(Python交互式应用)

--事件驱动编程

--事件可视化跟踪执行

--SimpleGUITk

--按钮

-B 课程视频(输入框、全局变量)

--输入框

--局部变量和全局变量

--编程技巧

--“猫咪藏在哪个房间”游戏

-第2周--小测验A

-第2周--小测验B

-本周项目:猫咪藏在哪个房间

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

第3周

-A 课程视频(画布绘图)

--画布和图形绘制

--字符串处理

--绘图和计时器可视化跟踪执行

--图片和音效

-B 课程视频(计时器)

--计时器

--交互式绘图

--“神奇时钟”游戏

--编程技巧

-第3周--小测验A

-第3周--小测验B

-本周项目:“神奇时钟”

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

第4周

-A 课程视频(列表)

--列表

--键盘输入

--列表及变化可视化跟踪执行

--碰撞和反射

-B 课程视频(键盘控制)

--速度控制

--运动

--编程技巧

--“桌上冰球”游戏

-第4周--小测验A

-第4周--小测验B

-本周项目:“桌上冰球”游戏

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

第5周

-A 课程视频(鼠标输入、列表进阶)

--鼠标输入

--Video

--Video

--Video

-B 课程视频(字典和图片)

--Video

--Video

--Video

--Video

-第5周--小测验A

-第5周--小测验B

-本周项目:“世界杯八强连连看”

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

第6周

-A 课程视频(类)

--面向对象编程(类和对象入门)

--面向对象编程(类和对象进阶)

--对象可视化跟踪执行

--华容道中的类

-B 课程视频(平铺图片)

--平铺图片

--理解对象

--编程技巧

--“华容道”游戏

-第6周--小测验A

-第6周--小测验B

-本周项目:“华容道”游戏

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

第7周

-A 课程视频(类进阶及文件操作)

--集合

--文件操作

--文字块类

--处理停止的文字块

-B 课程视频(游戏状态控制)

--游戏记分规则

--游戏结束的条件及处理

--编程技巧

--“决战三字经”游戏

-第7周--小测验A

-第7周--小测验B

-本周项目:决战三字经

--游戏说明

--程序说明

--编程步骤

--评分标准

--项目模板

第8周

-A、课程视屏(精灵集合)

--Video

--精灵类

--战士类

--编程技巧

-B、课程视屏(动画)

--精灵碰撞

--精灵动画

--编程技巧

--保卫家园游戏

-第8周--小测验

-本周项目:守卫家园

--游戏说明

--程序说明

--编程步骤

--评分标准

--项目模板

“华容道”游戏笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。