Scratch经典游戏查看课程总览

011 植物大战僵尸1

PROGRAM MAP
编程思路与步骤沿分支从左向右读,再按编号完成
本课作品植物大战僵尸1
1. 作品目标

(1)导入游戏中各类素材

2. 核心要点

问答和课后练习

3. 制作步骤按顺序完成
  1. 01

    读懂“植物大战僵尸1”的任务,明确要看到的运行效果

  2. 02

    梳理本课要点:问答和课后练习

  3. 03

    从事件起点出发,按角色职责连接核心积木

  4. 04

    运行作品,逐项定位问题并完成一次创意改造

4. 运行检查

点绿旗完整运行,逐个角色检查事件、顺序和结果,再完成一次创意改造。

1.学习目标与任务

1.1 学习目标

(1)学习通过点击图标触发不同事件

(2)学习通过点击,将角色放置于指定方格内

(3)克隆的熟练运用

1.2 课堂任务

植物大战僵尸是一款经典的塔防游戏。其中角色较多、动作较为复杂,制作起来也有一定难度。

我们将用3节课通过Scratch实现这个经典游戏!

1.3 作品分析

(1)游戏中共有几种植物可以抵御僵尸入侵?分别是什么植物?

(2)各个植物下方数字所代表的含义是什么?

(3)游戏中是通过什么操作来放置各个植物的?

(4)游戏中植物可以被随机放置在任何位置吗?

(5)如何实现游戏中植物位置的设置呢?

2.编程思路与步骤

2.1 编程思路

(1)导入游戏中各类素材

(2)设置不同卡牌的对应点击事件,当卡牌被点击的时候,如果阳光值足够的话,就广播生成相应植物消息

(这节课只需要设置向日葵、土豆和豌豆射手三种植物)

(3)设置“植物”造型,当接收到“生成**”消息之后,造型就切换成相应造型

(4)“植物”持续跟随鼠标,直到鼠标移动到田地内并被按下

(5)根据鼠标按下位置处的坐标,设置植物被放下时的坐标(植物只能出现在指定方格内,不能在其他地方)

(5)当“植物”被放下后,“植物”隐藏。并在“植物”所在处克隆相应植物。

3.2 编程步骤

(1)导入怪物素材,添加游戏胜利和游戏失败背景

(2)建立变量“阳光值”并将初始值设定为200.设置不同卡牌的对应点击事件

当卡牌被点击的时候,如果当前阳光值大于等于植物所需最低阳光值,广播生成相应植物消息。

否则说“没有足够的阳光值”

(3)设置“植物”造型,当接收到“生成**”消息之后,造型就切换成相应造型

(4)“植物”持续跟随鼠标

(5)跟随过程中持续检测鼠标是否被点击,

如果鼠标被点击并且被点击位置在田地里,就根据被点击位置将植物放下来

(植物只能放到制定田格内,需要通过鼠标坐标计算,当前在第几个田格),并减少相应阳光值

a、只有同时满足鼠标被点击,且被点击区域在田地内的时候才将植物放下

b、因为设置植物被放下坐标这个命令会被重复用到,这里使用了自制积木,这样方便代码重用

(6)当“植物”被放下后,“植物”隐藏,并在“植物”所在处克隆相应植物

4.问答和课后练习

4.1 上述游戏中是使用逐个检测的方法来确定植物被放下位置的,这种方式有什么缺陷?

是否可以通过数据计算的方法来实现呢?

此图像的alt属性为空;文件名为image-149-1024x955.png

4.2 课后习题

请使用计算的方式,确定植物被放下坐标。