创客教育探索
我们一直在努力!

温州实验中学scratch教案[游戏篇]6.《点金币》-分支&循环-变量&广播-随机数

范例:

http://scratch.mit.edu/projects/Daixiaohong/2943975 “广播”和“当接受到广播”

http://scratch.mit.edu/projects/Daixiaohong/2840206 (进阶:限时点金币)

范例截图:

q1

问题描述: 1)金币在画面上四处不限定地游移;

2)鼠标粘着魔杖,准备点击金币;

3)画面上出现点到的金币数;

* 4)由卡通小人行走的距离来限制游戏的时间,卡通小人到达屏幕右下角并停止,游戏结束。

问题分析:1)准备角色1-金币,角色2-魔杖,角色3-卡通小人

q2

2)鼠标粘着魔杖。从绿旗被点击开始,魔杖一直由鼠标操控,即魔杖“移至鼠标”,并重复执行着魔杖“移至鼠标”。

q3

3)金币四处游移。角色在屏幕上的位置由座标指定,即X,Y(  ,  )的值,且金币不限定地在屏幕上四处游移,即金币的坐标X,Y(,)的值是一个随机产生的值。所以找出相关的模块:(根据屏幕座标值的范围,不让金币游移出屏幕,特设定金币的X:1至230,Y:-176至176 )

q4

经过组装,金币始终要。

q5

为了防止金币在屏幕上游移形成方向死角(如游移成:始终横向或始终纵向),还需要给金币游移时增加角度的改变。设定金币向自身角度的补角方向作一个随机度数的旋转,然后移动5步,停留20秒。(为了使金币移动中的产果更流畅,具体数据设置实际调整):

q6

在游戏执行时,金币一边不停地随机移向屏幕区域的某个点,一边自身不断地旋转着调整移动方向。

4)金币被点,并累计数量,显示在屏幕左上角。

计数:新建变量“点金币的个数”,设初值为0,每点中一次计数增加1,并显示变量。

q7

金币被点中:金币被点中的标志是侦测到“鼠标按下”,而且金币碰到了角色2魔杖。q8即,两者条件必须同时成立,被点中计数生效。两者条件必须同时成立!布尔变量中的“与”条件,q9经过组装,得到:q10

金币被点中,为了增加视觉效果,被点中停留一点时间,让玩家察觉被点中一次,同时计数增加1;如果金币没有被点中,金币继续在屏幕上移动几步,遇到边缘就反弹。

q11

问题求解1(不限时点金币)

角色1脚本截图:

q12

角色2脚本截图:

q13

进阶:限时点金币

问题分析:4)角色3-卡通小人在屏幕下方从左向右行走,来控制游戏的时间。卡通小人的初始坐标值设定,

q14

卡通小人行走过程中,Y座标值始终不变,X座标值发生改变。设定小人在右方某个点停下,把这个点的座标X值作为判断的条件,即卡通小人的X值<该点X值时,q15卡通小人继续向右走,即卡通小人X值增加,q16

组装成:

q17

当到达终点X值时,即例子中X的值<220不成立,则发出停止游戏的广播讯息,通知角色1停止游戏。

q18

角色1收到广播,停止游戏。

q19

问题求解:

 

角色3卡通小人脚本截图:

q20

建议:“广播”类似调用某代码,把实现特定功能的脚本作为“广播”来调用,提高了脚本代码的利用率。

未经允许不得转载:创客探索 » 温州实验中学scratch教案[游戏篇]6.《点金币》-分支&循环-变量&广播-随机数

分享到:更多 ()