freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

馬士兵java坦克大戰(zhàn)畢業(yè)設(shè)計(jì)論文-資料下載頁(yè)

2024-12-03 16:43本頁(yè)面

【導(dǎo)讀】是伴隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展而誕生的一項(xiàng)新的開(kāi)發(fā)技術(shù)。隨著個(gè)人電腦的日益普及、Java. 人們的生活內(nèi)容、愉悅身心、開(kāi)發(fā)智力等起著不可忽視的作用。該論文通過(guò)總結(jié)和分析JAVA. 游戲的開(kāi)發(fā)流程和代碼框架的設(shè)計(jì),開(kāi)發(fā)了一款基于J2SE架構(gòu)的游戲——坦克大戰(zhàn)。采用面向?qū)ο蟮脑O(shè)計(jì)模式,對(duì)游戲中的所有物體賦予對(duì)象的概念和屬性。運(yùn)行程序后允許用。戶選擇執(zhí)行選項(xiàng)菜單。在開(kāi)始游戲后,啟動(dòng)服務(wù)器和客戶端,對(duì)背景的所有物體進(jìn)行繪圖。個(gè)游戲的進(jìn)行狀態(tài)。用戶控制的坦克運(yùn)行在主線程中,隨屏幕刷新的頻率而移動(dòng)。游戲開(kāi)始時(shí)進(jìn)行初始化,然后將坦克繪制在地圖的上層。向八個(gè)方向移動(dòng),并且打出炮彈,子彈擊中敵人坦克,子彈和敵人坦克同時(shí)消失,產(chǎn)生爆炸,隨著linux的持續(xù)增長(zhǎng)以及MacOSX完全支持java. 和計(jì)算的首選語(yǔ)言,用java做上機(jī)作業(yè),一般都是鼓勵(lì)的。實(shí)際上,用java來(lái)完成這些工作,大多數(shù)情況下要。比用C或其他語(yǔ)言簡(jiǎn)潔得多,你可以把注意力集中在算法等核心部分,從而獲得更高分?jǐn)?shù)。

  

