猜数字 ( 几 A 几 B )
这篇文章会介绍,如何在 Scratch 里使用询问、清单、说话、变数、逻辑判断、重复...等积木,实作用几 A 几 B 猜中四个数字的数字游戏。
积木程序原理
这个游戏会随机产生四个 1~9 不重复的数字让用户猜,因为四个数字要分别和用户的答案比对,所以会透过“清单”的方式来实作 ( 可以参考:清单教学 )。
- 建立一个名为“答案”的清单。
- 放入“删除答案所有项目”,让清单的内容是空的。
- 使用“重复...直到”积木,直到“清单答案的长度”等于 4,如此就能只产生 4 个数字。
- 在每次重复的时候,从 1~9 中随机取出一个数字,并将这个数字“添加到答案清单”里。
执行后,会发现四个数字可能有些会重复,所以要加入一个逻辑判断,判断如果“清单答案包含数字不成立”( 清单里面没有这个数字 ) 的时候,才将这个数字加入清单里,完成后,点击绿旗,就会产生四个不重复数字的答案。
- 再建立一个名为“回答”的清单,将“删除回答所有项目”放到刚刚的积木下方。
- 分别建立 a 和 b 两个变数 ( 因为要判断几 A 几 B ),将 a 和 b 都设为 0。
- 放入“重复...直到”积木,直到“a 等于 4”的时候停止重复 ( 表示答对了 )。
撰写逻辑之前,先看一下判断的原理,当用户输入四个数字后,让四个数字分别和答案比对,首先判断“有没有包含”,如果“有包含”,再接着判断“位置有没有相同”,如果位置相同,就让 a 增加 1,如果位置不相同,就让 b 增加 1。
根据判断原理,放入对应的积木。
- 新增一个名为 n 的变数,在每次重复时设定为 1,后续会使用到。
- 每次重复时,将 a 和 b 设为 0。
- 放入“询问”积木,请用户输入数字。
- 放入“重复直到 n > 4”的重复积木,在每次重复时让 n 增加 1,就能将数字一个个进行判断。
- 使用“如果...那么”判断答案清单里是否包含答案的第 n 个字 ( 此时如果 n 是 1 就会判断第一个数字 )。
- 再度使用“如果...那么”,判断已经包含数字的答案,如果位置相同,就让 a 增加 1,如果位置不同,就让 b 增加 1。
使用“字串组合”积木,将答案和结果,记录到回答的清单里,方便根据记录,继续游戏。
接着在用户回答正确之后,出现“答对了!正确答案是...”的文字。
最后,在一开始放入“隐藏答案”和“显示回答”的积木,就可以开始进行游戏了。
完成效果
点击绿旗,就可以输入四个数字,开始进行游戏。
范例解答
范例解答:猜数字 ( 几 A 几 B )
延伸练习
如果已经熟悉了猜数字 ( 几 A 几 B ) 的原理,还可以尝试更多好玩的作法:
微信扫码关注
抖音扫码关注