来源:搜狐 时间:2023-04-28 09:32:34
欢迎回来,上节课我们已经上手编写程序了,也了解了scratch软件的基本使用,那这节课我们继续来玩scratch,编写一个有趣的小游戏-拼手速小游戏。
本节课分三个阶段:
1,任务内容说明;
2,任务分解和代码实现;
3,程序效果展示;
1,任务内容说明大家都抢过微信红包吧~今天我们练习下手速,不过之前我们先编写一个练习程序。我设定的任务内容是这样的:游戏由两个同学来参加(一个人用两个手指也可以~),然后游戏区有两个小球,两个人通过键盘上的两个按键分别控制一个,按一次按键会让你控制的小球变大一点;两人各自按自己的小球,看谁的小球先变大到设定的目标值,那么谁手速快谁就会赢咯。
2,任务分解和代码实现现在我们开始一步一步实现我们的小游戏。
1)准备角色和背景
首先准备两个小球和自己想要的背景,参与下面动图:
注意,我们选择了ball和basketball两个角色,因为它们的大小是一样的,你也可以选择其他球类角色并在角色框里设置它的大小为一样;然后在角色框还设了两个球的位置,好让它们在同一水平线上。
2)通过按键让小球变大
很明显,游戏关键的一步是控制小球变大,我们可以使用事件类积木“当按下x键”来触发程序,然后使用外观类积木“将大小增大x”,请参考下面动图和代码:
注意,ball和basketball两个角色都要加代码,只是控制的按键用不同的。
3)开始程序块和达到目标大小程序块
现在基本的把球变大能力有了,我们继续完善游戏。
先考虑游戏开始的流程,为了每次游戏开始时两个小球都是固定的初始大小,我们需要使用点击小旗子积木和把大小设置为x积木。
然后考虑游戏结束的流程,当小球大小变大到一个目标值时,我们让小球说出“I WIN!”并不再变大,这里我们会需要用到控制类中的“如果x那么”积木,这个积木的作用是如果满足x条件就执行积木内部的积木代码,如果不满足就不执行而继续这个积木后面的其他积木。另外还会用到比较大小用的比较类积木。请参考下面动图和代码。
对上面的动图和代码说明几点:
a,我们用到了大小这个积木,这个积木代表了当前角色也就是小球的大小,你按了按键后小球的大小会变大10的;
b,用上面代码实例来说明下“如果x那么”积木,第一个“如果x那么”,意思是如果小球的大小小于或等于200的时候,可以执行积木内部的程序,如果大于的话就执行积木后面的程序,在这里是空的,也就是不再执行;第二个“如果x那么”,意思是如果小球的大小大于200那么就说一句“I WIN!”,否则执行后面的代码,这时也是空;
c,你可以试着不断的按a或1键,看看程序的效果,是不是发现小球在不断变大,直到大小变为200并说出“I WIN!”后就不能动了,如果是这样就说明程序写对了;我们可以对着代码理一遍,一开始小球的初始大小是100,然后我们不断按按键,代码会进到第一个“如果x那么”的积木内,也就是让小球变大,但是还不到200,这样就不会进到第二个“如果x那么”的积木内;直到小球大小到200后,就会进到第二个“如果x那么”的积木内,并说出“I WIN!”,然后小球不再变动,因为再也进不到第一个“如果x那么”积木里了;
d,不知道你有没有发现,在动图里,我复制了ball角色里的一部分代码到basketball里面,这样就可以省去很多重复工作啦;注意复制和张贴代码是用ctrl c和ctrl v键;
4)最后完善
当你测试已经写好的代码,应该会发现还存在一个问题,就是但一个小球变大到目标值后,另一个小球还能继续变大,为了实现只有一个winner的效果,我们再优化下我们的程序。
这时我们需要使用到“变量”,一个变量可以记录一个值,比如记录现在是几点了,也可以记某个游戏里的得分,也可以记角色的位置,等等。本程序里我们引入两个变量,分别记录ball大小是否达到目标值了、basketball大小是否达到目标值了,没达到用0表示,达到用1表示。那两个变量初始时肯定都是0,然后当游戏进行到其中一个变为1后就游戏结束。具体参考下面动图和代码吧:
说明一下,我们给ball分配了一个变量叫ballWin,标记ball是否达到目标值了,0为没有,1为有;同样,给basketball分配了一个变量叫basketballWin。每次按键后,先判断是否两个小球的标记都为0,也就是都没达到目标值,没有才执行积木内的程序,有一个的话那就不做任何操作。当有一个小球的大小大于200的时候,把它对应的标记设置为1。
3,程序效果展示好了,程序都写完了,你可以和你的朋友或者自己用两个手指,分别控制两个按键,来试试看谁的手速更快吧。下面动图是一个效果展示:
4,本课小结好了,本课就到这里,小结一下,这节课我们又动手实现了一个程序,并且是一个有趣的小游戏,通过学习和练习,你应该对scratch软件更加熟悉了吧。别看积木栏里有很多不同作用的积木,当我们去了解它的含义后就能轻松使用它们,并搭建出丰富有趣的程序。如果有些积木你看它的意思不懂,可以留言咨询我,或者上百度自己查一查吧~
下节课我们会继续编写一个有趣的游戏,我们下节课见~
相关推荐
猜你喜欢