第一篇:飞机大战总结
江西理工大学应用科学学院
个人实习总结
实习类型 教学实习_ 实习单位 智游教育 _ 实习题目 飞机大战 _ 指导教师 看看 _ 所在院系 信息工程系 _ 班 级 电子信息122班 _ 姓 名 看看 _ 学 号 12345678988 _
一、实习时间和地点
时间:2015.06.25-2014.07.05 地点:1栋1503
二、实习的内容
1、介绍
本次实习制作的飞机大战游戏是在VMware Workstation 10软件的虚拟机ios环境下制作的一款桌面游戏,界面简洁流畅、游戏方式简单。
2、流程图
3、功能概述
①
实现闪屏。游戏运行前先显示一张图片,图片显示一段时间然后消失,接着游戏开始启动。
②
实现游戏背景。游戏运行时背景不断下落。
③
实现敌机。敌机随机产生,数量不定,以随机的速度从主屏幕上方下落,当子弹击中敌机,敌机爆炸消失。
④
实现主机。主机只有一架,由鼠标控制移动,移动过程中鼠标击中点始终主机的中心点重合。
⑤
实现子弹。子弹由主机发出,数量不定,连续产生,若子弹飞出主屏幕则自动消失,若子弹击中敌机子弹消失。
4、变量声明
① 背景变量:bgImgv 和bgImgv1 UIImageView * bgImgv;UIImageView * bgImgv1;bgImgv 和bgImgv1是两张背景图片,利用两张图片的交替变化实现背景图片不断下落。
② 敌机变量:djArray、dj、count、vx、vy NSMutableArray * djArray;DjImageView * dj = [[DjImageView alloc] init];Static int count;Float vx;float vy;djArray是储存敌机的数组;dj是敌机这个对象;count是计数变量用来生成敌机;vx是敌机的横向速度,vy是敌机的纵向速度。③ 主机变量:fj FXQImageView * fj;fj是主机这个对象。
④ 子弹变量:zdArray、count、zd、NSMutableArray * zdArray;
Static int count;zdImageView * zd = [[zdImageView alloc] init];zdArray是储存子弹的数组;zd是子弹这个对象;count是计数变量用来生成子弹。
⑤ 闪屏变量:sunli UIImageView * sunli;Sunli是闪屏图片,用来实现闪屏功能。⑥ state Int state;State是开关变量,用来控制程序执行的顺序。
5、程序测试
1)初始化state=2,运行splash函数,加载闪屏图片,让图片逐渐变透明,三秒后完全消失,然后调用stop函数,stop函数将图片移除,使state=0。2)state=0执行调用加载游戏函数loadGame。
3)loadGame函数依次调用加载背景函数loadBg、加载敌机函数loadDj、加载飞机函数loadFj、加载子弹函数,加载完成后state=1。4)State=1执行调用运行游戏函数runGame。
5)runGame函数依次调用运行背景函数runBg、运行敌机函数runDj、运行飞机函数runFj、运行子弹函数runZd。
runBg:实现背景图片不断下落。
runDj:使敌机随机分布随机产生,让敌机以不一样的速度垂直下落。
runFj:利用两张飞机图片交替出现来实现飞机动态。
runZd:实现子弹连续的发射,若子弹飞出主屏幕子弹消失。
6)若子弹击中敌机运行hitDj函数,hitDj函数实现子弹击中敌机时,子弹和敌机消失,即将dj 和zd 从它们所在的数组中移除,敌机移除后立即调用beHit函数,biHit再调用run函数。run函数用敌机爆炸的一系列图片来制造出敌机爆炸后消失的动态效果。
6、游戏运行界面概述
程序运行后主界面如下,敌机随机分布,子弹由主机发射。
三、心得体会
飞机大战的游戏是基于ios虚拟机在VMware Workstation 10软件上实现的,所以通过这次实习,把以前忘掉的,不会的,不熟的知识点重新了一遍,每当遇到问题,自己可以查课本,或者上网,询问老师和同学,增强了自己的自学能力,为以后的学习和工作,打下了坚定的基础。通过此次实训让我更加的了解到自己存在的不足之处例如;自己的马虎,导致一个小小的输入错误,导致出现错误,并且调试也弄不明白是怎么回事,后来发现竟然是变量的混乱造成的,所以在以后的实践中我要更加的仔细,同时我也需要提高自己的实践能力。这次实习使我对编程有了新的认识和定义,其实程序的编程不是枯燥和乏味的,而是包含着轻松和愉悦,每当自己解决了一个刺手的问题后,自己都有一种成功感,我坚信在以后的时间里我一定会更加了解掌握编程,有一个美好的未来。
第二篇:Unity3D【飞机大战项目总结】
Unity3D——飞机大战项目总结
学飞机大战好几天了,今天就总结一下飞机大战所学的知识,所遇到的困难,还有常出现在错误。
一:资源包的导入,场景的搭建步骤不在阐述在这包的导入和创建新文件夹在回顾一下Scences存放场景视图,Scripts存放脚本,Resources存放资源包,资源包下有Textures存放图片,Materials存放材质,Audios存放声音,Madels存放模型。
二:脚本的建立
(1)玩家的飞机的前后左右的移动代码如下:
float x = Input.GetAxis(“Horizontal”);//左右移动 float z = Input.GetAxis(“Vertical”);//前后移动 transform.Translate(-x,0,-z);(2)子弹的不停发射我们采用了鼠标事件用if判断代码如下:
if(Input.GetMouseButtonDown(0)||Input.GetKey(KeyCode.Space))//鼠标左键或空格发射子弹
(3)子弹的个数我们用克隆的方法代码如下:
GameObject u=GameObject.Instantiate(yushe,transform.position,Quaternion.identity)as GameObject;//Instantiate有三个参数一个是所克隆的对象,第二个是所克隆的位置,第三个是位置。
(4)在克隆出子弹时,子弹是静止不动的,我们在给它加个力,有于我这个脚本是挂在子弹预设体上的代码如下:
u.rigidbody.AddForce(0,0,-8000);//有三个参数,一个是X轴的力,一个是Y轴的力,一个是Z轴的力。
(5)敌机的飞行就按傻瓜的来所代码如下:
transform.Translate(new Vector3(0,0,-1));//有三个参数,一个是X轴的飞行,一个是Y轴的飞行,一个是Z轴的飞行。
(6)敌机的子弹发射也是傻瓜类型代码如下: float rocketTime=1;//给敌机所发射的时间
rocketTime-= Time.deltaTime;//时间递减 if(rocketTime<=0){//如果时间小于零为真 rocketTime=1;GameObject
aa=GameObject.Instantiate(EnPeoRo2,transform.position,Quaternion.identity)as GameObject;aa.rigidbody.AddForce(0,0,8000);//给敌机子弹加力
(7)子弹的销毁,脚本添加给玩家子弹的预设体上代码如下:
Destroy(this.gameObject,2);//俩个参数一个是销毁目标,而是几秒后所消失
(8)敌机子弹的消失,脚本添加给敌机脚本代码如下:
Destroy(this.gameObject,2);(9)玩家子弹打到敌机时,敌机消失代码如下 void OnTriggerEnter(Collider aa){//添加触发器
if(aa.tag==“PlayRocket”){//如果玩家的子弹碰到标签为PlayRocket则为真 //Debug.Log(collision.gameObject.name);
Destroy(this.gameObject);//销毁目标
}else if(transform.transform.position.z>=227){//当敌机飞出电脑屏幕敌机自动 } } Destroy(this.gameObject);销毁
(10)当敌机子弹打到玩家飞机时则玩家飞机生命减少,若干次销毁代码如下;void OnTriggerEnter(Collider aa){
}
if(aa.tag==“EnenmyRocket”){//打到一次
} i--;//生命建少一次 if(i==0){//当减为零时为真 Destroy(this.gameObject);}//销毁目标
具体代码如下:
玩家飞机代码public class PlayerPlan : MonoBehaviour {
public GameObject yushe;int i=2;// Use this for initialization void Start(){ }
// Update is called once per frame void Update(){
float x = Input.GetAxis(“Horizontal”);float z = Input.GetAxis(“Vertical”);transform.Translate(-x,0,-z);if(Input.GetMouseButtonDown(0)||Input.GetKey(KeyCode.Space)){ GameObject
u=GameObject.Instantiate(yushe,transform.position,Quaternion.identity)as GameObject;
} void OnTriggerEnter(Collider aa){
}
if(aa.tag==“EnenmyRocket”){
} i--;if(i==0){ Destroy(this.gameObject);} } u.rigidbody.AddForce(0,0,-8000);}
玩家子弹代码如下: using UnityEngine;using System.Collections;
public class PlayRicket : MonoBehaviour {
} 敌机子弹代码: using UnityEngine;using System.Collections;
public class EnProRock2 : MonoBehaviour {
public GameObject EnPeoRo2;float rocketTime=1;// Use this for initialization void Start(){ }
// Update is called once per frame void Update(){
} //this.gameObject.rigidbody.AddForce(Vector3.back);Destroy(this.gameObject,2);// Use this for initialization void Start(){ }
// Update is called once per frame void Update(){
rocketTime-= Time.deltaTime;if(rocketTime<=0){ rocketTime=1;GameObject
aa=GameObject.Instantiate(EnPeoRo2,transform.position,Quaternion.identity)as GameObject;
} } aa.rigidbody.AddForce(0,0,8000);} 敌机代码如下: using UnityEngine;using System.Collections;
public class EnenmyPeople2 : MonoBehaviour {
}
if(aa.tag==“PlayRocket”){
} } // Use this for initialization void Start(){ }
// Update is called once per frame void Update(){ } void OnTriggerEnter(Collider aa){ transform.Translate(new Vector3(0,0,-1));//Debug.Log(collision.gameObject.name);
Destroy(this.gameObject);}else if(transform.transform.position.z>=227){ Destroy(this.gameObject);//想了解更多到狗刨学习网
第三篇:大战60天劳动竞赛总结文档
XXXX公司“大战60天劳动竞赛”总结
根据公司《关于开展“大战六十天,确保XX目标双过半”劳动竞赛的通知》精神,电子电源公司结合公司党委“我为XX做贡献”宣传教育活动,积极组织车间员工投身劳动竞赛活动中,加强组织领导、明确目标任务、紧扣时间节点、适时检查考核,尽可能调动一切积极因素,采取一切措施,想尽一切办法,经过全体员工的共同努力,竞赛项目完成情况良好,现总结如下:
一、领导重视,组织得力。车间成立劳动竞赛活动领导小组全面负责,及时进行了宣传和动员,充分调动和发挥基层班组的积极性和主动性,车间将生产任务落实到班组,班组落实到员工,任务层层分解,责任层层落实,做到人人头上有指标,个个肩上有担子,整个车间你追我赶,营造了一种良好的竞赛氛围。
二、周密部署,合理安排。根据生产处下达的竞赛项目和时间节点,车间制定详细的劳动竞赛计划,正排工序,反推节点,注重生产过程控制,适时协调解决问题,始终牢固树立“产品质量第一”,“没有质量就没有进度”和“没有质量就没有效益”的思想,精心组织,科学安排,主动协调,充分发挥各班组的作用,调动各种资源,从生产准备、工艺技术支持、生产过程控制协调、产品质量监督检查等全程控制,各项任务完成良好。
三、竞赛活动有序开展
1、活动小组每周组织竞赛项目检查。重点关注生产准备、工艺技术支持、生产过程控制协调、产品质量监督检查等全程控制,通
过每天的生产碰头会及时协调处理各种生产问题,确保项目的受控。
2、大力宣传,通过看板、黑板报张贴宣传标语口号,营造活动氛围,为生产加油鼓劲。
3、组织劳动竞赛突击队,抢时间、抢进度、抓质量,树立一切为了竞赛项目的思想,抓好员工的思想素质建设,整个车间步调一致,协同作战,完成各项军民品任务,劳动竞赛其间,车间员工积极响应工厂号召,主动放弃休息时间,义务加班讲奉献,累计达500人次近1万小时。
4、各项任务完成良好(举例项目)。
通过本次劳动竞赛活动的开展,XX车间员工的生产积极性进一步提高,车间突击生产能力得到了有效发挥,各种资源进一步整合,整个车间正逐步形成科学、有序、合理的生产局面,在此基础上,车间将不断总结竞赛活动经验,再接再厉,确保全年各项生产任务的顺利完成,为实现XX目标贡献力量。
XX公司 二〇一〇年六月三十日
第四篇:scratch3.0_前置课_第九讲飞机大战讲义无logo
软件编程系列课讲义
Scratch前置课第九讲:飞机大战
一、教学目标
1、掌握播放声音()等待播完、克隆【克隆(自己)、当作为克隆体启动时、删除此克隆体】、在()和()之间取随机数、重复执行直到()、广播【广播()、当接收到()】、变量【将()设为()、将()增加】的积木脚本使用。
2、学习积木的组合使用。
二、主要程序脚本
编号
详细内容
功能描述
【1】
“播放声音()等待播完”
播放指定的声音,声音播放结束再执行后面的脚本
(可选选项为角色中的声音名称)
【2】
“克隆(自己)”
以递归的方式克隆指定角色
(克隆选项为各个角色的名称)
【3】
“当作为克隆体启动时”
当角色作为克隆体被创建时执行该积木下方的程序脚本
【4】
“删除此克隆体”
删除相应的克隆体
(只能在“当作为克隆体启动时”积木下使用)
【5】
“重复执行直到()”
该积木内的脚本一直执行直到指定的条件为真
【6】
“在()和()之间取随机数”
返回从第一个指定数到第二个指定数之间,包含两个端点的伪随机数
(可填入整数或小数,前后数字均为整数时返回值为整数)
【7】
“广播()”
用于角色发送消息指令
【8】
“当接收到()”
用于角色接收指定的广播消息,接收后执行该积木下方的程序脚本
(接收内容为建立的广播消息)
【9】
“将()设为()”
用于给指定的变量设置为指定的字符串或数字
(变量选项为建立的变量名;设为数字时舞台区小数点后可显示六位)
【10】
“将()增加()”
按给定的值更改指定变量
三、课堂准备
编号
名称
内容
来源
备注
【1】
PPT课件
课堂全流程演示文稿
火星科学盒官网
【2】
课程资料
PPT课件、讲义、视频
火星科学盒官网
【3】
学生上课使用器材
笔记本电脑或者台式电脑
老师自备
电脑建议使用Windows系统,苹果电脑和Linux系统需要从官网上单独下载对应的软件
游戏手柄
火星人商城采购
飞机大战初始程序
网盘链接下载
【4】
编程软件下载
Scratch3.0
火星科学盒官网
火星科学盒官网在线编辑版
离线下载版
安装好后测试一下是否可以使用
四、上课流程
本节课包括7步具体流程:
(1)第1步为引入部分,可以通过一个小故事邀请学生帮助老师一起制作一个飞机大战的小游戏。时长控制在10分钟内。
(2)第2步为角色功能分析,通过展示效果视频分析角色的动作,对任务进行拆分。时长控制在5分钟内。
(3)第3-6步为项目制作,首先任务一为游戏添加背景音乐;之后复习克隆积木的组合使用,实现炮弹的持续发射。任务二中修改敌机脚本使用,实现敌机碰到下边缘时返回起始位置;修改起始位置为随机;使用重复执行直到()实现碰到闪电号时停止移动;最后使用广播和变量的相关积木实现游戏失败和胜利的效果。时长控制在65分钟内。
(3)第7步为总结与巩固,考察对本节课重点知识脚本和脚本逻辑的掌握。时长控制在5分钟内。
上课步骤
主要内容
备注
【第1步】引入
【对应PPT】“开始页”
【时长】10min
【引入】老师有一个好朋友XXX,他一直有一个梦想,就是开着战机在天空中翱翔,但是他年纪还太小了,和大家的年纪一样,他现在还不能实现这个梦想,所以他最近特别沮丧。那为了让XXX开心起来,我就想了一个办法,就是制作一个飞机大战的游戏,让XXX能在游戏中体验一下开着战机翱翔的感觉。那老师现在只做了一部分,剩下的一部分同学们帮助老师一起来完成怎么样?
故事尽量讲得生动有趣,课堂引入时多和学生互动。
【第2步】角色功能分析
【对应PPT】“项目拆解”
【时长】5min
【衔接话术】那下面我们就先来看一下最终要完成的效果,这样我们就能知道接下来要完成哪一部分了,同学们一定要认真看哦
【提问】在视频中敌机是如何移动的?敌机是从上方随机位置出现还是固定位置出现的?什么时候游戏会胜利,什么时候会失败?(学生回答)
【总结】敌机角色从舞台区上方随机位置出现并向下移动,碰到炮弹或舞台下边缘时会消失并重新从上方出现;游戏得分等于50时游戏胜利,敌机和闪电号碰到时游戏失败。
点名提问学生视频中的角色效果。
【第3步】播放背景音乐,炮弹持续发射
【对应PPT】任务一播放背景音乐,炮弹持续发射
【时长】20min
【衔接话术】刚刚我们已经分析了游戏效果,那下面我们就一步步地把游戏补充完整,首先咱们先让游戏能够播放一首好听又激昂的背景音乐。
【提问】可以放在重复执行中使用的播放声音的积木是什么?(学生回答)
【讲解】“播放声音()等待播完”积木可以放在“重复执行”中,因为我们要播放背景音乐,也就是让音乐一直播放,所以要使用到“重复执行”,那么选择用来播放声音的积木就是“播放声音()等待播完”。(等待学生拼接)(程序样例见“第五部分
–
程序1-1”)
【衔接话术】背景音乐已经可以播放了,那下面咱们来补充炮弹这个角色的积木。让闪电号能够不停地发射炮弹。
【讲解】在炮弹这个角色中已经有了这样一组积木,这组积木中角色作为克隆体启动时会显示出来,从闪电号出发,之后会一直向上移动,在碰到边缘和敌机时就会消失。
【提问】我们拼接了这样一组积木,为什么不能实现炮弹持续发射的效果呢?现在这组积木是让克隆体还是让原角色执行的?(学生回答)
【讲解】这组积木是让克隆体执行的,也就是说克隆出新的炮弹后,新的炮弹会从闪电号出发向上发射。但是在炮弹角色中并没有克隆自己的积木,也就是说没有克隆体能够执行这组积木,所以就没有炮弹持续发射的效果。
【提问】如果想让炮弹持续不断地发射,就需要让炮弹不停地克隆自己,使用什么积木能够让炮弹不停地克隆?(学生回答)
【讲解】使用“重复执行”积木让炮弹不停地克隆,为了让炮弹克隆的没有那么快,需要添加“等待()秒”积木,让炮弹每隔0.1秒克隆一次。因为原角色只能停留在原地克隆自己,所以为了不让它影响画面,需要添加“隐藏”积木把原角色隐藏。(等待学生拼接)(程序样例见“第五部分
–
程序1-2”)
1.本节课中用到的基本是学习过的积木,在制作时,主要使用提问的方式带领学生复习;
2.复习克隆相关积木时,重点说明一下克隆自己、当作为克隆体启动时与删除此克隆体积木时通常是组合使用的。
【第4步】任务一梳理
【对应PPT】任务一梳理
【时长】5min
【衔接话术】刚刚已经实现了炮弹持续发射的效果,那老师来考考同学们,看看同学们对积木掌握得怎么样
【提问】如何让多个同样的角色出现在舞台区?(学生回答)
【讲解】使用克隆可以让多个同样的角色出现在舞台区。
【提问】和克隆相关的积木有哪些?(学生回答)
【讲解】和克隆相关的积木有“克隆(自己)”、“当作为克隆体启动时”和“删除此克隆体”
【提问】这三个积木分别能够实现什么样的功能效果?(学生回答)
【讲解】“克隆自己”可以复制原角色,产生新的角色;“当作为克隆体启动时”是让克隆体执行命令;“删除此克隆体”实现删除当前克隆体的效果。
在提问过程中可以进行引导性提示。
【第5步】修改敌机脚本、制作胜利失败
【对应PPT】任务二砖块的随机出现
【时长】25min
【衔接话术】闪电号的炮弹可以不停地发射了,同学们是不是已经准备开着闪电号去大干一场啦?但是现在有一个问题,敌机从上向下飞行,在到达舞台下边缘后就卡住不再动了。它卡在了舞台下边缘,既打不中它,也没有新的敌机出现,这可怎么办呢。下面我们就想办法解决一下这个问题。
【提问】同学们有没有什么办法能够解决呢?(学生自由回答)
【话术】同学们的想法都很不错呀,老师这里也有一个想法,就是让敌机碰到舞台下边缘后就回到初始位置。但是这里有一个问题,没有直接侦测角色碰到舞台下边缘的积木怎么办呢?
【提问】同学们还记得在弹球打砖块那节课中是如何侦测小球碰到舞台下边缘的吗?(学生回答)
【讲解】可以侦测角色的y坐标,当角色的y坐标小于角色放置在舞台下边缘时的y坐标数值,角色就一定碰到了下边缘。可以先在舞台区拖动敌机角色,让敌机的头部贴近舞台下边缘,然后记录一下角色区y后的数值,填入“(y坐标)<()”中去。之后,是实现敌机碰到下边缘时移到初始位置。
【提问】让角色移动到一个固定坐标位置的积木是什么?(学生回答)
【讲解】“移到x()y()”积木让角色移动到一个固定的坐标位置,在这个积木中填入的数值和设置敌机初始位置的积木中的数字是相同的。(等待学生拼接)(程序样例见“第五部分
–
程序2-1”)
【衔接话术】运行作品之后可以看到,敌机碰到舞台下边缘之后能够返回初始位置了,但是,现在敌机只会从同一个位置出现,这样的话我们只要把闪电号移动到那个位置的下面就一定能够打中敌机。这样的游戏真没意思,XXX也肯定不会喜欢的。下面咱们就修改一下积木,让敌机能够从舞台区上方的随机位置出现。
【提问】敌机从一条横线的随机一个位置出现时,敌机的哪个坐标是不变的,哪个坐标是变化的?(学生回答)
【讲解】在一条横线上,角色的y坐标是固定不变的,x坐标是改变的。
【提问】能够让x坐标取到随机数的积木是什么?(学生回答)
【讲解】“在()和()之间取随机数”积木,可以将x坐标设为随机。在这个积木中填入的数字应该在-180~180之间,之后,取随机数的积木应该放在敌机角色的脚本中三个“移到x()y()”中x坐标的后面。因为这三个积木都是为了让敌机移到初始出发的位置。(等待学生拼接)(程序样例见“第五部分
–
程序2-2”)
【衔接话术】到这里,我们的游戏主体就完成了,现在可以控制闪电号去攻击敌机了。既然咱们制作的是一个游戏,那这个游戏肯定会有失败和胜利的情况。下面我们就先来完成游戏失败。
【提问】同学们还记得游戏什么时候会失败吗?(学生自由回答)
【讲解】在敌机和闪电号碰到的时候游戏会失败,游戏失败的时敌机会先停止移动,之后,失败角色显示并停止游戏。也就是说敌机会一直移动直到碰到闪电号,能够让敌机一直不停地向下移动使用的是“重复执行”,现在让敌机碰到闪电号时停下来,也就是给重复执行添加了一个停止条件。
【提问】给重复执行添加了一个停止条件的积木是什么呢?(学生回答)
【讲解】“重复执行直到()”在满足“直到”后填入的条件时,就会停止这个积木中的脚本,向下执行其他脚本。现在让敌机一直移动直到碰到闪电号,应该在“直到”后面填入的是“碰到(闪电号)”,然后把“重复执行”积木替换成刚刚拼好的“重复执行直到(碰到闪电号)”。(等待学生修改)(程序样例见“第五部分
–
程序2-3”)
【衔接话术】现在,敌机已经停下来了,下面就是让失败角色显示,并且停止游戏了。
【提问】敌机停止移动后,失败角色就要显示出来。失败角色如何能够知道敌机已经停止移动了呢?(学生回答)
【讲解】应该使用广播,让敌机在碰到闪电号后广播消息,失败在接收到消息之后,使用“显示”积木显示出来,之后使用“停止全部脚本”来停止游戏。
【提问】敌机在碰到闪电号之后才会广播失败消息,应该把“广播(失败)”放在敌机脚本积木的什么位置呢?(学生回答)
【讲解】应该放在“重复执行直到()”的下面,因为敌机碰到闪电号后就会执行“重复执行直到()”积木下的命令。(等待学生拼接)(程序样例见“第五部分
–
程序2-4和程序2-5”)
【衔接话术】到这里,失败效果就制作完成了,接下来就是添加游戏胜利的效果。游戏是在得分等于50的时候胜利,所以我们需要先添加得分,炮弹每击中一次敌机就得一分。
【提问】需要新建什么来记录游戏的得分?能够实现得分增加的积木是什么?为得分设置初始值的积木是什么?(学生回答)
【讲解】需要添加变量来记录得分,使用“将(得分)增加()”可以实现得分的增长,使用“将(得分)设为()”来设置得分的初始值。敌机碰到炮弹时得分才会增加,因此“将(得分)增加()”放在敌机角色脚本“如果碰到炮弹那么…”的里面。(等待学生拼接,拼接完成后给出答案检查)(程序样例见“第五部分
–
程序2-6”)
【衔接话术】得分已经添加完成了,接下来实现得分等于50时游戏胜利的效果。
【提问】游戏胜利时显示的效果有什么?(学生回答)
【讲解】游戏胜利时胜利角色会显示,之后游戏停止。让敌机角色一直判断得分是否等于50,在得分等于50时给胜利角色发送广播,胜利角色接收到广播胜利后,显示并停止游戏。也就是如果得分=50,那么广播胜利。(等待学生拼接,之后给出答案检查)(程序样例见“第五部分
–
程序2-7和程序2-8”)
1.在敌机从上方随机边缘出发这一步中,在()和()之间取随机数这个积木应该放在三个移到x()y()中;
2.在实现失败和胜利效果时,注意提醒学生需要拼接脚本的积木。
【第6步】任务二梳理
【对应PPT】任务二梳理
【时长】5min1、这组积木拼接在了哪个角色上;
2、实现了什么样的效果?
在提问过程中可以进行引导性提示。
【第7步】总结与巩固
【对应PPT】总结与巩固
【时长】5min
【衔接话术】同学们这节课表现得非常棒,和老师一起帮助XXX制作了一个飞机大战的游戏,XXX收到这个游戏后肯定会特别开心的。下面呢,还有一个练习题要考考大家。
【我问你答】
在提问练习题时,可以先给出:记录每一次游戏得分,所以得分应该从0开始增加。这样的提示。
Q.小呆想要用变量记录每一次游戏的得分,这样拼接脚本可以实现吗,为什么?
A.不可以,因为没有设置变量的初始值,得分不是从0开始增加的。
五、主要程序说明
程序样例编号
程序样例与说明
对应的角色
1-1
(任务一最终版程序的一部分)
【程序1-1描述】作品运行后,不停播放背景音乐。
【背景】
1-2
(任务一最终版程序的一部分)
【程序1-2描述】作品运行后,炮弹原角色隐藏,每隔0.1秒有一个新的炮弹出现在舞台区。
【炮弹】
2-1
【程序2-1描述】敌机从(-74,180)的位置出发向下移动,被炮弹击中时发出爆炸声音并回到初始位置,到达舞台下边缘后也回到初始位置。
【敌机】
2-2
【程序2-2描述】敌机从舞台区上边缘的随机位置出发向下移动,被炮弹击中时发出爆炸声音并回到初始位置,到达舞台下边缘后也回到初始位置。
2-3
【程序2-3描述】敌机从舞台区上边缘的随机位置出发向下移动,被炮弹击中时发出爆炸声音并回到初始位置,到达舞台下边缘后也回到初始位置,在碰到闪电号时,敌机会停止移动。
2-4
【程序2-4描述】敌机碰到闪电号时会停止移动,之后广播失败消息。
2-5
(任务二的最终版程序的一部分)
【程序2-5描述】失败角色在接收到敌机发送的失败消息后会显示出来,并停止游戏运行。
【失败】
2-6
【程序2-6描述】作品运行后,得分初始化为0,敌机从舞台区上边缘随机位置出发向下移动,被炮弹击中后得分加1,播放声音爆炸并回到初始位置,继续向下移动。碰到闪电号时停止移动。
【敌机】
2-7
(任务二的最终版程序的一部分)
【程序2-7描述】得分=50时,敌机广播胜利消息。
2-8
(任务二的最终版程序的一部分)
【程序2-8描述】胜利角色接收到胜利消息后显示出来,之后停止游戏
【胜利】
第五篇:折飞机游戏总结
折纸飞机游戏总结
说明:此总结中仅公布本人所在和负责的第三小组,其他小组结果不作分析总结,在此省略。
人员分组说明:4个活动小组,每组至少9人。
小组分工安排:其中1人负责材料取送和纸飞机成品上交,1人负责质量检查,1人监督其他小组是否有游戏作弊行为,以上3人均不能参加折叠工作。然后在其他人员中选择出6人负责折叠。
飞机折法说明:(略)
游戏时间安排:练习时间5分钟,实际游戏时间5分钟
游戏结果说明:第三小组 原材料24件,成本24x20=480;最终上交纸飞机成品13件,产值13x120=1560;上交次品0件,扣除0x50=0,最终利润1560-0-480=1080;排名第二。
其他数据说明:游戏结束时,第三小组未上交纸飞机成品3架,生产过程中产生次品3架,即将完成单品4架,半成品1架。
单元数据
-生产人数:6人-工作时间:5分钟-原料数量:24份-上交数量:13架-未上交数:3架-次品数量:3架-即将完成:4架-半成品数:1架
统计数据:
-总生成量:19+4×0.75+1×0.5=22.50架-人均效率:22.50/(5×6)=0.75架/人每分钟-合格比率:16/19×100%=84.21%-质检效率:13/13×100%=100.00%-上交效率:13/16×100%=81.25%
下面着重讲解和分析第三小组的游戏过程和问题说明 1.折法分析:
根据讲师讲解和演示的纸飞机折法总计为8个步骤,这8个步骤按照功能可以分解出两大过程:前4个步骤是折叠出主脉络线,后面4个步骤主要是依据主脉络线按折叠要求完成最终的纸飞机成品。可以说前半部分工序折叠出的主脉络线确定了纸飞机成品主线和边角的整齐一致,直接影响到产品的最终质量。这也是整个折叠步骤中的关键点,对于折叠人员的手法灵巧度和熟练度要求比较高。我们组之后将会依此来确定折叠人员的分工。2.步骤优化:
根据我个人折纸经验,在不缩减主脉络线功能的前提下,我将前4个步骤中第1-3步的“点-点定线”调整为“点-线定线”的方式,优化节省了1个步骤。这样,平均每个单品的完成速度就可以提升大约6-10秒的时间。3.技巧培训:
由于纸张厚度的存在,所以一张纸在不断对折的过程中,除了第一次对折之外,之后每次对折都会使原先所有对折层的边角被挤出偏离最初对齐线大约一个厚度的距离,如果第一次对折就把纸边完全对齐到中心线,那么最终的纸飞机成品就极易出现边角不整齐一致的情况,从而形成次品。所以我要求我们小组的成员进行第一次对折的时候就注意两边和中心线保持大约1毫米的距离,这样就基本保证了在完成4次对折之后纸飞机成品的边角和中心线依然可以很好地保持一致,从而减少次品出现的概率。4.人员安排:
由于操作台面面积有限,我们原本6个人的折叠小组被分解成了5-1组合,这样就致使我们在前3个折法优化培训过程有1人没有能参加进来,从而部分缩减了我们小组团队协作的优势。所以我们真正的分工协作是在5个人当中进行的,根据上述第一步折法分析中按折法步骤功能分出两个协作小队:第一小队2人负责前3个步骤,确定纸飞机主脉络线;第二小队3人负责完成后4个步骤,根据第一小队提供的半成品完成最终产品。
问题:在这里我们被当时相对的“客观环境”给制约了,而我们当时也并没有就这个问题向活动现场提出说明,要求给予解决。这样直接导致了我们分工协作的优势被缩减了,这也是我们为消极接受“客观环境”而付出的代价。5.预算度量:
根据我个人折叠完成一个单品耗费大约45-60秒的时间计算,小组内平均每人5分钟内大约完成纸飞机成品的数量应该在5架左右,由此估算我们组的产出总量应该在25-30架。在安排纸张的时候,我要求提供的数量也是30张,而最终被控制在24张。
问题:事实证明我当时的估算是错误的,就是当练习过程中没有办法统计团队平均生产效率的时候,我贸然使用了我个人相对较高的生产效率作为团队人均生产效率的标准进行估算,并提出了原材料的采购数量(纸张数量),从而出现了成本较高而产出相对较低的不良结果。6.操作过程:
第一步:由于最初没有任何半成品,所以我们折叠小组的工作是从全员折叠半成品开始的。
第二步:在每一位组员完成前3个步骤形成半成品的时候,我们立即执行之前确立的方案,由第二小队3人继续完成纸飞机单品,同时第一小队2人则立即转到半成品制作过程中,提供给第二小队。
第三步:在游戏时间的最后大约半分钟的时间里,如果桌面上依然有库存半成品尚未完成,第一小队2人立即停止手头半成品的制作,帮助第二小队完成所有纸飞机成品;如果没有库存半成品的话,就继续折叠半成品提供给第二小队。
问题:在进行到第三步的时候,由于还剩下原材料一张,我本人并没有按照原计划执行,而是把遗留的最后一份原材料折为了半成品,之后立马又完成单品一架。这个错误的决定使我们团队总成绩中直接损失了成品1架。7.成品上交:
成品投递的失误是导致我们最终上交数量少于实际产出数量的根本原因。