坦克大戰(zhàn)(1)雙人對(duì)戰(zhàn)
第一部分? 作品預(yù)覽
《坦克大戰(zhàn)雙人》操作指南:
1、點(diǎn)擊綠旗,開(kāi)始游戲;
2、使用方向鍵控制紅坦克;
3、使用W-S-A-D鍵控制藍(lán)坦克;
4、按下數(shù)字鍵0,紅坦克開(kāi)火;
5、按下空格鍵,藍(lán)坦克開(kāi)火;
6、血量先到0的一方為輸家。

下載鏈接:
(源代碼)鏈接:https://pan.baidu.com/s/1uvPwpSrAEKAPth4TCBDIiw?pwd=i0ms?
提取碼:i0ms
(改良版)鏈接:https://pan.baidu.com/s/1gc-xhawyzyIH3OyGKvD1Fw?pwd=fu4j?
提取碼:fu4j
第二部分? 任務(wù)解讀
1、紅坦克任務(wù)解讀:紅坦克主要有五項(xiàng)任務(wù)。
【任務(wù)一】初始化操作。
游戲開(kāi)始之后,將紅坦克定位到初始位置,同時(shí),將紅坦克的血量設(shè)定為10。
【任務(wù)二】游戲結(jié)束操作。
游戲結(jié)束之后,想要達(dá)到凍結(jié)最后一幕的效果,收到“游戲結(jié)束”消息后,停止該角色的其他腳本。
【任務(wù)三】移動(dòng)操作。
收到“游戲開(kāi)始”消息后,可以使用上下左右方向鍵控制紅坦克進(jìn)行移動(dòng)。由于移動(dòng)操作要進(jìn)行很多次,所以,需要重復(fù)執(zhí)行;同時(shí),結(jié)合判斷積木塊,將移動(dòng)操作與方向鍵一一對(duì)應(yīng)。
注意:為了便于調(diào)整,坦克的移動(dòng)速度,使用變量“坦克速度”進(jìn)行填充;同時(shí),為了縮短代碼量,自定義了一塊“退步”積木塊,當(dāng)碰到黑色邊框或者對(duì)方坦克的時(shí)候,執(zhí)行退步操作。
【任務(wù)四】造型切換和聲音播放操作。
由于,坦克只有在移動(dòng)的時(shí)候才應(yīng)該發(fā)出聲音,并且切換造型,顯示移動(dòng)的效果;并且,造型切換和聲音播放屬于兩個(gè)相互獨(dú)立且同時(shí)進(jìn)行的操作;所以,使用兩段重復(fù)執(zhí)行代碼塊,結(jié)合判斷方向鍵是否按下,實(shí)現(xiàn)預(yù)期效果。
【任務(wù)五】開(kāi)火與中彈操作。
實(shí)際上,開(kāi)會(huì)與中彈是兩個(gè)相互獨(dú)立的操作,并且不分先后順序,按理說(shuō),應(yīng)該效仿任務(wù)四,用兩段代碼進(jìn)行處理;但是,開(kāi)火和中彈的持續(xù)時(shí)間比較短,放在同一個(gè)重復(fù)執(zhí)行代碼塊中處理,不影響最終效果;所以,開(kāi)火和中彈操作可以寫(xiě)在一個(gè)代碼段里。
2、藍(lán)坦克任務(wù)解讀:
復(fù)制一下紅坦克,把復(fù)制后的角色改名為“藍(lán)坦克”。這個(gè)時(shí)候,按下方向鍵,兩輛坦克同時(shí)移動(dòng)。只需修改一下藍(lán)坦克的按鍵操作即可:將上鍵改成W鍵、下鍵改成S鍵、左鍵改成A鍵、右鍵改成D鍵;最有一個(gè),將開(kāi)火按鈕改成空格鍵。
3、炮彈任務(wù)解讀:炮彈主要有三項(xiàng)任務(wù)。
【任務(wù)一】初始化操作。(略)
【任務(wù)二】游戲結(jié)束操作。同紅坦克的任務(wù)二。
【任務(wù)三】移動(dòng)操作。
炮彈的移動(dòng)比較復(fù)雜,炮彈的本體是隱藏的,移動(dòng)的都是克隆體,克隆體啟動(dòng)后,移動(dòng)過(guò)程分為三個(gè)階段。
階段一:根據(jù)“開(kāi)火位置”參數(shù)進(jìn)行判斷,移到開(kāi)火的坦克一方,根據(jù)“開(kāi)火方向”參數(shù)設(shè)定炮彈的運(yùn)動(dòng)方向。
階段二:使用重復(fù)執(zhí)行,不斷朝著預(yù)定方向移動(dòng)。
階段三:碰撞檢測(cè)。如果碰到黑色邊框,發(fā)出碰撞聲音,然后刪除此克隆體;如果碰到紅坦克,發(fā)出中彈聲音,同時(shí)紅坦克血量減少1,廣播中彈消息,然后刪除此克隆體;如果碰到藍(lán)坦克,曹操和碰到紅坦克相似,不同的是藍(lán)坦克血量減少1。
4、標(biāo)題任務(wù)解讀:跟蹤彈主要有兩項(xiàng)任務(wù)。
【任務(wù)一】初始化操作。初始化操作完成之后,要廣播一條“游戲開(kāi)始”消息。
【任務(wù)二】接收中彈消息。每次中彈之后,都要判斷一下雙方的血量,只要有一方的血量為0,游戲就會(huì)結(jié)束。
5、邊界和版本任務(wù)解讀:這兩個(gè)角色都只有初始化操作。
6、背景任務(wù)解讀:背景主要有兩項(xiàng)任務(wù)。
【任務(wù)一】初始化操作。
主要是對(duì)變量進(jìn)行初始化操作,然后播放背景音效。
【任務(wù)二】游戲結(jié)束操作。
收到“游戲結(jié)束”消息之后,停止播放背景音效。
第三部分??代碼編寫(xiě)


備注:藍(lán)色坦克代碼,請(qǐng)參照紅坦克的代碼,或下載源碼。



第五部分? 探究與改良
一、游戲的標(biāo)題使用的是純文字,你能不能到網(wǎng)上找一下合適的配圖,再加入一些美化代碼,讓游戲標(biāo)題更酷炫?
二、坦克的血量使用變量顯示的,顯得平淡無(wú)奇,你能否參考其它游戲,美化一下血量呢?或者用坦克圖標(biāo)表示剩下幾條命也是不錯(cuò)的主意,動(dòng)手試試看。
??編 者 寄 語(yǔ)?
關(guān)于探究改良部分,希望大家認(rèn)真思考!本文提供的作品源碼及改良源碼僅供參考,期待大家探究更優(yōu)的改良程序!
加油吧,后浪!
