想了解编程技巧,就请点击上面蓝字:跟我学Scratch编程,关注CC哥
今天CC哥把完整的24点小游戏的程序介绍给大家,如果没读过之前两讲的可以先看一下:Scratch第65讲:24点小游戏-想象版;Scratch第67讲:24点小游戏程序讲解(一)。思路在这两讲里都讲过了,今天只讲解代码。
扑克牌
可以看到,24点的4个数字我们用扑克牌来表示,这里我们用了4个角色,大家也可以用克隆去做,不过相对这种类型程序,用4个角色做起来编程简单,管理也容易。
造型的名称就是1~10的数字,所以在发牌(出题)时,我们只需要取一个1~10的随机数,然后把造型换成对应的数字即可。
另外就是,当我们点击每张牌时,牌会自动变到下一张牌。
其他三张牌除了位置不同,代码的内容都基本一样,4张牌分别给ABCD四个变量赋值。
发牌按钮也是一个角色,点击的时候,4张牌就随机变化。
如果想免费获得CC哥的讲座中的程序代码以及游戏素材,可以通过扫描二维码关注《跟我学Scratch编程》,然后点击获取代码即可。
24点算法程序
在这个算法里面,CC哥用了很多列表来存贮程序用到的各种中间数组。列表的名字CC哥起的不见得好理解,大家克服一下。
角色: 算法
这一步是把发牌后得到的ABCD四个数值存到4张牌的数组中。然后调用4个数求解的自定义命令。
这段代码有点长,CC哥分段讲解一下:
这段程序的核心就是从4张牌这个数组中,抽取两个数字,然后对这两个数字做四则运算,然后把结果与另外两个剩下的数字组成3个数字,然后用这三个数字去计算有没有得到24的方法。直到尝试玩所有的3个数字组合。
把程序放大看,4个数字取数的循环方法上节课讲过了,这里不再讲。这段程序就是取2个数字。M,N。然后对取出来的数字进行四则运算。四则运算的结果存贮在一个名字叫:“4取2个数运算结果”的数组中。
这段代码就是用来把计算结果分别取出来,放到一个3张牌的数组中,然后在把另外两个数字取出来凑成一组3个数字,然后对这3个数字进行下一轮计算。注意一般计算结果可能是3个也可能是4个,如果在除法的部分能够发生整除,那么计算结果就是4个数字,否则就是3个。
中间那句非常长的将数字进行连接的语句,是为了将这一步四则运算记录进入‘运算方法’这个列表中。因为这一步四则运算很有可能得到24的结果,也就是属于正确方法,所以要记录保存下来。中间CC哥用到了一个符号的列表,这个列表里固定存着+-*/四个符号,4取2个数运算结果列表里的计算结果的顺序跟这个符号列表里的符号也是对应的。
下一步就是3个数来计算24点了:
代码跟刚才如出一辙,就不用细讲了。这一步执行完,就得到了2个数字了。
4个数字取2个数字进行四则运算和3个数字取2个数字进行四则运算不都是一样吗?为什么要用俩个不同的自定义命令呢?因为计算结果放的地方不一样。虽然都是四则运算,但是两组计算结果是分别存放的。否则结果就会出现bug。
针对得到的2个数字的验证24点,就简单了,也就是可以收官了。
就是验证加减乘除四个方法看能否得到24,得到了就停止全部程序不再计算了。如果你不想停止,继续计算,就可以得到全部算法。当然如果你想得到全部算法的话,每次得到24的结果,就要把运算方法的数据备份到其他地方,好比“最终全部结果”这样的列表中。
·END·
不用花钱成为Scratch高手
历史课程: