您的位置首页  网络科技  电脑软件

用Scratch编程制作一场足球赛

本实例摘自电脑报出版的《Scratch3 .9青少年编程高分宝典》因篇幅限制有较大删改,如果您想系统学习Scratch,夯实编程基础,还是需要买一本系统全面的教程。

1. 足球规则

足球比赛有一整套复杂的规则,Scratch游戏中只能提取最核心且易于实现的规则。首先将双方队员从11人简化为各一人,可以用该角色改变足球运动方向。若球出界,则由对一方发界外球,为了避免出现平局的情况,先得三分一方获胜(图1)。

2. 素材准备

本项目需要一个足球赛场背景,我们搜索图片或用绘制画出球场。球员选择素材库中的不同颜色小球(Ball),足球用沙滩球(Beachball)代替。

球场包含边界,赛场,中线,中心圆,禁区,球门等。示例如图2:

绘制一个球门大小的矩形作为进球检测标记,由于它运行时会隐身,所以颜色可以随意选取。点击矩形会出现右边的中点,尽量将其对准造型中心,完成左边球门的绘制。

右边球门可以直接复制角色,为了保持对称将左边的中心对准造型中心点。因为预备在下方放置计分变量,所以足球场整体需要上移一定距离,两个球门坐标左右对称,我们这里将其分别设为(-207,20)与(207,20),具体坐标取决于背景球门位置,应在球门线外(如图3)。

3. 游戏环节设计

足球角色程序最复杂,我们以足球角色为主,将游戏分为三个环节,首先依然是各项参数设定,包括双方得分和控球标记(用于判断谁的界外球)。

然后是开球阶段,球选好方向后开始运动,运动过程中可以被两个球员角色改变运动方向,若碰到边线则进入罚界外球阶段。

罚界外球可以由玩家用鼠标选择罚球方向。

若碰到球门,则计分并重新开球。一方得分为3时,游戏结束。

4. 球门标记与球员运动

足球碰到球门或边线会进入相应判定,所以我们需要对球门与边线进行标记。边线外场颜色与内场草地颜色不同,可以选取颜色标记,具体程序在足球运动中给出。

球门用方块角色标记,为了美观将其虚像都设为100,可使其隐身且能被触碰(图4)。

球员需要被玩家控制,且能影响足球方向,为了将需求方向传递给足球,我们需要给球员一个明确方向,这里我们使用两套按键控制方向改变,并在碰到足球时,将方向传递给足球。

第一个球员,我们使用“WASD”控制方向。第二个球员使用“上下左右”控制方向(图5)。

5. 开球方向选择与出界判定

开球方向我们使用随机数决定,足球开局会移到足球场中心向对方半场方向移动,并标记开球方触碰足球(图6)。

足球运动过程中,每次移动1步,若碰到球员,则发出声音改变方向为球员运动方向,并标记碰到球员代号。若碰到场外颜色,则广播出界,并后退1步离开边线,停止当前足球运动脚本(图7)。

6. 发界外球设定

出界后,若标记球员为1,则声明2号球员开球,反之则声明1号球员开球。

开球后,标记更新为开球方代号。

为了方便玩家自由选择方向,我们这里使用鼠标继续出界开球。点击鼠标后,球即面向鼠标方向,回到“足球运动”阶段(图8)。

7. 游戏胜利

任意一方进球后,停止足球运动,改变双方比方,重新开球。进球在程序中可以用碰到球门表示。若一方有3分,则获得胜利,游戏结束(图9)。

8. 调试与总结

最后加上初始的参数设定。全部完成后,开始运行调试,并可适当优化位置选择(图10)。

将两个分数变量显示并放在舞台下方(图11)。

本项目通过拆解现实活动中的规则与规律,选择适合改编的部分规则并将其用编程语言表达出来。锻炼使用侦测指令、用广播控制进入不同的游戏阶段的能力。是提高Scratch综合应用能力的好实例。

9. 项目升级

真实的足球比赛实际上是有时间限制的,到时候后根据比分判断输赢,那么我们可不可以设定游戏为2分钟,时间到后根据双方比分判断输赢呢?

58.5元学编程,《电脑报》最新scratch3.9教材上市

由电脑报精心打造的编程教材《Scratch3.9青少年编程高分宝典》目前已经上市,在当当网,京东和淘宝各大平台均有销售,本书以麻省理工大学开发的图形化编程工具Scratch为基础编写和创作而成,是中小学计算机教学和编程入门必备的工具书,本书内容由浅入深,分为4个部分,是目前最具系统性的教材,涉及的算法与综合实战程序调试也是本书的一大亮点。

在每个部分阶段学习完成后,还有编程等级考试真题和编程竞赛真题训练,有利于学生通过真题了解自己的知识掌握水平,学习完本书第一二部分就可以掌握编程等级考试1到3级的内容,学完本书就书就可以掌握参加蓝桥杯编程大赛的知识,真正是计算机老师和编程爱好者首选之作。

定价78.00元 电脑报淘宝优惠价58.5元

电脑报官方企业店(手机淘宝扫一扫)

免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186