• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    Scratch經(jīng)典游戲之坦克大戰(zhàn)

    2021-06-25 07:46:54陳新龍
    電腦報 2021年2期
    關(guān)鍵詞:炮彈坦克方向

    陳新龍

    小時候能夠花點錢在小賣部游戲機上玩一下午那是非常開心的事情,當(dāng)時最吸引我的是坦克大戰(zhàn),因為可以和哥哥雙人PK,為了美好的童年回憶,今天就和大家一起用Scratch完成坦克大戰(zhàn)吧。

    游戲分為紅藍兩方,兩個玩家分別通過方向鍵和WASD鍵控制坦克方向。和其他游戲的方向控制方式不同,坦克的運動方式是上下鍵控制坦克前進和后退,左右鍵控制坦克旋轉(zhuǎn)(左鍵逆時針旋轉(zhuǎn),右鍵順時針旋轉(zhuǎn))。

    與原版的坦克大戰(zhàn)不同,游戲地圖的障礙物無法破壞,但可以反彈炮彈。這樣在游戲中玩家可以利用地形打擊對方,使游戲的可玩性大大提升。相應(yīng)的我們針對炮彈的射程也做了適當(dāng)限制,這樣當(dāng)炮彈擊中障礙物后不會無限反彈。

    1. 繪制地圖

    首先自己在背景中繪制地圖,不同的背景地圖相當(dāng)于游戲的關(guān)卡,選擇合適的顏色與適當(dāng)粗細的線段畫出來就可以了,你可以繪制多張地圖隨機調(diào)用(圖1)。

    2. 坦克代碼

    坦克代碼首先要實現(xiàn)運動控制功能。首先對紅色坦克編程,當(dāng)玩家按下上下鍵時坦克前進或后退5步。為了控制坦克旋轉(zhuǎn)角度,設(shè)置新的變量“紅色坦克方向”,用面向“變量”方向的積木實現(xiàn)方向控制(圖2)。

    在繪制坦克圖形時有個小技巧,我們將坦克的前后兩部分的外邊設(shè)置成了不同的顏色,這樣就可以偵測出當(dāng)坦克向前移動時撞到墻壁后自動倒退5步,完成停止不動的效果,后退也是相同的原理(圖3)。

    3. 炮彈代碼

    當(dāng)兩個玩家按下空格鍵和J鍵便可分別發(fā)射黃色的炮彈,炮彈擊中敵方的坦克和誤傷到自己都會扣10滴生命值。當(dāng)炮彈碰到墻壁后根據(jù)入射角度反彈。

    對紅色的炮彈編程,按下空格鍵,首先炮彈面向坦克移動的方向,移動到紅色坦克后,注意這時要再繼續(xù)移動40步,這樣炮彈才像是從炮管前端發(fā)射出去的。廣播“發(fā)射炮彈”。碰到坦克角色后扣除血量(圖4)。

    在接收到“發(fā)射炮彈”廣播中處理炮彈碰到墻壁后的反饋。需要根據(jù)不同的角度進行反彈,根據(jù)不同入射角度我寫了兩種反彈方式,大家也可以自行推導(dǎo)。

    第一種當(dāng)炮彈從右上角40度方向發(fā)射,碰到墻壁后,可能會反彈到-40度左上角方向。炮彈方向由原來的X度變成了-X度(圖5、6)。

    第二種當(dāng)炮彈從右上角40度方向發(fā)射,碰到墻壁后,可能會反彈到140度右下角方向。面向的方向由原來的X度變成了180-X度(圖7、8)。

    這樣一個簡單又經(jīng)典的坦克大戰(zhàn)游戲就完成了,我們也可以在此基礎(chǔ)上加上一些關(guān)卡,通過設(shè)置不同的背景圖案進行紅藍兩方的防守與攻擊的較量,調(diào)試成功后拉著小伙伴一起玩吧。

    猜你喜歡
    炮彈坦克方向
    第一輛現(xiàn)代坦克的“前世今生”
    學(xué)與玩(2022年8期)2022-10-31 02:41:58
    樹上長“炮彈”
    2022年組稿方向
    2021年組稿方向
    2021年組稿方向
    T-90 坦克
    裝填炮彈
    “炮彈”表妹
    超級坦克大亂斗
    騎炮彈飛行
    新民市| 仁怀市| 江陵县| 从江县| 冀州市| 宁化县| 凉城县| 五大连池市| 梓潼县| 六枝特区| 泽库县| 丰原市| 宽甸| 民勤县| 鸡泽县| 安新县| 邯郸市| 尉犁县| 吐鲁番市| 汉阴县| 资源县| 沁阳市| 兴和县| 图木舒克市| 囊谦县| 晋宁县| 龙南县| 海淀区| 雅江县| 日照市| 竹北市| 三门峡市| 尚义县| 田东县| 晴隆县| 牡丹江市| 施秉县| 泸水县| 化德县| 广灵县| 微山县|