天天看點

Java實作Tank大戰聯機版

        前言

                在前面對于Java初學者開發簡單的桌面遊戲的碰撞檢測的總結中,筆者特意去翻了翻U盤裡面

          的東西。發現以前用Java做的Tank大戰遊戲還靜靜的躺在那個角落。現在将其分享出來。陸續的

          也會将以前做過的小玩意分享出來。

      功能簡述

               筆者完成的Tank大戰支援雙人遊戲,遊戲的模式有點類似于小霸王學習(目前隻支援雙人遊戲)

         機上的Tank大戰遊戲。有什麼功能特點筆者就不多說了,相信大家都明白的。對于雙人遊戲模式

         兩個玩家并非在一台電腦上操作Tank,玩家可以在不同電腦上進行“聯機”操作。

                基于這個特點,涉及到了Socket通信,多線程,聯機的兩方必須知道對方的情況,這就需要

         實時的更新地圖資訊、子彈資訊、Tank位置資訊。多線程的應用主要也是集中在這一塊。不過需要

         指出的是,筆者這裡的線程處理還是有缺陷的,就是在遊戲正常運作一段時間之後對方的操作可能

         “卡死”,看不見對方的操作。

               這是由于重新整理的東西過多,有些傳遞過來的資訊已經無用,筆者沒有對其進行處理造成的。

               簡單的完成了一些地圖效果,這裡隻在主機端可以看到,沒有實作對地圖的更新。

               地圖上有各種各樣的障礙物,Tank子彈發射撞擊到上面的效果根據障礙物的類型不同的,例如

         如果為牆體,則牆體爆炸,若為鐵塊則産生爆炸效果,但是鐵塊不消失。不過遺憾的是最新版本

         筆者不知去了哪,讀者可以自行完成這塊。

               這個版本不是最新的版本,詳細的功能筆者也沒法詳述,讀者自行嘗試吧!

              好了,說了一大堆的廢話,我們來看看實際效果圖吧!

Java實作Tank大戰聯機版
Java實作Tank大戰聯機版
Java實作Tank大戰聯機版
Java實作Tank大戰聯機版

              好了,差不多也就這樣了,其實完成的還是很粗糙的,不過對于新手來說還是可以看看的。

          讀者如果需要源碼的話,直接在評論下面寫下郵箱位址,小生會直接發送。

               我直接将源碼上傳到csdn資源區,0積分下載下傳。

                點選打開連結