资讯内容
第13课 游侠比武——只适用于该角色的变量
第3单元 数字工程师
学习完了数字科学家这个单元之后,你应该具备的用科学研究的方法进行项目技术攻关的初步能力,现在就是你小试牛刀的机会,本单元除了要展示同学们的游戏作品之外,更重要的是让同学们在接近真实的工程情境当中对自己应用程序为客户服务的能力得到提升,成为一个数字工程师,未来的世界等待你去改变。
第13课 数码游戏展
任务导航
利用Scratch可以做很多游戏,同学们可以自编一些小游戏,相信学习完了数字艺术家和数字科学家两个单元之后,随着对Scratch语言的深入,同学们也不断改进了自己的小游戏。今天,我们就来看看大家编写的小游戏,展一展,评一评。我们使用Scratch编写一个评奖程序,对小游戏进行打分。评奖程序的界面如图13.1所示。
图13.1 评奖程序界面
Follow Me
1. 分析Scratch例子中的小游戏
第1步:执行“文件”→“打开”命令,进入“打开作品”对话框。打击左列中“例子”,选择文件列表中“Games”文件夹,单击“确定”按钮,即可看到Scratch例子中的小游戏,如图13.2所示。
图13.2Scratch例子中的小游戏
第2步:分析Scratch例子中的小游戏。同学们可以先把下表中列出的Scratch例子中的小游戏分析一下,看看每个游戏中有哪几类角色,每个游戏的规则是怎样的,这个游戏区别于其他几个游戏有什么样的特点,心里有数之后,再评审别人的游戏。
DIY
把对Scratch小游戏分析的结果填入表13.1。
表13.1小游戏分析结果
游戏 | ||||
角色 |
|
|
|
|
规则 |
|
|
|
|
特点 |
|
|
|
|
游戏 | ||||
角色 |
|
|
|
|
规则 |
|
|
|
|
特点 |
|
|
|
|
想一想
如何建立评审的程序呢?评审应该分哪几类标准?
2. 建立评奖程序
如果我们将角色设计、程序复杂程度、趣味性三个标准分别定义为A、B、C,那么每个角色都应该有这三类标准。如图13.1所示,使用者用游戏图片下面的滑块改变每一个角色每一项的分数,最后点击统计,所有分数会统计在一个链表之中。
这个程序的核心技巧有以下两点。
(1)每个角色都有ABC三个评价指标,他们都是只适用这个角色的变量,将角色“1”的代码复制给角色“2”的时候,角色“2”会自动复制出只适用于角色2的三个变量ABC。
(2)点击按钮统计,可以将统计结果加入到链表中,这里使用了链接字符串的功能,使得结果更易读。
图13.3 评奖程序的核心代码
想一想
1.小游戏和大型游戏有什么区别
2.我都玩过哪些类型的游戏?
DIY
大家快把全班的作品制作好编号,评出咱们班的最高分。此外还可以评选一些单项奖,比如最佳角色设计,最佳程序,最佳使用效果,等等。总之期望数码游戏展能够提高大家的Scratch水平,促进程序水平的提高。
知识着陆
- 脚本:只适用这个角色的变量
- 设计:滚动条给分
- 技巧:链表统计数据
创作天地
红篮球改灰度
1.数码游戏最开始都是单机版游戏,一个人玩。下图是一个最基本的攻防游戏,玩家操作红蓝球,碰到蓝球,红蓝球变大,碰到红球,红蓝球变小。为了提高这个游戏的难度,红球和篮球会移动,和随机地现实隐藏。试着完成这个游戏,如图13.4所示。
图13.4 单机版游戏
2.将上面的游戏改为双人游戏,如图13.5所示。可以看出此时左边的红蓝球正在向右边的红蓝球发起进攻。数码游戏由单人游戏改进为双人游戏,甚至可以是多人游戏。
图13.5单机版双人游戏
3.最后系统添加了一些智能红蓝球,它们用有灰色的边缘,它们会像有一定智能的机器人一样,主动进攻玩家,当然也可以被玩家吃掉,游戏变得更加有意思了,如图13.6所示。
图13.6增加智能红篮球的游戏
4.畅想一下,如果整个游戏场景中都是互相竞争的“机器人”,如图13.7所示,最后的结果会是怎样?
图13.7 人工智能模拟
视野拓展
游戏正在改变人们的生活,特别是传感技术的变革,如果你在网上搜索“Scratch体感游戏”,你会找到一些相关资源能够用你的手来控制scratch程序,在Scratch2.0到来的时候,Scratch将会支持摄像头识别,你可以像图13.8那样用Scratch感知你的手的移动。
图13.8 用Scratch侦测手的动作
此外一个重要的Scratch版本是S4A,这个A的意思是传感器版Arduino和智能手机平台安卓,使用如图13.9所示的这种控制板,你不但可以感知温度等外界信息,你还可以控制马达、灯这种输出设备,快快下载一个S4A,让你的Scratch程序真正的“动起来”。S4A支持手机触摸屏控制,并且可以和智能手机进行联网共享数据,可以想象你在门外通过手机控制机器人给你开门是一种什么感觉!
图 13.9 Arduino控制板
想了解更多关于Scratch控制板的情况,可以搜索“互动媒体技术”或者“感测与控制技术”了解更多知识。