6. 太空大战(100分)
编程实现:太空大战。具体要求:
1). 点击绿旗,角色、背景如图所示:
2). 战机一直跟随鼠标左右水平移动;
3). 按下一次空格键,战机发射一颗炮弹,炮弹竖直向上移动,当碰到飞碟时,炮弹和飞碟同时消失,如果炮弹移动过程中没有碰到飞碟,炮弹碰到舞台边缘消失;
4). 程序运行后,每隔1秒都会在现有的飞碟群中随机派出一个飞碟,竖直向下移动,当移动中的飞碟碰到炮弹,或碰到底部边缘飞碟消失;
5). 每隔2秒,飞碟阵列会自动下降一行,空出的部分添加一行新的飞碟,第一次增加的飞碟数量为4,第二次增加的飞碟数量为5,以此类推;
6). 当飞碟碰到战机时,此飞碟和战机同时消失,其他飞碟停止出动,游戏结束;
7). 当战机连续消灭10架飞碟后,程序结束。
评判标准:
6分:满足"具体要求"中的1);
4分:满足"具体要求"中的2);
22分:满足"具体要求"中的3);
25分:满足"具体要求"中的4);
23分:满足"具体要求"中的5);
10分:满足"具体要求"中的6);
10分:满足"具体要求"中的7)。
本题难度较大,考查的知识点包括克隆编程、运动编程、变量、事件广播机制、列表等,综合性较强。
一共三个角色,战机、导弹和飞碟
程-序-效-果
6-太空大战
题-目-讲-解
一、思路分析
二、战机
战机一直跟随鼠标左右水平移动;
三、导弹
1.按下空格键,克隆自己
注意:一定要加上【等待按下空格键不成立】这块积木,否则一按空格键,就会发射很多导弹
2.作为克隆体启动
(1)碰到舞台边缘消失
【y坐标>158】需要自己不断调试,找到合适的y坐标
(2)击中飞碟,删除导弹克隆体,也要删除删除飞碟克隆体
导弹:
注意一定要用【广播命中并等待】,否则飞碟识别不到导弹,导弹就删除了克隆体
飞碟:
四、飞碟
1.本题重点,生成每行的飞碟
(1)第1行1个,第2行2个,第3行3个......n行n个
(2)每一行x坐标起点是逐渐向左移动的,x坐标增加-30
(3)给每个飞碟一个ID
(4)>1行飞碟,第2个飞碟向右移动(x坐标增加)
2.生成初始的3行飞碟
3.每隔1秒都会在现有的飞碟群中随机派出一个飞碟,每隔2秒,飞碟阵列会自动下降一行
飞碟克隆体每隔2秒,向下飞
每隔1秒,随机一架飞碟向下飞
五、成功和失败
失败:
成功:
总-结
本题主要考察:克隆、列表、变量、移动和自定义积木
主要难点是飞碟,理解生成的每一行飞碟的特点
- 本题重点,生成每行的飞碟
(1)第1行1个,第2行2个,第3行3个......n行n个
(2)每一行x坐标起点是逐渐向左移动的,x坐标增加-30
(3)给每个飞碟一个ID
(4)>1行飞碟,第2个飞碟向右移动(x坐标增加)