当前课程知识点:Python 交互式程序设计导论 >  第2周 >  B 课程视频(输入框、全局变量) >  “猫咪藏在哪个房间”游戏

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

“猫咪藏在哪个房间”游戏在线视频

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

下一节:游戏说明

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

“猫咪藏在哪个房间”游戏课程教案、知识点、字幕

好,同学们,我们玩一个“猫咪藏在哪个杯子里”的游戏

这里有十六个杯子,编号从0开始一直到15

白老师把这个猫咪藏在一个杯子,我开始猜,如果我猜的不对 , 白老师会告诉我猜得大了还是猜得小了

我就根据他告诉我的情况,然后在另外一个范围去猜,这是折半查找的思路

16个杯子,最坏的情况,可能5次才能猜中

好,现在咱们开始玩这个游戏

下面,我把这个猫咪藏到随机的一个杯子里

不要让我注意到,不要让我知道

把它塞进去,ok, 藏好了

好,16个杯子,正中间应该是7或者8

这两个都是一样的,假设我猜7,猜大了, 那说明这一部分不可能有猫咪了

只能在这里头了,我现在再折半查找

这是1, 2 ,3 ,4 ,5 ,6, 7 ,7个

正中间是这个,我猜3

3,猜小了,猜小了, 它不在这里头,在正中间,猜第三次

5,猜大了

猜大了, 那只能是它

好,再来看一下, 好,谢谢大家

好,下面我们看看如何用python来完成“猫咪藏在哪个房间里”游戏的设置过程

首先,在我们完成这个游戏项目之前

仔细阅读教材中项目二“猫咪藏在哪个房间” 里头给大家提供的文档

包括游戏的说明,程序的说明,编码步骤,评分标准等

当然,也可以在mooc网站阅读我们给大家提供的文档

如果你完全读懂这些文档,那么,接下来,打开你的计算机

保证你的计算机链接到互联网,然后打开pycharm,新建一个项目

名字叫“猫咪藏在哪个房间”

然后,在这个项目当中创建一个程序文件,叫guess_room_number, 就是python文件

然后,在我们的mooc网站上,把第二个项目的模版代码全部选中拷贝下来

然后,在pycharm里头,把它粘贴到我们新创建的python里面

好,粘贴过程中,会看到这样一个情况

我们看到项目的模版,首先是一个注释语句,说明我们程序的一些信息

然后,是一些导入的模块,然后,初始化一些全局变量

然后,我们给了一个图片资源,这个资源有一个网址,最好把这个网址拷贝下来

复制下来,打开浏览器,测试一下

在地址栏输进去,这个地址栏输进我们的地址以后

有一副猫咪的图片,说明使用的计算机已经连到互联网上,可以访问这个图片资源

注意,如果你在设计这个游戏的时候,你的计算机没有连到互联网, 那么,在运行程序的时候可能会报错,就没法正常运行

好,下面看看,我们给大家提供的模版当中,要求大家完成四个函数

第一个new_game,第二个range25,第三个range36,第四个range100, 最后guess_room_number,总共五个函数要求大家去完成

好,我们解释一下这个五个函数它的作用

第一个new_game,是用来初始化全局变量,主要是要生成一个秘密的数字

这个秘密的数字,它的范围是多少呢

第一次运行的时候,它的范围是0到24之间的某个数字

第二次程序运行,可能,点击了三个按钮当中的25个房间,36个房间,100个房间

点击按钮不同,这个猜测范围也就会发生变化

随机,这个秘密数字的范围也会发生变化

因此,剩下的这个三个函数,就是重新设置房间的数量

准确的说,就是重新设定这个秘密数字它的范围

比如说,第一个数字是从0到25不包括25,第二个数字是0到36不包括36, 第三个数字是0到100不包括100

最后一个函数是我们的函数逻辑

主要的游戏功能实现的地方,同时,也是文本输入框那个控件的事件处理函数

好的,下面,我们来运行一下这个程序,看看这个游戏的效果

好,注意看,第一次,运行的时候,这两个提示

新一轮游戏开始,你应当在0到24之间猜测一个数字,总共有5次猜测机会, 请输入你猜测的房间号并按回车键

我们认为,折半,从正中间去输,我猜测是12,好, 看这边的输出

你猜测的房间号为12,太大了,还剩4次猜测机会

那就应该在小的这一部分,从0到11这房间去猜

我们猜多少呢,5,好,太小了

还有三次机会,那在6,7,8,9,10,11之间去猜

我们猜8,好,猜得太小了

在9,10,11之间,我还有两次机会

我猜测10,太大了,往小猜

猜9,那一定是9,我们猜测对了

你现在点击36个房间,好,现在注意右边的输出

新的游戏开始,你应当在0到35之间猜测一个数字,总共有6次猜测机会

如果点100个房间呢,0到99 这个提示是:新一轮游戏开始,你应当在0到99之间猜测 一个数字,总共有七次猜测机会

依此,我们的游戏可以玩下去

这里体现了折半查找的思想

好,这一讲就给大家介绍到这里

希望大家喜欢这个游戏,我们下次再见

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周--小测验

-本周项目:守卫家园

--游戏说明

--程序说明

--编程步骤

--评分标准

--项目模板

“猫咪藏在哪个房间”游戏笔记与讨论

也许你还感兴趣的课程:

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