【正文】
t c = new Client(IP,udpPort)。 DataOutputStream dos = new DataOutputStream(())。 (ID++)。 (c)。 (A Client Connected!Addr_+IP+:+()+_UDPPort:+udpPort)。 }catch(IOException e) { ()。 } } } private class UDPThread implements Runnable { //建立一個 UDP的接受和轉發(fā)線程 byte[] buf = new byte[1024]。 17 public void run() { DatagramSocket ds = null。 try { ds = new DatagramSocket(UDP_PORT)。 (UDPThread started at PORT:+UDP_PORT)。 while(ds != null) { DatagramPacket dp = new DatagramPacket(buf,)。 (dp)。 //接受數(shù)據(jù)包 for(int i=0。i()。i++) { //分別轉發(fā)給其他客戶端 Client c = (i)。 (new ISocketAddress(, ))。//得到將要轉發(fā)的客戶端的 IP地址和端口 (dp)。 (A Packet Sent to PORT:+)。 } } } catch (SocketException e) { ()。 } } } } 本章小結 本章主要介紹了該系統(tǒng)的實現(xiàn)和運行,分別敘述了在單機模式和網(wǎng)絡對戰(zhàn)模式下游戲的運行和調試過程。在單機模式下,玩家的游戲發(fā)射火力要比電腦隨機產(chǎn)生的坦克能力稍強一些,當分數(shù)值達到一定時,玩家可以發(fā)射超級炮彈。網(wǎng)絡模式下, 注意一定要先啟動服務器,只有啟動服務器后,各個玩家才能加入游戲。 到此為止, 本 設計基本完成預期效果。 18 第 5 章 總結與展望 總結 本次設計已是大學最后一次對專業(yè)知識的綜合實踐活動,同時也是我所做的工作量最大的一次作業(yè),因此從一開始 我對本次畢業(yè)設計就給予了高度重視。從選題、收集資料、學習相關技術到實際編程,我都一絲不茍的對待了。當然其間我也走了不少彎路,有時甚至需要推倒重來,但同時我也多次體會過克服困難后的成就感。 通過這次畢業(yè)設計以及撰寫本畢業(yè)論文,我學會了一些 編程 技巧,而且對調試的錯誤有進一步的認識,有時候就一個小小的語法錯誤就會導致程序調試不通過。 所以每個字符,每句程序都要認真對待。 使用不同的編程環(huán)境,其效率完全不一樣,所以我選擇了 Eclipse,它自動找錯 /糾錯功能、 Debug 調試和代碼自動生成等一些重要的功能大大提高了我的設 計效率。對于設計論文,一定要注意格式,認識事情都有它的規(guī)則、規(guī)范,不能按個人喜好隨意改變。 設計中的不足之處 本系統(tǒng)實現(xiàn)了 坦克游戲 所應有的基本功能,但是由于時間和能力有限,還有一部分功能未能實現(xiàn),例如: 外部文件讀取、地圖設定、升級、坦克的高級人工智能控制等 ,不能和 現(xiàn)在 Inter 上各種坦克大戰(zhàn)游戲相媲美 。還有就是對部分功能在設計過程中未能做到更加完善,稍有瑕疵 ,游戲時偶爾 還會 產(chǎn)生 閃爍 現(xiàn)象 ,但是已經(jīng)盡力改善了 。 還有就是當運行網(wǎng)絡模式時,必須專門啟動服務器,而不是一鍵啟動。對于玩家里來說有點麻煩 。 展望 本系統(tǒng)基本實現(xiàn)了坦克游戲所應有的基本功能,在大學中最后一次專攻式的學習了 Java語言,使我對 Java 語言有了更深層次的理解,通過該游戲設計,提高了我的編程能力,也讓我養(yǎng)成了良好的編程習慣。 希望在今后自己能繼續(xù)對 J2SE等技術進行深入的學習和研究。 19 致 謝 經(jīng)過 三 個多月的忙碌和工作,本次畢業(yè)設計業(yè)已完成了,作為一個本科生的畢業(yè)設計,由于經(jīng)驗的匱乏和業(yè)務邏輯的不熟悉,難免有許多考慮不周全和不完善的地方,但是在指導老師和宿舍同學的幫助下很多困難都得以解決,所以在此本人要 特別感謝他們對我的幫助。 首先我要感謝我的指導老師 **老師, 感謝 她 在整個畢業(yè)設計過程中的 指導 ,為我提示 游戲設計的邏輯 思路 ; 為我提供參考書籍 ; 為我提供了 技術方面 資料 ,而且在遇到問題的時候,總是鼓勵我去解決;尤其在論文格式的修改方面,讓我明白了要寫出一個標準的論文,它的格式的重要性,哪怕就算是一個標點符號都要符合其標準和格式要求 。 在設計的整個過程中從開題報告的確定到初稿的修改,以及中期檢查,以及定稿的過程中都給予了我細心的指導。 其次還要特別感謝大學四年來所有的老師,為我們打下計算機專業(yè)知識的基礎。以前總是覺得 學的課程沒有什么用處,但是當真正用計算機來解決實際問題的時候,才知道每門課程的重要性,甚至覺得所學習的那些課程還遠遠不夠,所以以后還應該不斷的學習。也可以這么說要不是您們在大學四年中嚴格要求我們,現(xiàn)在要完成整個畢業(yè)設計那是根本不可能的。 再次,感謝我們小組的幾位同學,在我遇到一些難以解決的問題時,給與我支持,鼓勵和幫助,在論文撰寫過程中,認真仔細的幫我修改,包括一些難以發(fā)覺的語法,符號錯誤,使我受益匪淺。 最后感謝我的院系和我的母校 —— 伊犁師范學院四年來對我的精心培養(yǎng)。 20 參考文獻 [1] 姜志強編著 . Java語言程序設計 [M].北京:電子工業(yè)出版社, 2021 [2] 侯俊杰編著 . Java語言應用開發(fā)基礎 [M]. [3] 孫更新 , 賓晟 , 呂婕編著 . Java 畢業(yè)設計指南與項目實踐 [M]. 北京:科技出版社,2021. [4] 杜江 , 管佩森 編著 . Java使用編程 100例 [M]. 北京:中國貼到出版社, 2021. [5] 殷兆麟編著 . Java語言程序設計 [M]. 北京:高等教育出版社 , 2021. [6] 侯俊杰編著 . Java程序設計教程與實訓 [M]. 北京:科學 出版社 , 2021. [7] 趙強 , 陳洪譯 著 . Java程序設計高級主題 [M]. 北京: 北京大學 出版社, 2021. [8] 《電腦編程技巧與維護》雜志社編著 . Java 編程技巧典型案例解析 [J]. 北京:中國電力出版社, 2021 [9]張基溫,朱嘉鋼,張景莉編著 . Java程序開發(fā)教程 [M]. 北京:清華大學出版社, 2021 [10]丁來佳 , 周靜 . 基于 JAVA 平臺事件驅動模型的研究與設計 [J]. 黃岡師范學院學報 , 2021,(S1) . [11]蔡昭權 . 利用 Socket實現(xiàn)多線程通信程序 [J]. 惠州學院學報 , 2021,(06) [12]仲宇 , 顧國昌 , 張汝波 . 應用 TCP/IP 網(wǎng)關實現(xiàn)數(shù)據(jù)遠程傳輸 [J]. 微型機與應用 , 2021,(12) 21 Javabased Web version of Battle City Game Design 【 Abstract】 The design of objectoriented design patterns, all the objects on in the game to give the concept of objects and attributes. After running the program allows the user to select the implementation of the Options menu. At the beginning of the game, start the server and client, all objects on the background graphics. Thread running in the main program, the screen refresh frequency will be some double buffer technology to redraw the screen in real time to reflect the state of the game. Usercontrolled tanks to run in the main thread, with the screen refresh frequency of the movement. Tank will start to initialize the game, and then draw the map of the upper tank. Designed to achieve the main function is to allow tanks to move and be able to play smart bombs, dodge bullets, to blow up other tanks. To support online play and single play against two modes. Key words: Objectoriented。 Battle City。 online games。 Java。 Socket class 轉發(fā)游戲數(shù)據(jù)