码迷,mamicode.com
首页 > 其他好文 > 详细

Scratch(三)剪刀石头布

时间:2019-05-24 22:20:17      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:odi   鼠标   成就感   拷贝   和我   模块   这不   限制   输入   

经过上一讲的突击训练,我们从门外汉开始走向编程的深坑,我们今天还要对上一讲的游戏进行加强。

 

上一个游戏还能演变成什么游戏呢?

技术图片

我其实知道你们想到的是老hu机什么的,确实,上一个游戏改改可以变成老hu机,但是我们这不是要教小朋友吗,怎么可以学做老hu机?

 

大于、等于、小于的比较,是不是和剪刀石头布的游戏很像呢?我们要学点健康的东西。

技术图片

好了,不会话了,我们开始:

首先,因为一共只有3样东西,剪刀石头布,小猫从当中选一个出来,那么随机范围只有从1-3,我们可以用1代表剪刀,2代表石头,3代表布,如果小猫随机选到了2,那就是说明小猫选了剪刀,同理玩家的选择也是这样。

 

然后就还是比较双方的数字,一共会有多少情况呢?

1-1,1-2,1-3

2-2,2-1,2-3

3-1,3-2,3-3

一共比较9种情况,再给出结果,

最后我们再循环一下,就可以完成这个游戏。

 

那我们就先动手试一试看:

1、我们先让小猫给个提示,说明一下数字代表什么;

技术图片

2、然后新建一个变量,让小猫随机选择的这个数字存入变量中,准备作为比较对象,同时也要让玩家有一个变量,也放入输入的数字进行比较:

技术图片

然后准备给小猫的变量充值,当然我们程序员都是叫赋值,其实都是一样:

技术图片

然后再放入上节课我们学的随机模块:

技术图片

这样小猫就会在1-3中随机选一个数字,对应着也就是剪刀石头布中的一个。

然后再给玩家变量充值,不,是赋值:

技术图片

看到侦测模块里面的椭圆形的模块了吗,是不是和变量的椭圆形很像?

它就是玩家在输入框中回答之后的内容存储变量,也就是说其实系统在玩家输入数字的时候变量已经建立好了,不过我们为了让程序更有条理看得更清楚,所以再加入了一个“玩家选择的数”变量,那么,我们只要将“回答”这个变量赋值给“玩家选择的数”变量,就可以了:

技术图片

好了,现在双方都已经选择好了,要开始进行上述的九种情况的比较,这个我们在上节课中也已经讲过,于是就要用经典的“如果……那么……”模块:

技术图片

但是上节课这里是比较数字大小,那这个石头剪刀布我们怎么比较呢?比小大不可以了啊?

这里我们就要用到新的姿势点:

技术图片

这是“数字和逻辑运算”功能里面的三个功能模块,第一个是要同时满足两个条件,第二个是只要满足两个菱形内容中的一个,第三个是菱形框中的内容不成立。

 

这是我们程序员以后会经常接触到的逻辑关系,放在我们今天的游戏里,那么就是“小猫选择了1”且“玩家选择了1”,这个条件如果成立,就可以放在如果……那么中执行判断结果输出“打平了!”,具体怎么做呢?看下图:

技术图片

将菱形框内放入带等号的菱形框,然后再放入变量:

技术图片技术图片

上图做出来了我们第一个判断情况,那么就按这个方式,我们可以做出其余的八种情况,这里有一个小技巧,我们可以在黄色“如果……那么”模块上,单击鼠标右键,可以出现隐藏菜单:

技术图片

“添加注释”就是对这一行代码进行批注,你可以选择试一试看,这个不多说;“删除”也很容易理解,这是我们常用的删除代码的方式,我们需要选择的是“复制”,点一下,哎我去,这个功能模块包括里面的模块都完整的拷贝了一份,这样我们就只要修改一下里面的内容就可以了:

技术图片

修改如下:

技术图片

看到了吗,我们把9种比较情况全部都通过代码写出来了,如果代码页面太长,我们可以滚动鼠标中间滚轮或是点击右下角的放大缩小按钮:

技术图片

减号是缩小,等号是整理,加号是放大,都点点看可以了解一下。

这样代码我们基本都写完了,不过我们这样只能玩一次,为了可以不停玩下去,那么我们就需要用到上节课学习的循环模块,如果想玩有限次数,那么就用:

技术图片

如果不限制,就用:

技术图片

我们这里用玩5次来试一试,5次之后小猫和我们告别,游戏结束:

技术图片

点击右下角的减号,缩小代码块,然后放入控制模块里面的重复执行有限次数代码,循环5次后,小猫和我们说拜拜然后全部结束:

技术图片

游戏已经编写完成,我们把程序跑起来看看:

技术图片

我先输入个1,点一下蓝色的勾:

技术图片

哎呀开场就输了,再多跑几次看看有没有错误,程序员叫bug。一定要反复跑几次,仔细检查代码有没有问题。

技术图片

跑完5次后,小猫和我们告辞,游戏结束。

 

是不是很快就能写出很酷的游戏了?

就问你有没有成就感?

 

嗯,有希望,有前途,我们下节课暂时就不继续学代码,学习一点Scratch的舞台知识,这个也是非常有趣的内容,我们下回见。

 


Scratch零基础魔法编程(一)为什么你要学Scratch儿童编程
Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏
Scratch零基础魔法编程(三)剪刀石头布
Scratch零基础魔法编程(四)舞台区详解
Scratch零基础魔法编程(五)角色详解
Scratch零基础魔法编程(六)用“角色”与“舞台”的组合做个小动画
Scratch零基础魔法编程(七)“触碰”基础
Scratch零基础魔法编程(七)篇外.用小动画和触碰能做大型游戏?
Scratch零基础魔法编程(八)声音模块详解

 

Scratch(三)剪刀石头布

标签:odi   鼠标   成就感   拷贝   和我   模块   这不   限制   输入   

原文地址:https://www.cnblogs.com/scratch3/p/10920336.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!