Scratch(三)剪刀石头布
经过上一讲的突击训练,我们从门外汉开始走向编程的深坑,我们今天还要对上一讲的游戏进行加强。
上一个游戏还能演变成什么游戏呢?
我其实知道你们想到的是老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(三)剪刀石头布的更多相关文章
- 基于空镜像scratch创建一个新的Docker镜像
我们在使用Dockerfile构建docker镜像时,一种方式是使用官方预先配置好的容器镜像.优点是我们不用从头开始构建,节省了很多工作量,但付出的代价是需要下载很大的镜像包. 比如我机器上docke ...
- [Full-stack] 世上最好语言 - PHP
前言 本篇是对个人PHP, Laravel系列博文的总结与思考. 目的在于理清并熟练如下过程: "需求 --> Usercase --> UI --> 框架 --> ...
- 香蕉派(or 皮?)上手初体验 -- 外观鉴赏,安装,配置&总结
一.前言及简单介绍 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbG9uZ2Vyem9uZQ==/font/5a6L5L2T/fontsize/400/f ...
- 玩转树莓派《三》——Scratch
今天大姨妈折磨了一整个白天,稍微好点,现在打开实验楼,看到有个朋友回答了关于ubuntu上面操作SQL 的时候到处数据到txt文件,被批评没有思考问题,或许吧,虽然那个权限我现在想起确实是可读可写的, ...
- 少儿编程崛起?2020年4月编程语言排名发布——Java,C,Python分列前三,Scratch挤进前20
前三并没有什么悬念,依然是Java,C,Python.C与Java的差距正在缩小,不过我们不用担心,在大数据分析领域Java,Python依然都是不可或缺的. 基于图形的基于块的编程语言Scratch ...
- Linux From Scratch(从零开始构建Linux系统,简称LFS)- Version 7.7(三)
八. 构建LFS系统 1. 准备虚拟内核文件系统 内核会挂载几个文件系统用于自己和用户空间程序交换信息.这些文件系统是虚拟的,并不占用实际磁盘空间, 它们的内容会放在内存里. mkdir -pv $L ...
- Linux From Scratch(从零开始构建Linux系统,简称LFS)(三)
九. 系统配置 1. 安装 LFS-Bootscripts-20150222 软件包包含一套在 LFS 系统启动和关闭时的启动和停止脚本. cd /sources tar -jxf lfs-boots ...
- Scratch编程:快乐的小马(三)
“ 上节课的内容全部掌握了吗?反复练习了没有,编程最好的学习方法就是练习.练习.再练习.一定要记得多动手.多动脑筋哦~~” 01 — 游戏介绍 这是一款简单的小游戏,实现了一匹小马跑来跑去(小马有跑动 ...
- Scratch少儿编程系列:(三)第一个例子 潜水员
一. 选择背景 在上一节系统界面的介绍中,选择"6角色"的左边,点击"从背景库中选择背景". 选择主题水下中的"underwater3". ...
随机推荐
- tx1 gpio
- taocrypt
taocrypt MySQL Bugs: #25189: mysqld: coding.cpp:243: void TaoCrypt::Base64Decoder::Decode(): Asserti ...
- nginx中的超时配置
nginx.conf配置文件中timeout超时时间设置 client_header_timeout 语法 client_header_timeout time默认值 60s上下文 http serv ...
- js 跳转到 百度指定地址定位点
js 跳转到 百度指定地址定位点 http://api.map.baidu.com/geocoder?address=北京市海淀区上地信息路9号奎科科技大厦&output=html&s ...
- libfacedetection 人臉識別
计算相似度,然后比对 QVector<cv::Point> vec_point1 = facedetect_frontal_surveillance4(face_img.clone()); ...
- 重启WMS服务
一.重启API服务 查看进程ps ef|grep java 进入目录 cd /usr/local/tomcat-api/bin ./shutdown.sh ps –ef|grep 查看服务是否真的停止 ...
- Spring cloud微服务安全实战-6-7jwt改造总结
限流的改造. 同样注意,不要声明成Spring的Bean 在上面声明Rateliiter 如果能获取到权限继续往下走,没权限就返回,to many request的错误信息. 加到过滤器链上 加载Sp ...
- LeetCode_235. Lowest Common Ancestor of a Binary Search Tree
235. Lowest Common Ancestor of a Binary Search Tree Easy Given a binary search tree (BST), find the ...
- Connection reset by peer引发的思考
http://www.mamicode.com/info-detail-506381.html
- Xpath定位和CSS定位(***重)
1.XPath是一种在XML文档中定位元素的语言.因为HTML可以看作XML的一种实现, 所以Selenium用户可以使用这种强大的语言在Web应用中定位元素. 1.1 绝对路径定位 参考baidu. ...