第一篇:飛機大戰(zhàn)總結(jié)
江西理工大學應(yīng)用科學學院
個人實習總結(jié)
實習類型 教學實習_ 實習單位 智游教育 _ 實習題目 飛機大戰(zhàn) _ 指導教師 看看 _ 所在院系 信息工程系 _ 班 級 電子信息122班 _ 姓 名 看看 _ 學 號 12345678988 _
一、實習時間和地點
時間:2015.06.25-2014.07.05 地點:1棟1503
二、實習的內(nèi)容
1、介紹
本次實習制作的飛機大戰(zhàn)游戲是在VMware Workstation 10軟件的虛擬機ios環(huán)境下制作的一款桌面游戲,界面簡潔流暢、游戲方式簡單。
2、流程圖
3、功能概述
①
實現(xiàn)閃屏。游戲運行前先顯示一張圖片,圖片顯示一段時間然后消失,接著游戲開始啟動。
②
實現(xiàn)游戲背景。游戲運行時背景不斷下落。
③
實現(xiàn)敵機。敵機隨機產(chǎn)生,數(shù)量不定,以隨機的速度從主屏幕上方下落,當子彈擊中敵機,敵機爆炸消失。
④
實現(xiàn)主機。主機只有一架,由鼠標控制移動,移動過程中鼠標擊中點始終主機的中心點重合。
⑤
實現(xiàn)子彈。子彈由主機發(fā)出,數(shù)量不定,連續(xù)產(chǎn)生,若子彈飛出主屏幕則自動消失,若子彈擊中敵機子彈消失。
4、變量聲明
① 背景變量:bgImgv 和bgImgv1 UIImageView * bgImgv;UIImageView * bgImgv1;bgImgv 和bgImgv1是兩張背景圖片,利用兩張圖片的交替變化實現(xiàn)背景圖片不斷下落。
② 敵機變量:djArray、dj、count、vx、vy NSMutableArray * djArray;DjImageView * dj = [[DjImageView alloc] init];Static int count;Float vx;float vy;djArray是儲存敵機的數(shù)組;dj是敵機這個對象;count是計數(shù)變量用來生成敵機;vx是敵機的橫向速度,vy是敵機的縱向速度。③ 主機變量:fj FXQImageView * fj;fj是主機這個對象。
④ 子彈變量:zdArray、count、zd、NSMutableArray * zdArray;
Static int count;zdImageView * zd = [[zdImageView alloc] init];zdArray是儲存子彈的數(shù)組;zd是子彈這個對象;count是計數(shù)變量用來生成子彈。
⑤ 閃屏變量:sunli UIImageView * sunli;Sunli是閃屏圖片,用來實現(xiàn)閃屏功能。⑥ state Int state;State是開關(guān)變量,用來控制程序執(zhí)行的順序。
5、程序測試
1)初始化state=2,運行splash函數(shù),加載閃屏圖片,讓圖片逐漸變透明,三秒后完全消失,然后調(diào)用stop函數(shù),stop函數(shù)將圖片移除,使state=0。2)state=0執(zhí)行調(diào)用加載游戲函數(shù)loadGame。
3)loadGame函數(shù)依次調(diào)用加載背景函數(shù)loadBg、加載敵機函數(shù)loadDj、加載飛機函數(shù)loadFj、加載子彈函數(shù),加載完成后state=1。4)State=1執(zhí)行調(diào)用運行游戲函數(shù)runGame。
5)runGame函數(shù)依次調(diào)用運行背景函數(shù)runBg、運行敵機函數(shù)runDj、運行飛機函數(shù)runFj、運行子彈函數(shù)runZd。
runBg:實現(xiàn)背景圖片不斷下落。
runDj:使敵機隨機分布隨機產(chǎn)生,讓敵機以不一樣的速度垂直下落。
runFj:利用兩張飛機圖片交替出現(xiàn)來實現(xiàn)飛機動態(tài)。
runZd:實現(xiàn)子彈連續(xù)的發(fā)射,若子彈飛出主屏幕子彈消失。
6)若子彈擊中敵機運行hitDj函數(shù),hitDj函數(shù)實現(xiàn)子彈擊中敵機時,子彈和敵機消失,即將dj 和zd 從它們所在的數(shù)組中移除,敵機移除后立即調(diào)用beHit函數(shù),biHit再調(diào)用run函數(shù)。run函數(shù)用敵機爆炸的一系列圖片來制造出敵機爆炸后消失的動態(tài)效果。
6、游戲運行界面概述
程序運行后主界面如下,敵機隨機分布,子彈由主機發(fā)射。
三、心得體會
飛機大戰(zhàn)的游戲是基于ios虛擬機在VMware Workstation 10軟件上實現(xiàn)的,所以通過這次實習,把以前忘掉的,不會的,不熟的知識點重新了一遍,每當遇到問題,自己可以查課本,或者上網(wǎng),詢問老師和同學,增強了自己的自學能力,為以后的學習和工作,打下了堅定的基礎(chǔ)。通過此次實訓讓我更加的了解到自己存在的不足之處例如;自己的馬虎,導致一個小小的輸入錯誤,導致出現(xiàn)錯誤,并且調(diào)試也弄不明白是怎么回事,后來發(fā)現(xiàn)竟然是變量的混亂造成的,所以在以后的實踐中我要更加的仔細,同時我也需要提高自己的實踐能力。這次實習使我對編程有了新的認識和定義,其實程序的編程不是枯燥和乏味的,而是包含著輕松和愉悅,每當自己解決了一個刺手的問題后,自己都有一種成功感,我堅信在以后的時間里我一定會更加了解掌握編程,有一個美好的未來。
第二篇:Unity3D【飛機大戰(zhàn)項目總結(jié)】
Unity3D——飛機大戰(zhàn)項目總結(jié)
學飛機大戰(zhàn)好幾天了,今天就總結(jié)一下飛機大戰(zhàn)所學的知識,所遇到的困難,還有常出現(xiàn)在錯誤。
一:資源包的導入,場景的搭建步驟不在闡述在這包的導入和創(chuàng)建新文件夾在回顧一下Scences存放場景視圖,Scripts存放腳本,Resources存放資源包,資源包下有Textures存放圖片,Materials存放材質(zhì),Audios存放聲音,Madels存放模型。
二:腳本的建立
(1)玩家的飛機的前后左右的移動代碼如下:
float x = Input.GetAxis(“Horizontal”);//左右移動 float z = Input.GetAxis(“Vertical”);//前后移動 transform.Translate(-x,0,-z);(2)子彈的不停發(fā)射我們采用了鼠標事件用if判斷代碼如下:
if(Input.GetMouseButtonDown(0)||Input.GetKey(KeyCode.Space))//鼠標左鍵或空格發(fā)射子彈
(3)子彈的個數(shù)我們用克隆的方法代碼如下:
GameObject u=GameObject.Instantiate(yushe,transform.position,Quaternion.identity)as GameObject;//Instantiate有三個參數(shù)一個是所克隆的對象,第二個是所克隆的位置,第三個是位置。
(4)在克隆出子彈時,子彈是靜止不動的,我們在給它加個力,有于我這個腳本是掛在子彈預設(shè)體上的代碼如下:
u.rigidbody.AddForce(0,0,-8000);//有三個參數(shù),一個是X軸的力,一個是Y軸的力,一個是Z軸的力。
(5)敵機的飛行就按傻瓜的來所代碼如下:
transform.Translate(new Vector3(0,0,-1));//有三個參數(shù),一個是X軸的飛行,一個是Y軸的飛行,一個是Z軸的飛行。
(6)敵機的子彈發(fā)射也是傻瓜類型代碼如下: float rocketTime=1;//給敵機所發(fā)射的時間
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)子彈的銷毀,腳本添加給玩家子彈的預設(shè)體上代碼如下:
Destroy(this.gameObject,2);//倆個參數(shù)一個是銷毀目標,而是幾秒后所消失
(8)敵機子彈的消失,腳本添加給敵機腳本代碼如下:
Destroy(this.gameObject,2);(9)玩家子彈打到敵機時,敵機消失代碼如下 void OnTriggerEnter(Collider aa){//添加觸發(fā)器
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);//想了解更多到狗刨學習網(wǎng)
第三篇:大戰(zhàn)60天勞動競賽總結(jié)文檔
XXXX公司“大戰(zhàn)60天勞動競賽”總結(jié)
根據(jù)公司《關(guān)于開展“大戰(zhàn)六十天,確保XX目標雙過半”勞動競賽的通知》精神,電子電源公司結(jié)合公司黨委“我為XX做貢獻”宣傳教育活動,積極組織車間員工投身勞動競賽活動中,加強組織領(lǐng)導、明確目標任務(wù)、緊扣時間節(jié)點、適時檢查考核,盡可能調(diào)動一切積極因素,采取一切措施,想盡一切辦法,經(jīng)過全體員工的共同努力,競賽項目完成情況良好,現(xiàn)總結(jié)如下:
一、領(lǐng)導重視,組織得力。車間成立勞動競賽活動領(lǐng)導小組全面負責,及時進行了宣傳和動員,充分調(diào)動和發(fā)揮基層班組的積極性和主動性,車間將生產(chǎn)任務(wù)落實到班組,班組落實到員工,任務(wù)層層分解,責任層層落實,做到人人頭上有指標,個個肩上有擔子,整個車間你追我趕,營造了一種良好的競賽氛圍。
二、周密部署,合理安排。根據(jù)生產(chǎn)處下達的競賽項目和時間節(jié)點,車間制定詳細的勞動競賽計劃,正排工序,反推節(jié)點,注重生產(chǎn)過程控制,適時協(xié)調(diào)解決問題,始終牢固樹立“產(chǎn)品質(zhì)量第一”,“沒有質(zhì)量就沒有進度”和“沒有質(zhì)量就沒有效益”的思想,精心組織,科學安排,主動協(xié)調(diào),充分發(fā)揮各班組的作用,調(diào)動各種資源,從生產(chǎn)準備、工藝技術(shù)支持、生產(chǎn)過程控制協(xié)調(diào)、產(chǎn)品質(zhì)量監(jiān)督檢查等全程控制,各項任務(wù)完成良好。
三、競賽活動有序開展
1、活動小組每周組織競賽項目檢查。重點關(guān)注生產(chǎn)準備、工藝技術(shù)支持、生產(chǎn)過程控制協(xié)調(diào)、產(chǎn)品質(zhì)量監(jiān)督檢查等全程控制,通
過每天的生產(chǎn)碰頭會及時協(xié)調(diào)處理各種生產(chǎn)問題,確保項目的受控。
2、大力宣傳,通過看板、黑板報張貼宣傳標語口號,營造活動氛圍,為生產(chǎn)加油鼓勁。
3、組織勞動競賽突擊隊,搶時間、搶進度、抓質(zhì)量,樹立一切為了競賽項目的思想,抓好員工的思想素質(zhì)建設(shè),整個車間步調(diào)一致,協(xié)同作戰(zhàn),完成各項軍民品任務(wù),勞動競賽其間,車間員工積極響應(yīng)工廠號召,主動放棄休息時間,義務(wù)加班講奉獻,累計達500人次近1萬小時。
4、各項任務(wù)完成良好(舉例項目)。
通過本次勞動競賽活動的開展,XX車間員工的生產(chǎn)積極性進一步提高,車間突擊生產(chǎn)能力得到了有效發(fā)揮,各種資源進一步整合,整個車間正逐步形成科學、有序、合理的生產(chǎn)局面,在此基礎(chǔ)上,車間將不斷總結(jié)競賽活動經(jīng)驗,再接再厲,確保全年各項生產(chǎn)任務(wù)的順利完成,為實現(xiàn)XX目標貢獻力量。
XX公司 二〇一〇年六月三十日
第四篇:scratch3.0_前置課_第九講飛機大戰(zhàn)講義無logo
軟件編程系列課講義
Scratch前置課第九講:飛機大戰(zhàn)
一、教學目標
1、掌握播放聲音()等待播完、克隆【克?。ㄗ约海?、當作為克隆體啟動時、刪除此克隆體】、在()和()之間取隨機數(shù)、重復執(zhí)行直到()、廣播【廣播()、當接收到()】、變量【將()設(shè)為()、將()增加】的積木腳本使用。
2、學習積木的組合使用。
二、主要程序腳本
編號
詳細內(nèi)容
功能描述
【1】
“播放聲音()等待播完”
播放指定的聲音,聲音播放結(jié)束再執(zhí)行后面的腳本
(可選選項為角色中的聲音名稱)
【2】
“克?。ㄗ约海?/p>
以遞歸的方式克隆指定角色
(克隆選項為各個角色的名稱)
【3】
“當作為克隆體啟動時”
當角色作為克隆體被創(chuàng)建時執(zhí)行該積木下方的程序腳本
【4】
“刪除此克隆體”
刪除相應(yīng)的克隆體
(只能在“當作為克隆體啟動時”積木下使用)
【5】
“重復執(zhí)行直到()”
該積木內(nèi)的腳本一直執(zhí)行直到指定的條件為真
【6】
“在()和()之間取隨機數(shù)”
返回從第一個指定數(shù)到第二個指定數(shù)之間,包含兩個端點的偽隨機數(shù)
(可填入整數(shù)或小數(shù),前后數(shù)字均為整數(shù)時返回值為整數(shù))
【7】
“廣播()”
用于角色發(fā)送消息指令
【8】
“當接收到()”
用于角色接收指定的廣播消息,接收后執(zhí)行該積木下方的程序腳本
(接收內(nèi)容為建立的廣播消息)
【9】
“將()設(shè)為()”
用于給指定的變量設(shè)置為指定的字符串或數(shù)字
(變量選項為建立的變量名;設(shè)為數(shù)字時舞臺區(qū)小數(shù)點后可顯示六位)
【10】
“將()增加()”
按給定的值更改指定變量
三、課堂準備
編號
名稱
內(nèi)容
來源
備注
【1】
PPT課件
課堂全流程演示文稿
火星科學盒官網(wǎng)
【2】
課程資料
PPT課件、講義、視頻
火星科學盒官網(wǎng)
【3】
學生上課使用器材
筆記本電腦或者臺式電腦
老師自備
電腦建議使用Windows系統(tǒng),蘋果電腦和Linux系統(tǒng)需要從官網(wǎng)上單獨下載對應(yīng)的軟件
游戲手柄
火星人商城采購
飛機大戰(zhàn)初始程序
網(wǎng)盤鏈接下載
【4】
編程軟件下載
Scratch3.0
火星科學盒官網(wǎng)
火星科學盒官網(wǎng)在線編輯版
離線下載版
安裝好后測試一下是否可以使用
四、上課流程
本節(jié)課包括7步具體流程:
(1)第1步為引入部分,可以通過一個小故事邀請學生幫助老師一起制作一個飛機大戰(zhàn)的小游戲。時長控制在10分鐘內(nèi)。
(2)第2步為角色功能分析,通過展示效果視頻分析角色的動作,對任務(wù)進行拆分。時長控制在5分鐘內(nèi)。
(3)第3-6步為項目制作,首先任務(wù)一為游戲添加背景音樂;之后復習克隆積木的組合使用,實現(xiàn)炮彈的持續(xù)發(fā)射。任務(wù)二中修改敵機腳本使用,實現(xiàn)敵機碰到下邊緣時返回起始位置;修改起始位置為隨機;使用重復執(zhí)行直到()實現(xiàn)碰到閃電號時停止移動;最后使用廣播和變量的相關(guān)積木實現(xiàn)游戲失敗和勝利的效果。時長控制在65分鐘內(nèi)。
(3)第7步為總結(jié)與鞏固,考察對本節(jié)課重點知識腳本和腳本邏輯的掌握。時長控制在5分鐘內(nèi)。
上課步驟
主要內(nèi)容
備注
【第1步】引入
【對應(yīng)PPT】“開始頁”
【時長】10min
【引入】老師有一個好朋友XXX,他一直有一個夢想,就是開著戰(zhàn)機在天空中翱翔,但是他年紀還太小了,和大家的年紀一樣,他現(xiàn)在還不能實現(xiàn)這個夢想,所以他最近特別沮喪。那為了讓XXX開心起來,我就想了一個辦法,就是制作一個飛機大戰(zhàn)的游戲,讓XXX能在游戲中體驗一下開著戰(zhàn)機翱翔的感覺。那老師現(xiàn)在只做了一部分,剩下的一部分同學們幫助老師一起來完成怎么樣?
故事盡量講得生動有趣,課堂引入時多和學生互動。
【第2步】角色功能分析
【對應(yīng)PPT】“項目拆解”
【時長】5min
【銜接話術(shù)】那下面我們就先來看一下最終要完成的效果,這樣我們就能知道接下來要完成哪一部分了,同學們一定要認真看哦
【提問】在視頻中敵機是如何移動的?敵機是從上方隨機位置出現(xiàn)還是固定位置出現(xiàn)的?什么時候游戲會勝利,什么時候會失?。浚▽W生回答)
【總結(jié)】敵機角色從舞臺區(qū)上方隨機位置出現(xiàn)并向下移動,碰到炮彈或舞臺下邊緣時會消失并重新從上方出現(xiàn);游戲得分等于50時游戲勝利,敵機和閃電號碰到時游戲失敗。
點名提問學生視頻中的角色效果。
【第3步】播放背景音樂,炮彈持續(xù)發(fā)射
【對應(yīng)PPT】任務(wù)一播放背景音樂,炮彈持續(xù)發(fā)射
【時長】20min
【銜接話術(shù)】剛剛我們已經(jīng)分析了游戲效果,那下面我們就一步步地把游戲補充完整,首先咱們先讓游戲能夠播放一首好聽又激昂的背景音樂。
【提問】可以放在重復執(zhí)行中使用的播放聲音的積木是什么?(學生回答)
【講解】“播放聲音()等待播完”積木可以放在“重復執(zhí)行”中,因為我們要播放背景音樂,也就是讓音樂一直播放,所以要使用到“重復執(zhí)行”,那么選擇用來播放聲音的積木就是“播放聲音()等待播完”。(等待學生拼接)(程序樣例見“第五部分
–
程序1-1”)
【銜接話術(shù)】背景音樂已經(jīng)可以播放了,那下面咱們來補充炮彈這個角色的積木。讓閃電號能夠不停地發(fā)射炮彈。
【講解】在炮彈這個角色中已經(jīng)有了這樣一組積木,這組積木中角色作為克隆體啟動時會顯示出來,從閃電號出發(fā),之后會一直向上移動,在碰到邊緣和敵機時就會消失。
【提問】我們拼接了這樣一組積木,為什么不能實現(xiàn)炮彈持續(xù)發(fā)射的效果呢?現(xiàn)在這組積木是讓克隆體還是讓原角色執(zhí)行的?(學生回答)
【講解】這組積木是讓克隆體執(zhí)行的,也就是說克隆出新的炮彈后,新的炮彈會從閃電號出發(fā)向上發(fā)射。但是在炮彈角色中并沒有克隆自己的積木,也就是說沒有克隆體能夠執(zhí)行這組積木,所以就沒有炮彈持續(xù)發(fā)射的效果。
【提問】如果想讓炮彈持續(xù)不斷地發(fā)射,就需要讓炮彈不停地克隆自己,使用什么積木能夠讓炮彈不停地克?。浚▽W生回答)
【講解】使用“重復執(zhí)行”積木讓炮彈不停地克隆,為了讓炮彈克隆的沒有那么快,需要添加“等待()秒”積木,讓炮彈每隔0.1秒克隆一次。因為原角色只能停留在原地克隆自己,所以為了不讓它影響畫面,需要添加“隱藏”積木把原角色隱藏。(等待學生拼接)(程序樣例見“第五部分
–
程序1-2”)
1.本節(jié)課中用到的基本是學習過的積木,在制作時,主要使用提問的方式帶領(lǐng)學生復習;
2.復習克隆相關(guān)積木時,重點說明一下克隆自己、當作為克隆體啟動時與刪除此克隆體積木時通常是組合使用的。
【第4步】任務(wù)一梳理
【對應(yīng)PPT】任務(wù)一梳理
【時長】5min
【銜接話術(shù)】剛剛已經(jīng)實現(xiàn)了炮彈持續(xù)發(fā)射的效果,那老師來考考同學們,看看同學們對積木掌握得怎么樣
【提問】如何讓多個同樣的角色出現(xiàn)在舞臺區(qū)?(學生回答)
【講解】使用克隆可以讓多個同樣的角色出現(xiàn)在舞臺區(qū)。
【提問】和克隆相關(guān)的積木有哪些?(學生回答)
【講解】和克隆相關(guān)的積木有“克隆(自己)”、“當作為克隆體啟動時”和“刪除此克隆體”
【提問】這三個積木分別能夠?qū)崿F(xiàn)什么樣的功能效果?(學生回答)
【講解】“克隆自己”可以復制原角色,產(chǎn)生新的角色;“當作為克隆體啟動時”是讓克隆體執(zhí)行命令;“刪除此克隆體”實現(xiàn)刪除當前克隆體的效果。
在提問過程中可以進行引導性提示。
【第5步】修改敵機腳本、制作勝利失敗
【對應(yīng)PPT】任務(wù)二磚塊的隨機出現(xiàn)
【時長】25min
【銜接話術(shù)】閃電號的炮彈可以不停地發(fā)射了,同學們是不是已經(jīng)準備開著閃電號去大干一場啦?但是現(xiàn)在有一個問題,敵機從上向下飛行,在到達舞臺下邊緣后就卡住不再動了。它卡在了舞臺下邊緣,既打不中它,也沒有新的敵機出現(xiàn),這可怎么辦呢。下面我們就想辦法解決一下這個問題。
【提問】同學們有沒有什么辦法能夠解決呢?(學生自由回答)
【話術(shù)】同學們的想法都很不錯呀,老師這里也有一個想法,就是讓敵機碰到舞臺下邊緣后就回到初始位置。但是這里有一個問題,沒有直接偵測角色碰到舞臺下邊緣的積木怎么辦呢?
【提問】同學們還記得在彈球打磚塊那節(jié)課中是如何偵測小球碰到舞臺下邊緣的嗎?(學生回答)
【講解】可以偵測角色的y坐標,當角色的y坐標小于角色放置在舞臺下邊緣時的y坐標數(shù)值,角色就一定碰到了下邊緣??梢韵仍谖枧_區(qū)拖動敵機角色,讓敵機的頭部貼近舞臺下邊緣,然后記錄一下角色區(qū)y后的數(shù)值,填入“(y坐標)<()”中去。之后,是實現(xiàn)敵機碰到下邊緣時移到初始位置。
【提問】讓角色移動到一個固定坐標位置的積木是什么?(學生回答)
【講解】“移到x()y()”積木讓角色移動到一個固定的坐標位置,在這個積木中填入的數(shù)值和設(shè)置敵機初始位置的積木中的數(shù)字是相同的。(等待學生拼接)(程序樣例見“第五部分
–
程序2-1”)
【銜接話術(shù)】運行作品之后可以看到,敵機碰到舞臺下邊緣之后能夠返回初始位置了,但是,現(xiàn)在敵機只會從同一個位置出現(xiàn),這樣的話我們只要把閃電號移動到那個位置的下面就一定能夠打中敵機。這樣的游戲真沒意思,XXX也肯定不會喜歡的。下面咱們就修改一下積木,讓敵機能夠從舞臺區(qū)上方的隨機位置出現(xiàn)。
【提問】敵機從一條橫線的隨機一個位置出現(xiàn)時,敵機的哪個坐標是不變的,哪個坐標是變化的?(學生回答)
【講解】在一條橫線上,角色的y坐標是固定不變的,x坐標是改變的。
【提問】能夠讓x坐標取到隨機數(shù)的積木是什么?(學生回答)
【講解】“在()和()之間取隨機數(shù)”積木,可以將x坐標設(shè)為隨機。在這個積木中填入的數(shù)字應(yīng)該在-180~180之間,之后,取隨機數(shù)的積木應(yīng)該放在敵機角色的腳本中三個“移到x()y()”中x坐標的后面。因為這三個積木都是為了讓敵機移到初始出發(fā)的位置。(等待學生拼接)(程序樣例見“第五部分
–
程序2-2”)
【銜接話術(shù)】到這里,我們的游戲主體就完成了,現(xiàn)在可以控制閃電號去攻擊敵機了。既然咱們制作的是一個游戲,那這個游戲肯定會有失敗和勝利的情況。下面我們就先來完成游戲失敗。
【提問】同學們還記得游戲什么時候會失敗嗎?(學生自由回答)
【講解】在敵機和閃電號碰到的時候游戲會失敗,游戲失敗的時敵機會先停止移動,之后,失敗角色顯示并停止游戲。也就是說敵機會一直移動直到碰到閃電號,能夠讓敵機一直不停地向下移動使用的是“重復執(zhí)行”,現(xiàn)在讓敵機碰到閃電號時停下來,也就是給重復執(zhí)行添加了一個停止條件。
【提問】給重復執(zhí)行添加了一個停止條件的積木是什么呢?(學生回答)
【講解】“重復執(zhí)行直到()”在滿足“直到”后填入的條件時,就會停止這個積木中的腳本,向下執(zhí)行其他腳本。現(xiàn)在讓敵機一直移動直到碰到閃電號,應(yīng)該在“直到”后面填入的是“碰到(閃電號)”,然后把“重復執(zhí)行”積木替換成剛剛拼好的“重復執(zhí)行直到(碰到閃電號)”。(等待學生修改)(程序樣例見“第五部分
–
程序2-3”)
【銜接話術(shù)】現(xiàn)在,敵機已經(jīng)停下來了,下面就是讓失敗角色顯示,并且停止游戲了。
【提問】敵機停止移動后,失敗角色就要顯示出來。失敗角色如何能夠知道敵機已經(jīng)停止移動了呢?(學生回答)
【講解】應(yīng)該使用廣播,讓敵機在碰到閃電號后廣播消息,失敗在接收到消息之后,使用“顯示”積木顯示出來,之后使用“停止全部腳本”來停止游戲。
【提問】敵機在碰到閃電號之后才會廣播失敗消息,應(yīng)該把“廣播(失敗)”放在敵機腳本積木的什么位置呢?(學生回答)
【講解】應(yīng)該放在“重復執(zhí)行直到()”的下面,因為敵機碰到閃電號后就會執(zhí)行“重復執(zhí)行直到()”積木下的命令。(等待學生拼接)(程序樣例見“第五部分
–
程序2-4和程序2-5”)
【銜接話術(shù)】到這里,失敗效果就制作完成了,接下來就是添加游戲勝利的效果。游戲是在得分等于50的時候勝利,所以我們需要先添加得分,炮彈每擊中一次敵機就得一分。
【提問】需要新建什么來記錄游戲的得分?能夠?qū)崿F(xiàn)得分增加的積木是什么?為得分設(shè)置初始值的積木是什么?(學生回答)
【講解】需要添加變量來記錄得分,使用“將(得分)增加()”可以實現(xiàn)得分的增長,使用“將(得分)設(shè)為()”來設(shè)置得分的初始值。敵機碰到炮彈時得分才會增加,因此“將(得分)增加()”放在敵機角色腳本“如果碰到炮彈那么…”的里面。(等待學生拼接,拼接完成后給出答案檢查)(程序樣例見“第五部分
–
程序2-6”)
【銜接話術(shù)】得分已經(jīng)添加完成了,接下來實現(xiàn)得分等于50時游戲勝利的效果。
【提問】游戲勝利時顯示的效果有什么?(學生回答)
【講解】游戲勝利時勝利角色會顯示,之后游戲停止。讓敵機角色一直判斷得分是否等于50,在得分等于50時給勝利角色發(fā)送廣播,勝利角色接收到廣播勝利后,顯示并停止游戲。也就是如果得分=50,那么廣播勝利。(等待學生拼接,之后給出答案檢查)(程序樣例見“第五部分
–
程序2-7和程序2-8”)
1.在敵機從上方隨機邊緣出發(fā)這一步中,在()和()之間取隨機數(shù)這個積木應(yīng)該放在三個移到x()y()中;
2.在實現(xiàn)失敗和勝利效果時,注意提醒學生需要拼接腳本的積木。
【第6步】任務(wù)二梳理
【對應(yīng)PPT】任務(wù)二梳理
【時長】5min1、這組積木拼接在了哪個角色上;
2、實現(xiàn)了什么樣的效果?
在提問過程中可以進行引導性提示。
【第7步】總結(jié)與鞏固
【對應(yīng)PPT】總結(jié)與鞏固
【時長】5min
【銜接話術(shù)】同學們這節(jié)課表現(xiàn)得非常棒,和老師一起幫助XXX制作了一個飛機大戰(zhàn)的游戲,XXX收到這個游戲后肯定會特別開心的。下面呢,還有一個練習題要考考大家。
【我問你答】
在提問練習題時,可以先給出:記錄每一次游戲得分,所以得分應(yīng)該從0開始增加。這樣的提示。
Q.小呆想要用變量記錄每一次游戲的得分,這樣拼接腳本可以實現(xiàn)嗎,為什么?
A.不可以,因為沒有設(shè)置變量的初始值,得分不是從0開始增加的。
五、主要程序說明
程序樣例編號
程序樣例與說明
對應(yīng)的角色
1-1
(任務(wù)一最終版程序的一部分)
【程序1-1描述】作品運行后,不停播放背景音樂。
【背景】
1-2
(任務(wù)一最終版程序的一部分)
【程序1-2描述】作品運行后,炮彈原角色隱藏,每隔0.1秒有一個新的炮彈出現(xiàn)在舞臺區(qū)。
【炮彈】
2-1
【程序2-1描述】敵機從(-74,180)的位置出發(fā)向下移動,被炮彈擊中時發(fā)出爆炸聲音并回到初始位置,到達舞臺下邊緣后也回到初始位置。
【敵機】
2-2
【程序2-2描述】敵機從舞臺區(qū)上邊緣的隨機位置出發(fā)向下移動,被炮彈擊中時發(fā)出爆炸聲音并回到初始位置,到達舞臺下邊緣后也回到初始位置。
2-3
【程序2-3描述】敵機從舞臺區(qū)上邊緣的隨機位置出發(fā)向下移動,被炮彈擊中時發(fā)出爆炸聲音并回到初始位置,到達舞臺下邊緣后也回到初始位置,在碰到閃電號時,敵機會停止移動。
2-4
【程序2-4描述】敵機碰到閃電號時會停止移動,之后廣播失敗消息。
2-5
(任務(wù)二的最終版程序的一部分)
【程序2-5描述】失敗角色在接收到敵機發(fā)送的失敗消息后會顯示出來,并停止游戲運行。
【失敗】
2-6
【程序2-6描述】作品運行后,得分初始化為0,敵機從舞臺區(qū)上邊緣隨機位置出發(fā)向下移動,被炮彈擊中后得分加1,播放聲音爆炸并回到初始位置,繼續(xù)向下移動。碰到閃電號時停止移動。
【敵機】
2-7
(任務(wù)二的最終版程序的一部分)
【程序2-7描述】得分=50時,敵機廣播勝利消息。
2-8
(任務(wù)二的最終版程序的一部分)
【程序2-8描述】勝利角色接收到勝利消息后顯示出來,之后停止游戲
【勝利】
第五篇:折飛機游戲總結(jié)
折紙飛機游戲總結(jié)
說明:此總結(jié)中僅公布本人所在和負責的第三小組,其他小組結(jié)果不作分析總結(jié),在此省略。
人員分組說明:4個活動小組,每組至少9人。
小組分工安排:其中1人負責材料取送和紙飛機成品上交,1人負責質(zhì)量檢查,1人監(jiān)督其他小組是否有游戲作弊行為,以上3人均不能參加折疊工作。然后在其他人員中選擇出6人負責折疊。
飛機折法說明:(略)
游戲時間安排:練習時間5分鐘,實際游戲時間5分鐘
游戲結(jié)果說明:第三小組 原材料24件,成本24x20=480;最終上交紙飛機成品13件,產(chǎn)值13x120=1560;上交次品0件,扣除0x50=0,最終利潤1560-0-480=1080;排名第二。
其他數(shù)據(jù)說明:游戲結(jié)束時,第三小組未上交紙飛機成品3架,生產(chǎn)過程中產(chǎn)生次品3架,即將完成單品4架,半成品1架。
單元數(shù)據(jù)
-生產(chǎn)人數(shù):6人-工作時間:5分鐘-原料數(shù)量:24份-上交數(shù)量:13架-未上交數(shù):3架-次品數(shù)量:3架-即將完成:4架-半成品數(shù):1架
統(tǒng)計數(shù)據(jù):
-總生成量:19+4×0.75+1×0.5=22.50架-人均效率:22.50/(5×6)=0.75架/人每分鐘-合格比率:16/19×100%=84.21%-質(zhì)檢效率:13/13×100%=100.00%-上交效率:13/16×100%=81.25%
下面著重講解和分析第三小組的游戲過程和問題說明 1.折法分析:
根據(jù)講師講解和演示的紙飛機折法總計為8個步驟,這8個步驟按照功能可以分解出兩大過程:前4個步驟是折疊出主脈絡(luò)線,后面4個步驟主要是依據(jù)主脈絡(luò)線按折疊要求完成最終的紙飛機成品。可以說前半部分工序折疊出的主脈絡(luò)線確定了紙飛機成品主線和邊角的整齊一致,直接影響到產(chǎn)品的最終質(zhì)量。這也是整個折疊步驟中的關(guān)鍵點,對于折疊人員的手法靈巧度和熟練度要求比較高。我們組之后將會依此來確定折疊人員的分工。2.步驟優(yōu)化:
根據(jù)我個人折紙經(jīng)驗,在不縮減主脈絡(luò)線功能的前提下,我將前4個步驟中第1-3步的“點-點定線”調(diào)整為“點-線定線”的方式,優(yōu)化節(jié)省了1個步驟。這樣,平均每個單品的完成速度就可以提升大約6-10秒的時間。3.技巧培訓:
由于紙張厚度的存在,所以一張紙在不斷對折的過程中,除了第一次對折之外,之后每次對折都會使原先所有對折層的邊角被擠出偏離最初對齊線大約一個厚度的距離,如果第一次對折就把紙邊完全對齊到中心線,那么最終的紙飛機成品就極易出現(xiàn)邊角不整齊一致的情況,從而形成次品。所以我要求我們小組的成員進行第一次對折的時候就注意兩邊和中心線保持大約1毫米的距離,這樣就基本保證了在完成4次對折之后紙飛機成品的邊角和中心線依然可以很好地保持一致,從而減少次品出現(xiàn)的概率。4.人員安排:
由于操作臺面面積有限,我們原本6個人的折疊小組被分解成了5-1組合,這樣就致使我們在前3個折法優(yōu)化培訓過程有1人沒有能參加進來,從而部分縮減了我們小組團隊協(xié)作的優(yōu)勢。所以我們真正的分工協(xié)作是在5個人當中進行的,根據(jù)上述第一步折法分析中按折法步驟功能分出兩個協(xié)作小隊:第一小隊2人負責前3個步驟,確定紙飛機主脈絡(luò)線;第二小隊3人負責完成后4個步驟,根據(jù)第一小隊提供的半成品完成最終產(chǎn)品。
問題:在這里我們被當時相對的“客觀環(huán)境”給制約了,而我們當時也并沒有就這個問題向活動現(xiàn)場提出說明,要求給予解決。這樣直接導致了我們分工協(xié)作的優(yōu)勢被縮減了,這也是我們?yōu)橄麡O接受“客觀環(huán)境”而付出的代價。5.預算度量:
根據(jù)我個人折疊完成一個單品耗費大約45-60秒的時間計算,小組內(nèi)平均每人5分鐘內(nèi)大約完成紙飛機成品的數(shù)量應(yīng)該在5架左右,由此估算我們組的產(chǎn)出總量應(yīng)該在25-30架。在安排紙張的時候,我要求提供的數(shù)量也是30張,而最終被控制在24張。
問題:事實證明我當時的估算是錯誤的,就是當練習過程中沒有辦法統(tǒng)計團隊平均生產(chǎn)效率的時候,我貿(mào)然使用了我個人相對較高的生產(chǎn)效率作為團隊人均生產(chǎn)效率的標準進行估算,并提出了原材料的采購數(shù)量(紙張數(shù)量),從而出現(xiàn)了成本較高而產(chǎn)出相對較低的不良結(jié)果。6.操作過程:
第一步:由于最初沒有任何半成品,所以我們折疊小組的工作是從全員折疊半成品開始的。
第二步:在每一位組員完成前3個步驟形成半成品的時候,我們立即執(zhí)行之前確立的方案,由第二小隊3人繼續(xù)完成紙飛機單品,同時第一小隊2人則立即轉(zhuǎn)到半成品制作過程中,提供給第二小隊。
第三步:在游戲時間的最后大約半分鐘的時間里,如果桌面上依然有庫存半成品尚未完成,第一小隊2人立即停止手頭半成品的制作,幫助第二小隊完成所有紙飛機成品;如果沒有庫存半成品的話,就繼續(xù)折疊半成品提供給第二小隊。
問題:在進行到第三步的時候,由于還剩下原材料一張,我本人并沒有按照原計劃執(zhí)行,而是把遺留的最后一份原材料折為了半成品,之后立馬又完成單品一架。這個錯誤的決定使我們團隊總成績中直接損失了成品1架。7.成品上交:
成品投遞的失誤是導致我們最終上交數(shù)量少于實際產(chǎn)出數(shù)量的根本原因。