【正文】 圖 : 圖 啟動(dòng)服務(wù)器 進(jìn)入網(wǎng)絡(luò)模式,輸入 網(wǎng)絡(luò)配置 信息: 服務(wù)器 IP、 服務(wù)器 TCP 端口 、 服務(wù)器 UDP 端口、自己本機(jī)的UDP 端口,端口不能與其它客戶端的相同。網(wǎng)絡(luò)配置界面 如圖 : 圖 網(wǎng)絡(luò)版游戲玩家信息欄 填寫 好網(wǎng)絡(luò)配置 信息, 單機(jī) YES,連接上服務(wù)器 后 ,進(jìn)入 游戲主界面, 服務(wù)器為玩家指定勢(shì)力和 ID 號(hào),進(jìn)入游戲后,通過(guò)坦克顏色來(lái)區(qū)分?jǐn)硨?duì)勢(shì)力和同盟坦克。游戲界面左上角顯示游戲的基本信息,包括玩家ID 號(hào) , 玩家的血量,所 擊毀的敵方坦克 等,如圖 : 圖 登陸網(wǎng)絡(luò)模式主界面 多個(gè)玩家加入后,開(kāi)始對(duì)戰(zhàn),在此模式中沒(méi)有 超級(jí)炮彈功能,但是被擊毀之后允許按 F2 滿血原地復(fù)活,但是會(huì)被記錄死亡的次數(shù) ,各個(gè)玩家游戲界面上都能顯示實(shí)時(shí)動(dòng)態(tài),效果如圖 : 18 圖 網(wǎng)絡(luò)版游戲?qū)?zhàn)實(shí)時(shí)顯示圖 圖 網(wǎng)絡(luò)模式設(shè)計(jì)主要代碼如下 : 請(qǐng)參見(jiàn)附錄 1 本章小結(jié) 本章主要介紹了該系統(tǒng)的實(shí)現(xiàn)和運(yùn)行,分別敘述了在單機(jī)模式和網(wǎng)絡(luò)對(duì)戰(zhàn)模式下游戲的運(yùn)行和調(diào)試過(guò)程。在單機(jī)模式下,玩家的游戲發(fā) 射火力要比電腦隨機(jī)產(chǎn)生的坦克能力稍強(qiáng)一些。網(wǎng)絡(luò)模式下,注意一定要先啟動(dòng)服務(wù)器,只有啟動(dòng)服務(wù)器后,各個(gè)玩家才能加入游戲。到此為止, 本 設(shè)計(jì)基本完成預(yù)期效果。 19 第 5 章 總結(jié)與展望 總結(jié) 本次設(shè)計(jì)已是大學(xué)最后一次對(duì)專業(yè)知識(shí)的綜合實(shí)踐活動(dòng),同時(shí)也是我所做的工作量最大的一次作業(yè),因此從一開(kāi)始我對(duì)本次畢業(yè)設(shè)計(jì)就給予了高度重視。從選題、收集資料、學(xué)習(xí)相關(guān)技術(shù)到實(shí)際編程,我都一絲不茍的對(duì)待了。當(dāng)然其間我也走了不少?gòu)澛?,有時(shí)甚至需要推倒重來(lái),但同時(shí)我也多次體會(huì)過(guò)克服困難后的成就感。 通過(guò)這次畢業(yè)設(shè)計(jì)以及撰寫本畢業(yè) 論文,我學(xué)會(huì)了一些編程技巧,而且對(duì)調(diào)試的錯(cuò)誤有進(jìn)一步的認(rèn)識(shí),有時(shí)候就一個(gè)小小的語(yǔ)法錯(cuò)誤就會(huì)導(dǎo)致程序調(diào)試不通過(guò)。所以每個(gè)字符,每句程序都要認(rèn)真對(duì)待。使用不同的編程環(huán)境,其效率完全不一樣,所以我選擇了 Eclipse,它自動(dòng)找錯(cuò) /糾錯(cuò)功能、 Debug 調(diào)試和代碼自動(dòng)生成等一些重要的功能大大提高了我的設(shè)計(jì)效率。對(duì)于設(shè)計(jì)論文,一定要注意格式,認(rèn)識(shí)事情都有它的規(guī)則、規(guī)范,不能按個(gè)人喜好隨意改變。 設(shè)計(jì)中的不足之處 本系統(tǒng)實(shí)現(xiàn)了坦克游戲所應(yīng)有的基本功能,但是由于時(shí)間和能力有限,還有一部分功能未能實(shí)現(xiàn),例如: 服務(wù) 器處理不夠高效、協(xié)議不夠精細(xì)、 線程需要同步(確定本機(jī)坦克在其它客戶端顯示的位置準(zhǔn)確)、客戶端退出時(shí)候服務(wù)端的處理、服務(wù)器一段時(shí)間內(nèi)沒(méi)有接收到數(shù)據(jù)的處理、 地圖設(shè)定、升級(jí)、坦克的高級(jí)人工智能控制等,不能和現(xiàn)在 Inter 上各種坦克大戰(zhàn)游戲相媲美。還有就是對(duì)部分功能在設(shè)計(jì)過(guò)程中未能做到更加完善,稍有瑕疵,但是已經(jīng)盡力改善了。還有就是當(dāng)運(yùn)行網(wǎng)絡(luò)模式時(shí),必須專門啟動(dòng)服務(wù)器,而不是一鍵啟動(dòng)。對(duì)于玩家里來(lái)說(shuō)有點(diǎn)麻煩。 展望 本系統(tǒng)基本實(shí)現(xiàn)了坦克游戲所應(yīng)有的基本功能,在大學(xué)中最后一次專攻式的學(xué)習(xí)了 Java 語(yǔ) 言,使我對(duì)Java 語(yǔ)言有了更深層次的理解,通過(guò)該游戲設(shè)計(jì),提高了我的編程能力,也讓我養(yǎng)成了良好的編程習(xí)慣。希望在今后自己能繼續(xù)對(duì) J2SE等技術(shù)進(jìn)行深入的學(xué)習(xí)和研究。 20 致 謝 首先我要感謝我的指導(dǎo)老師張 曉 獻(xiàn) 老師, 感謝 她 在整個(gè)畢業(yè)設(shè)計(jì)過(guò)程中的 指導(dǎo) ,為我提示 游戲設(shè)計(jì)的邏輯 思路 ; 為我提供參考書(shū)籍 ; 為我提供了 技術(shù)方面 資料 ,而且在遇到問(wèn)題的時(shí)候,總是鼓勵(lì)我去解決;尤其在論文格式的修改方面,讓我明白了要寫出一個(gè)標(biāo)準(zhǔn)的論文,它的格式的重要性,哪怕就算是一個(gè)標(biāo)點(diǎn)符號(hào)都要符合其標(biāo)準(zhǔn)和格式要求 。 在設(shè)計(jì)的整個(gè)過(guò) 程中從開(kāi)題報(bào)告的確定到初稿的修改,以及中期檢查,以及定稿的過(guò)程中都給予了我細(xì)心的指導(dǎo)。 其次還要特別感謝大學(xué) 三 年來(lái)所有的老師,為我們打下計(jì)算機(jī)專業(yè)知識(shí)的基礎(chǔ)。以前總是覺(jué)得學(xué)的課程沒(méi)有什么用處,但是當(dāng)真正用計(jì)算機(jī)來(lái)解決實(shí)際問(wèn)題的時(shí)候,才知道每門課程的重要性,甚至覺(jué)得所學(xué)習(xí)的那些課程還遠(yuǎn)遠(yuǎn)不夠,所以以后還應(yīng)該不斷的學(xué)習(xí)。 感謝學(xué)校對(duì)我的培育,讓我從思想上素質(zhì)上知識(shí)上得到很 大的提高。 學(xué)習(xí)中的各科老師的悉心教導(dǎo)讓我掌握了基本知識(shí) . 感謝我的同學(xué)在設(shè)計(jì)完成前后對(duì)我的得力幫助,沒(méi)有同學(xué)的共同學(xué)習(xí)進(jìn)步也許就沒(méi)法完成設(shè)計(jì), 沒(méi)有同學(xué)對(duì)程序的測(cè)試,也許就難以發(fā)現(xiàn)一些潛在的錯(cuò)誤,在此一并表示感謝。 在此一并祝愿學(xué)校領(lǐng)導(dǎo)、老師、同學(xué)工作順利,事業(yè)更上一層樓;同時(shí)也祝愿學(xué)校更加輝煌。 21 參考文獻(xiàn) [1] 姜志強(qiáng) . Java 語(yǔ)言程序設(shè)計(jì) [M]. 北京:電子工業(yè)出版社, 2021 [2] Bruce Eckel. Java 編程思想 [M]. 北京:機(jī)械工業(yè)出版社, 2021 [3] Sierra,Bates. Head First Java[M]. 北京: 中國(guó)電力出版社 , 2021 [4] 葉核亞 . Java 程序設(shè)計(jì)實(shí)用教程 [M]. 北京:電子工業(yè)出版, 2021 [5] 卡爾弗特,多納霍 . Java TCP/IP Socket 編程 [M]. 北京:機(jī)械工業(yè)出版社, 2021 [6] 哈諾德 . java 網(wǎng)路編程 [M]. 北京:中國(guó)電力出版社, 2021 [7] 杜佳榮,馬建紅,騰振宇 . Java 網(wǎng)絡(luò)編程技術(shù)與實(shí)踐 [M]. 北京:清華大學(xué)出版社, 2021 [8] 閻宏 . Java 與模式 [M]. 北京:電子工業(yè)出版社, 2021 22 附錄 1 import 。 import 。 import 。 import 。 import 。 import 。 import 。 import 。 import 。 import 。 import 。 //服務(wù)器類 public class TankServer { public static int ID = 100。// 分配給客戶端的 ID號(hào)(用 UUID或 GUID實(shí)現(xiàn)) public static final int TCP_PORT = 4444。// TCP端口號(hào) public static final int UDP_PORT = 5555。// UDP占用的端口號(hào) ListClient clients = new ArrayListClient()。// 保存客戶端連接信息的列表 public voID start() { new Thread(new UDPThread()).start()。// 啟一個(gè)線程監(jiān)聽(tīng)接收到的 UDP數(shù)據(jù) ServerSocket ss = null。// 服務(wù)器 TCPsocket類 try { ss = new ServerSocket(TCP_PORT)。// 服務(wù)器占用的端 口號(hào) } catch (Exception e) { } while (true) { Socket s = null。 try { s = ()。// 接受一個(gè) socket連接 DataInputStream dis = new DataInputStream(())。// 創(chuàng)建數(shù)據(jù)輸入流 String IP = ().getHostAddress()。// 根據(jù) socket拿 到 IP地址 int UDPPort = ()。// 讀出客戶端發(fā)送過(guò)來(lái)的 UDP的端口號(hào) Client c = new Client(IP, UDPPort)。// 創(chuàng)建客戶端信息類 (c)。// 儲(chǔ)存進(jìn)列表 DataOutputStream dos = new DataOutputStream(())。// 創(chuàng)建數(shù)據(jù)輸出流 (ID++)。// 向客戶端發(fā)送一個(gè) ID號(hào) // 打印出客戶端的 IP地址,客戶端的 TCP端口號(hào),客戶端的 UDP端口號(hào) (A Client Connect! Addr 23 + () + : + () + UDPPort: + UDPPort)。 } catch (Exception e) { } finally { if (null != s) { try { ()。// 關(guān)閉 } catch (IOException e) { ()。 } } } } } public static voID main(String[] args) { new TankServer().start()。 } private class Client { String IP。// 客戶端 IP int UDPPort。// 客戶端的 UDP端口號(hào) public Client(String IP, int UDPPort) { = IP。 = UDPPort。 } } private class UDPThread implements Runnable { byte[] buf = new byte[1024]。 DatagramSocket datagramSocket = null。 public voID run() {// 接受客戶端發(fā)送過(guò)來(lái)的數(shù)據(jù),并且轉(zhuǎn)發(fā)給其他客戶端 try { datagramSocket = new DatagramSocket(UDP_PORT)。// 創(chuàng)建一個(gè) UDPsocket占用UDP_PORT端口 } catch (SocketException e) { ()。 } (Server UDP thread started at port : + UDP_PORT)。 while (null != datagramSocket) {// 如果 UDPsocket不為 null DatagramPacket dp = null。 try { 24 dp = new DatagramPacket(buf, )。// 用字節(jié)數(shù)組建一個(gè) UDP數(shù)據(jù)包 (dp)。// 接受 UDP數(shù)據(jù),儲(chǔ)存進(jìn) DUP數(shù)據(jù)包里 // 轉(zhuǎn)發(fā)給其他客戶端 for (int i = 0。 i ()。 i++) { Client c = (i)。// 拿出每個(gè)客戶端 (new ISocketAddress(, ))。// 設(shè)置 UDPsocket的發(fā)送地址 (dp)。// 發(fā)送 } } catch (IOException e) { ()。 } } } } } import 。 import 。 import 。 import 。 import 。 import 。 import 。 import 。 import 。 //客戶端網(wǎng)絡(luò)數(shù)據(jù)處理類 public class NetClient { private int UDPPort。//客戶端自己的端口 private GameWindow GameWindow = null。//窗口引用 private int serverUDPPort 。 private String ServerIP。 private int serverTCPPort。 Socket s = null。 DataOutputStream dos = null。 DataInputStream dis = null。 private DatagramSocket ds =null。//UDPsocket public int getUDPPort() { return UDPPort。 } 25 public voID setUDPPort(int UDPPort) { = UDPPort。 } //構(gòu)造 public NetClient(GameWindow GameWindow,int myUDPport,int serverUDPPort,String serverIP,int serverTCPPort){ UDPPort = myUDPport。 = serverUDPPort。 = serverIP。 = serverTCPPort。 = GameW
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1