少儿趣味编程Scratch综合实战《坦克大战终极模拟版》(教学案+源文件)

资源下载
  1. 二一教育资源

少儿趣味编程Scratch综合实战《坦克大战终极模拟版》(教学案+源文件)

资源简介

经典游戏《坦克大战》
(
今日任务:
)
将经典游戏《坦克大战》还原于 scratch 程序中,让学生体验真实游戏的设计流程和思 路,具体游戏视频见最下方微课解读!
(1)玩家可以操控一辆己方坦克进行上下左右移动,在移动过程中坦克会被障碍物阻 挡无法逾越必须绕道,玩家可以按下 J 键发射子弹,为了避免按下 J 键连发,程序中添加了 防止连发的指令;当玩家的子弹击中障碍物,障碍物会短暂消失,然后还会再度出现,同时, 当子弹击中了地方坦克, 地方坦克会消失,一会儿还会随机出现;
(2)敌方坦克会在三个不同的位置随机出现, 并且可以边移动变发射子弹,敌方子弹 击中障碍物会击毁障碍物,同时, 敌方坦克击中 castle 或者击中己方坦克,游戏 gameover!
(
本课重难点:
)
(1)如何实现己方坦克通过判断炮管的位置向不同方向发射子弹?
(2)敌方坦克在地图中应该如何移动?
(3)敌方坦克碰到障碍物应该作何反应?
(4)敌方坦克向不同方向开火问题如何解决?
(5)我方坦克、敌方坦克击中不同目标的判断?
(6)游戏失败的定义?
(
任务解读
Thinking
map

)
(
白色背景
) (
被子弹
击中
) (
被坦克
撞到
) (
背景
) (
障碍物
) (
被已方坦
克击中
) (
/
) (
坦克大战
) (
已方坦克
) (



中移动
) (
敌方坦克
) (
向四个方向
开火功能
) (
被地方坦克
炮弹击中
) (
向四个方向
开火功能
) (
移动中碰
到障碍物
)
(
Game over
背景
2
)
如何界定失败?
(
上下左右键移动
)
(
移动中碰
到障碍物
)
程序分析:
(1)背景:可分为正常背景和失败背景;
(2)己方坦克:键盘控制坦克的左右移动;
键盘控制坦克发射子弹;发射子弹的瞬间判断坦克的朝向,可以实现向四个 不同的方向发射子弹;
被障碍物阻挡做出反应;
(3)敌方坦克: 在屏幕指定位置出现;
在屏幕上移动; 移动过程中碰到障碍物和边缘做出反应;可以向四个不同的 方向发射子弹;
(4)障碍物:被击中后一段时间内消失再出现;阻挡坦克。
(
程序设计:
)
第一步:搞定背景, 共两个背景 1 和 2;1 为白色背景, 2 为 game over 背景!
第二步:搞定已方坦克(Sprite1)
首先完成 Sprite1 的绘制工作:
然后, 搞定 Sprite1 的脚本:
(1)控制己方坦克上下左右移动的脚本, 不解释
(2)向不同方向开火的脚本解决方案
判断开火时,坦克的 朝向!
先猜测一下,谁接收四 个方向开火的广播?
(3)在移动中碰到障碍物或者被地方坦克子弹击中的解决方案
否则无法遮挡住子弹!
分别是横、竖障碍物的角色名!
碰到障碍物后退!
聪明的你估计已经能猜 到,这三个判断是判断 碰到了什么的吧?
第三步:已方坦克发射子弹解决方案
能猜到是谁广播的 么?
坦克方向朝上时按下 J 键发射
子弹就位
(
发射方向
)
第四步:障碍物解决方案
被己方坦克击中!
再度显示!
被敌方坦克击中, 同样的效果!消失 然后显示!
第五步:敌方坦克解决方案
规定开始出现 位置和朝向!
碰到障碍物!
后退!
改变下次的移动方向!
被己方坦克子弹击中!
广播被击中,想想谁接收?
第六步:已方坦克子弹解决方案
(
子弹就位!
)
子弹击中障碍物!
判断条件! 仔细想想很简单!
不同方 向发射 出去!
第七步:castle“老巢”解决方案
学案中没有列举出更多的程序,比如另外两个敌方坦克、地方坦克子弹和其他障碍物的脚本, 大同小异, 请自行设计!
课后思考
(1)该游戏中没有设置胜利的条件, 思考一下?
(2)如何实现坦克朝着 castle 的方向移动攻击,而不是漫无目的的闲逛?
(3)作为一个游戏来说, 没有添加计时器和积分变量显然是不合适的, 自行添加吧!

展开更多......

收起↑

资源预览