作品介绍
你玩说过吉普赛读心术游戏吗?这是一个吉卜赛人古老的神秘读心术,它能测算出你内心的感应,百试不爽,非常的可怕。
今天要分享的Scratch作品正是《吉普赛读心术》,这是一款非常神奇的数学游戏作品,游戏揭秘了读心术游戏背后的数学原理。
点击绿旗,运行程序,在舞台右边会随机出现100个图案,对应的数字编号为0到99,并且每次出现的图案都是不一样的,玩家在10~99之间任意选择一个数,用这个数减去它自己的个位和十位,得到一个结果,再将整个结果对应的图案记下来,然后点击水晶球,在水晶球中会出现你记在心中的图案,感觉很神奇吧,这是怎么做到的呢?
作品效果
Scratch吉普赛读心术作品的预览效果如视频所示:
作品解读
Scratch吉普赛读心术作品相对比较简单,一共使用了4个角色,如图所示:

本作品有两个难点:
- 随机生成100个图案
- 读心术的数学原理
- 随机生成100个图案
这里有100个图案,最好的实现办法就是克隆,但是如何让这些克隆体按照顺序排列好呢?这就需要灵活运用Scratch编程技巧了,仔细观察效果图,可以发现,这100个图案是由20行5列组成的,是一个非常规则的长方形排列。因此,我们可以利用克隆体在生成时和本体位置相同的特点,一列一列的克隆,每次将本体移到该列的第一个位置,然后逐渐移动本体,一列克隆完成后,再将本体移到第二列的第一个位置,并重复这个过程,依次克隆100个图案即可。

2. 读心术的数学原理
你肯定感到很好奇,真的有读心术吗,怎么这么神奇呢?其实,这里充分利用是数学知识,你只要仔细思考,用小学生三年级的水平就能解读出他的原理。
假设你心里想的这个数的十位数是a,个位数是b,则这个数的大小是10a + b,把这两位数相加起来的和就是a + b。规则说用你心里想的这个数减去这个数两位数的和,也就是(10a + b) -( a + b) = 9a。
这里的 a 虽然是在十位数,可是他表示的却是十位数上的那个数字,也就是1到9任意一个数。而把 a 换成上述的任意一种情况就有如下情况:
1 x 9 = 9
2 x 9 = 18
3 x 9 = 27
4 x 9 = 36
5 x 9 = 45
6 x 9 = 54
7 x 9 = 63
8 x 9 = 72
9 x 9 = 81
把这9种情况,也就是所有81以内所有的9的倍数都设为同样的图案,即可实现读心术,如果你仔细观察,就会发现,不管图案怎么变化,每一次9、18、27、36、45、54、63、72、81这9个数对应的图案都是一样的,而其它图案都是用来迷惑你的。
为了实现这个效果,这里有两行关键代码,如图:

这就确保了每一次9、18、27、36、45、54、63、72、81这9个数对应的图案都是一样的,是不是很简单。
暂无评论内容