### 简介
在这个项目中,我们将学习如何创建一个2人足球游戏,在30秒内尽可能多地进球。
点击绿旗开始,使用左右方向键控制守门员,按空格键踢球。

### 资源获取

想要获取项目文件,可扫码关注“小石头编程”公众号,回复“**守门员**”获取下载地址。
### 能学到的知识
在这个项目中,我们可以学到以下知识:
- 如何使用代码响应按键操作
- 使用感应积木检测精灵是否接触到彼此
- 使用广播积木在精灵之间进行通信
### 项目制作
#### 1、移动足球
在这个项目中,需要一个门框背景、一个足球和一个守门员精灵,下面是资源图片



添加足球和守门员角色,将背景设置为门框背景。
点击我们的足球精灵。添加以下代码,让足球沿着屏幕底部移动,直到按下空格键。

点击绿色旗帜测试项目,足球应该沿着屏幕底部弹跳,直到按下空格键。

在足球精灵上添加以下代码,使得在按下空格键后,足球会向门框移动。

点击绿色旗帜测试代码。这次,按下空格键后,足球应该向门框移动。

> 点击绿色旗帜测试代码。如果第二次点击旗帜会发生什么?
> 第二次点击时,球可能会在不正确的位置。我们需要在绿旗点击时,重置球的位置

#### 2、判断是不是一个进球
当球到达门框后,需要做出判断。如果球接触到守门员,则为扑救成功,否则就是进球。
在足球精灵代码的末尾添加以下代码,以便检查球是否接触到守门员。

当球碰到守门员时,可以向守门员广播一条消息,告诉守门员,球被扑救了。
当球被扑救时,广播一条'save'消息,同时播放声音'rattle'。
现在可以编写守门员的代码,当收到'save'消息时说'Save!'。

测试代码,检测守门员扑救成功时,应该说'Save!'。

如果没有碰到守门员,则广播一条'goal'消息,告知守门员进球了,同时播放声音'cheer'。
给守门员添加以下代码,当收到'goal'消息时说'Goal!'。

测试代码,当进球时,守门员会说什么

#### 3、添加一个定时器
让我们添加一个计时器,这样玩家就必须在30秒内尽可能多地进球。
首先添加一个变量"timer", 然后在舞台上添加代码,在开始时,将变量"timer"设置为30

接下来,我们需要添加一个重复直至积木,这样计时器就可以一直运行直到倒计时到0。

一旦计时器倒计时到0,我们播放'whistle'声音,然后停止游戏。

点击绿色旗帜测试代码,计时器应该从30开始倒计时,直到0。
目前只有一次进球的机会,要有多于一次的机会,请在足球代码周围添加一个永远执行积木,还可以在每次尝试之间添加一个等待积木。

#### 4、挑战: 添加一个得分
我们能为游戏添加一个得分变量吗?
我们应该在游戏开始时将得分设置为0,每次进球时,应该给得分加1。
我们需要下面2个积木:

#### 5、控制守门员
进球实在太容易了,让我们让第二个玩家来尝试阻挡进球。
点击守门员精灵,添加以下代码来改变守门员的x轴位置,当按下左箭头时

按下左箭头测试新代码,守门员应该向左移动。
下面让我们添加向右移动的代码,当按下右箭头时

#### 6、挑战:手动控制足球
与其足球自动左右移动,不如让玩家用A和D键来控制足球的移动。
要做到这一点,我们需要删除让足球左右移动的代码。

然后我们可以添加代码来实现在按键时移动足球,让我们尝试去完成挑战吧。