【正文】
direction。 }游戲中敵方坦克有不同類型,在游戲過程中,敵方坦克將由左中右三個(gè)方向同時(shí)出現(xiàn),在移動(dòng)過程中會(huì)發(fā)射子彈,當(dāng)遇見阻擋時(shí)會(huì)隨機(jī)改變運(yùn)動(dòng)方向,其部分代碼如下:interval = (int)(()*200)。 textures = new Image[8]。 i 8。 }else{ firePosibility = 。游戲墻由四個(gè)類實(shí)現(xiàn),、。 (xPosouter, yPosouter, 2*outer, 2*outer)。 writeToOutputLine()。游戲面板右邊部分實(shí)現(xiàn)了游戲信息的顯示,玩家可以通過該信息面板得知游戲進(jìn)度,玩家生命值,和玩家得分。 在本款游戲設(shè)計(jì)上,雖然達(dá)到課題要求,但是依然存在一些不足。也感謝學(xué)院給我們提供這么完善的教學(xué)條件和學(xué)習(xí)生活環(huán)境。為我提供指導(dǎo)性方案和構(gòu)架,使我在這次畢業(yè)設(shè)計(jì)很快的開展,在設(shè)計(jì)中的大小問題因?yàn)閷?dǎo)師的信息指導(dǎo)都迎刃而解,最后圓滿的完成了設(shè)計(jì)任務(wù)。 通過畢業(yè)設(shè)計(jì),我學(xué)到不少知識,也讓自己認(rèn)識到了懂得知識不算什么,只有懂得如何運(yùn)用所學(xué)知識才是真正的優(yōu)秀。運(yùn)行程序時(shí),玩家輸入對方玩家IP地址即可實(shí)現(xiàn)聯(lián)機(jī),聯(lián)機(jī)成功后程序自動(dòng)導(dǎo)入游戲,玩家通過鍵盤方向鍵控制坦克移動(dòng),S鍵實(shí)現(xiàn)開火。 notifiyOwner()。 if(direction == 2 || direction == 3) ( +1, + 1, 9, 3)。 i++) textures[i] = [18+i]。 i 8。 textures = new Image[8]。以上是敵方坦克的共同屬性,不同坦克具備不同特性,如運(yùn)動(dòng)速度、抗擊子彈能力、消滅后會(huì)產(chǎn)生輔助道具等,代碼如下:if(type ==1 ){ firePosibility = 。 else if(status == 3) textureIndex = 80 + direction。 i ++) textures[i] = [72+i]。 i ++) textures[i] = [54+i]。 InvulnerableTime = 150。 游戲元素本款游戲在設(shè)計(jì)時(shí)避免了圖形繪制的麻煩,更多的采用了直接引入外部圖片來作為游戲中的元素,如坦克和游戲墻。代碼如下:if((0,1).equals(m)){ (主機(jī)端玩家說: + (1,()))。 }/* * 客戶端連接主機(jī) */ public void connectServer(){ addMessage(正在連接主機(jī))。套接字通常由三個(gè)部分構(gòu)成:在計(jì)算機(jī)進(jìn)程之間利用TCP/IP進(jìn)行通信時(shí),需要通過IP地址來定位通信雙方的計(jì)算機(jī),通過TCP/UDP來明確通信軟件所采用的通信協(xié)議,通過端口號來確定通信軟件進(jìn)程。 = false。 = false。此后事件源便將該事件對象發(fā)送給相應(yīng)監(jiān)聽器接口類的方法,監(jiān)聽器接口則會(huì)接收到相應(yīng)的事件信息。 public Actor[] drawingList。 setResizable( false )。 (false)。 (false)。 (false)。 setResizable( false )。 } catch (Exception e) { } getContentPane().setLayout(null)。該游戲界面包括文本輸入框和按鈕,因?yàn)榉?wù)器端和客戶端窗口相似,以下提供客服端游戲窗口設(shè)計(jì)代碼:public class ServerView extends JFrame{ public drawingPanel mainPanel。游戲地圖中,玩家基地周圍是由磚墻包圍,在墻模塊中,磚墻是最基本的組成,玩家或敵方坦克都能將其摧毀,鋼墻只有玩家獲得特殊輔助后才能摧毀,玩家和敵方發(fā)出的子彈都能穿越草叢和河流。玩家坦克可以對敵方閃爍坦克進(jìn)行攻擊,并得到額外輔助道具,獲得道具后玩家坦克具備相應(yīng)功能。為了克服單繼承的缺點(diǎn),Java使用了接口,一個(gè)類可以實(shí)現(xiàn)多個(gè)接口。游戲過程中,玩家除了保證自己免受傷害同時(shí)也要保障基地安全,玩家消滅敵方閃爍坦克可以獲得額外輔助道具,兩玩家在游戲過程中可以聊天,也可以請求暫停。以此同時(shí),因?yàn)閿撤教箍耸亲灾麟S機(jī)移動(dòng),需要考慮到坦克與坦克之間不能相互重疊和穿越,也不能同時(shí)做同意動(dòng)作。研究課題設(shè)計(jì)要求得知,需要實(shí)現(xiàn)局域網(wǎng)聯(lián)網(wǎng)功能。所以現(xiàn)在,許多程序員將Eclipse作為框架開發(fā)屬于自己的IDE。不可使用Word編輯器,因?yàn)樗胁豢梢娮址?。l 安全性好,除了Java語言具有的許多安全特性以外,Java提供了字節(jié)碼校驗(yàn)器、文件訪問限制機(jī)制、類裝載器和運(yùn)行時(shí)內(nèi)存布局四級安全保證機(jī)制[1]。設(shè)置九個(gè)循環(huán)關(guān)卡,玩家通關(guān)后,自動(dòng)進(jìn)入下一關(guān)卡,使游戲具有多樣性讓玩家享盡局域網(wǎng)所帶來的樂趣。關(guān)鍵詞:Java 坦克 局域網(wǎng) EclipseDesign and achievement of network Tanks based on JavaAbstract: Tanks is a wellknown casual game. With the increasing development of the Internet, LANbased game provide a good relax platform for those office workers to spend their leisure time. A growing number of programmer choice to use Java language to program game because this kind of language is easy to learn and it can be operated on all the puters. This article is about the design and achievement of the Tanks which is based on Java ,and it mainly introduces some relevant technological theories, the system integrated design, diverse function design and the game’s achievement. This game is developed and debugged on Eclipse platform, which contains Serverside and Clientside. The Serverside aims at building mainframe, and the Clientside through connecting mainframe’s IP address to load game automatically. Players can control tank through keyboard and chat or suspend while playing the game. They can also choice to restart the game if another player permits.Keywords:Java Tanks network Eclipse目 錄前言 1