友情提示:380元/半年,儿童学编程,就上码丁实验室。
1.最终效果
2.起源
为了跟小孩决定谁去做某件事,最开始使用的是划拳,输的人去做。然后,换成了翻扑克,使用4张扑克,翻到大王的人不用做。在玩的过程中,逐渐萌生了把这个游戏使用编程还实现的想法。
1.对规则进行抽象
把翻扑克的游戏进行抽象化,即可获得如下特点:
-
4张扑克呈2行2列摆放;
-
每张扑克有正反两个面;
-
有一张卡片是Win卡片,翻到这张卡片就获得胜利。
2.设计要点
这个游戏的要点包括了每一张纸牌的翻动以及动态设定Win卡片的位置。纸牌的翻动使用了costume改变的命令。Win卡片的动态设置使用的是,初始化时候把Win卡片放到4位置上,然后动态生成1到4之中的一个数字,把Win卡片交换到动态生成数字对应的位置上。
1.制作4张卡片
三张卡片一样,另外一张卡片是win卡片。卡片的背图案是小朋友手绘的EV3图标。
2.动态给Win卡片分配位置
这个程序里面采用的思路是初始化时候把Win卡片放在4号位置,然后按照随机生成的数字把Win卡片换到对应的位置。比如随机生成2,那么就只涉及4号Win卡片和2号卡片的位置交换。因为交换位置,要涉及坐标的概念,因此,在最开始设计的时期,要先通过拖拽确定4张卡片要放的位置,然后记录下坐标值。然后使用两个数组listX和listY来记录4组坐标的x和y值。
3.Win卡片的实现
对应于每一个要进行变换的位置(除了4),win卡片先更换自己的位置(利用数组),然后发送消息通知对应位置的卡片变换到位置4。
4.Card1的实现
5.Card2的实现
6.Card3的实现