《坦克大戰(zhàn)-項目總結.ppt》由會員分享,可在線閱讀,更多相關《坦克大戰(zhàn)-項目總結.ppt(27頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、坦克大戰(zhàn)項目總結學員:葉 青班級:AF1 3 0 5學號:1 2 指導老師:吳曉東 目 錄項目總體介紹項目詳細介紹項目亮點項目心得體會 起源:坦克大戰(zhàn)(Battle City)是1 9 8 5年日本南夢宮Namco游戲公司在任天堂FC平臺上,推出的一款多方位平面射擊游戲。游戲以坦克戰(zhàn)斗及保衛(wèi)基地為主題,屬于策略型聯(lián)機類。同時也是FC平臺上少有的內建關卡編輯器的幾個游戲之一,玩家可自己創(chuàng)建獨特的關卡,并通過獲取一些道具使坦克和基地得到強化。1 .1 項目背景和開發(fā)意義 對開發(fā)者的意義:由于坦克大戰(zhàn)具有較強數(shù)學性、邏輯性等,同時又富有趣味性,開發(fā)起來樂趣無窮。因此,經常用來當做開發(fā)題材。并且該項目
2、設計到網(wǎng)絡,更能鍛煉開發(fā)者的數(shù)據(jù)封包,規(guī)劃等能力;卓越教育安卓課程第二階段項目:基于java SE 高級的坦克大戰(zhàn):復習Java 編程基礎熟練使用GUI熟練使用多線程熟練使用IO流熟練使用網(wǎng)絡開發(fā)鍛煉邏輯思維能力掌握MVC的開發(fā)模式學會bug的定位,查找,糾正1 .1 項目背景和開發(fā)意義 環(huán)境:window xp系統(tǒng)工具:Eclipse+Jdk1.6 1 .2 開發(fā)環(huán)境 1 .3、服務器界面介紹初始化服務器 admin*用戶連接上來用戶離開游戲 1 .3、客戶端界面介紹 1 .3、客戶端界面介紹 1 .3、客戶端界面介紹 1 .3、客戶端界面介紹 1 .4、坦克介紹敵方坦克-重型坦克:敵方坦克
3、-輕型坦克:敵方坦克-道具坦克:我方坦克: 1 .5、道具介紹獎 勵 一 架 坦 克讓 坦 克 無 敵 8秒讓 基 地 周 圍 產 生 鐵 , 有 效 時 間 8秒加 強 坦 克 , 2顆 加 快 速 度 , 3顆 可 打 鐵讓 地 圖 上 所 有 坦 克 爆 炸讓 敵 方 坦 克 暫 停 8秒 目 錄項目總體介紹項目詳細介紹項目亮點項目心得體會 2 .1 MVC框架實現(xiàn) 2 .1 服務端MVC框架實現(xiàn) 用于接受客戶端數(shù)據(jù),處理數(shù)據(jù),邊界判斷等,然后將處理好的數(shù)據(jù)發(fā)送給客戶端用于登陸認證,賬號管理,修改信息,注冊等功能用于坦克,子彈,道具,地圖等類服務端界面 2 .1 客戶端MVC框架實現(xiàn) 用
4、于監(jiān)聽鍵盤,然后發(fā)送消息,并且接受服務器數(shù)據(jù),然后進行解析,數(shù)據(jù)賦值等功能用于坦克,子彈,道具,地圖等類客戶端游戲界面 2 .2 游戲時序圖 2 .2 客戶端流程圖 2 .3 網(wǎng)絡協(xié)議規(guī)劃1、用戶注冊,登錄,管理數(shù)據(jù)包2、游戲準備,開始階段包3、游戲過程數(shù)據(jù)處理包 用戶注冊,登錄,管理數(shù)據(jù)包客戶端服務端Login + 用戶名 + 密碼LoginAnswer : Success(或者fail_account、fail_password、fail_Online)登錄包Accou t_Check : 用戶名User_Register_Ac ount_Answer : success(fail)注冊包
5、Register : 用戶名等RegisterAnswer : success(fail)管理包SearchSearchAnswer : 查詢到的信息deleteUserdeleteUser : Success(Fail) 2 .3 網(wǎng)絡協(xié)議規(guī)劃 Up (Down、Left、Right、Launch、Stop、Continue)游戲過程數(shù)據(jù)處理包客戶端服務端Map:地圖信息(第一次全部地圖,后面只發(fā)更新) + Tank:坦克數(shù)組信息 + Bullet :子彈數(shù)組信息 + Porp : 道具信息GameWin:WinGameOver:OverGameStop:yesGameContinue:ye
6、s 2 .3 網(wǎng)絡協(xié)議規(guī)劃 目 錄項目總體介紹項目詳細介紹項目亮點項目心得體會 加入聊天,使游戲更具有娛樂性。實現(xiàn)方法:在游戲區(qū)域使用gridLayout布局,在第3個格子處添加文本區(qū)域和文本框,并設置為透明,在文本框添加addActionlister,然后將消息直接放到arrayList發(fā)送給服務器,同時啟用線程,使用戶2秒發(fā)送一次消息;服務器不處理,只聊天消息跟在數(shù)據(jù)包后面轉發(fā)3 .1 項目亮點-聊天功能 3 .1 項目亮點-多端口服務器啟動時,將啟動一個守護進程,和3個游戲端口。守護進程將專門用于管理玩家的登錄,注冊,驗證,查詢等功能。當用戶成功登錄后,可以選擇端口進行游戲,端口間互不影
7、響。類似于游戲分區(qū)。 實現(xiàn)方法:在服務端和客戶端專門啟用一個進程,然后創(chuàng)立socket,用于賬號登錄,管理,注冊,然后這個進程調用3次游戲進程,每次傳過去的端口不一樣,然后用戶登錄后將端口發(fā)送過去,便可進行選擇端口; 當游戲過程中,其中一個玩家退出游戲后。此時,若游戲結束,則再連接到該端口的玩家自動匹配到該玩家,不必重新退出游戲再登錄。若玩家游戲還沒結束,則新連接進來的將重新分配新房間3 .1 項目亮點-匹配房間實現(xiàn)方法:創(chuàng)建一個類繼承arrayList,然后添加2個屬性:是否滿人,是否在游戲中;然后創(chuàng)建個大廳(ArrayList),用于存放剛剛創(chuàng)建的類,創(chuàng)建小房間后就存入這個大廳,用戶連接時
8、,直接從這個大廳進行搜索房間,根據(jù)剛剛的2個屬性。若搜索到則進入,否則創(chuàng)建新房間; 目 錄項目總體介紹項目詳細介紹項目亮點項目心得體會 時間飛逝,不知不覺,2周的坦克大戰(zhàn)項目過去了。同時,也不知不覺的敲了1 3 0 0 0多行代碼,在這2周多的時間里,每天都是在代碼中度過,經常加班加點,夢里還時常分析算法,思考實現(xiàn)方法。但看著項目慢慢成型,有種喜悅的心情。在學習上:1、學會了分析問題,規(guī)劃模型。2、通過多種想法去實現(xiàn)一個功能,然后取效率高的方法。3、學會了服務端與客戶端之間的通信,包的規(guī)劃,發(fā)包,解包等。在班級上:此次項目,大家都付出了努力,加班加點,早來晚歸,大家溝通想法,解決一個又一個問題,慢慢的都在成長,相信有付出就會有收獲。在這一次的項目實踐中,我們都復習了jase的內容,并且熟練使用網(wǎng)絡,流,線程等技術。但項目過程中還是遇到很多bug。例如:并發(fā)修改問題,socket連接錯誤,IO讀取失敗,json解析錯誤等等。但最后都慢慢找出原因,解決問題。本次項目更認識到,網(wǎng)絡游戲只不過是數(shù)據(jù)間的交互!最后,非常感謝曉東老師的耐心、細心教導。陪伴我們共同度過了第二次的項目階段。下個階段-安卓,將是一個全新的開始,我們將更 用心,更努力學習,與老師共同學習,共同進步。老師,您辛苦了! 心得體會