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

正文內容

基于j2se的坦克大戰(zhàn)_畢業(yè)設計論文(編輯修改稿)

2025-08-15 19:38 本頁面
 

【文章內容簡介】 腦、移動設備,用的都是 J2ME。但是,大部分非企業(yè)級軟件還是在 J2SE 上開發(fā)的比較多。首先,這是因為很多的應用軟件都是在 J2SE 上開發(fā)的;其次, J2SE 是和 J2EE 兼容的,企業(yè)版是在標準版上的擴充,在 J2SE 的版本上開發(fā)的軟件,拿到企業(yè)的平臺上是一樣可以運行的;再次,一般開發(fā)還是在 J2SE 的環(huán)境上,只是說 J2ME 提供微型版的一個環(huán)境。在J2SE 上虛擬出一個環(huán)境,開發(fā)出來的應用軟件是可以拿到微型版上運行的。 聯(lián)機通信機制 網(wǎng)絡編程,簡單地理解就是兩臺計算機相互通信。其基本模型就是客戶機 /服務器模型,也就是通信雙方中的一方必須提供一個固定的位置,而另一方只需要知道這個固定的位置,并且建立兩者之間的聯(lián)系,然后完成數(shù)據(jù)交換。這里提供固定位置的一方通常稱為服務器,而建立聯(lián)系的一方稱為客戶端。 Socket(中文意思為插座),基于客戶機 /服務器的 Soctet 通信模式如圖 所示: 8 圖 基于客戶機 /服務器的 Soctet 通信模式圖 當客戶程序需要與服務器程序通訊的時候,客戶程序在客戶機創(chuàng)建一個socket 對象, Socket 類 有 幾 個 構 造 函 數(shù) 。 兩 個 常 用 的 構 造 函 數(shù) 是 Socket(IAddress addr, int port) 和 Socket(String host, int port),兩個構造函數(shù)都創(chuàng)建了一個基于 Socket 的連接服務器端 流套接字的流套接字。兩個函數(shù)都通過參數(shù) port 獲得服務器的端口號。假設已經(jīng)建立連接了,網(wǎng)絡 API 將在客戶端基于 Socket 的流套接字中捆綁客戶程序的 IP 地址和任意一個端口號,否則兩個函數(shù)都會拋出一個 IOException 對象。如果創(chuàng)建了一個 Socket 對象,那么它可能通過調用 Socket 的 getInputStream()方法從服務程序獲得輸入流讀傳送來的信息,也可能通過調用 Socket 的 getOutputStream()方法獲得輸出流來發(fā)送消息。在讀寫活動完成之后,客戶程序調用 close()方法關閉流和 流套接字 。 Java 圖形編程 Java 中的 Graphics 類是用于繪圖和顯示格式化文本的工具類。在 Java 程序中繪圖必須在一個窗口(容器)中進行,繪圖窗體經(jīng)常被設計為一個組件容器。一般首先在一個面板中進行繪制,然后再將這個面板添加到顯示窗口中去。 Graphics 類是在 包中申明,顯示格式化文本和繪圖時通過調用Graphics 類的 draw()方法實現(xiàn)的,例如 drawString(String),drawLine()等。繪圖采用的坐標系是原點在左上角,縱軸向下以像素為單位的坐標系。 創(chuàng)建 Socket 類的對象 指定服務器端公認的 Socket地址和端口 在 Socket 上監(jiān)聽客戶端的鏈接請求 接收客戶端的請求信息 解釋并處理請求信息 向服務器發(fā)出請求 向服務器端發(fā)送鏈接請求 創(chuàng)建 Socket 類對象 客戶端 將處理結果返回給客戶端 接收服務結果 服務請求 服務響應 服務器 端 9 本章小結 在本章節(jié)中首先介紹了該系統(tǒng)的運行環(huán)境,值的注意的是軟件環(huán)境的配置,因為整個系統(tǒng)都是在虛擬環(huán)境下運行的,所以虛擬環(huán)境對于整個設計的調試和運行至關重要;其次對開發(fā)工具 的簡單介紹,利用 eclipse 開發(fā)項目,是可以提高項目的開發(fā)效率。還有是對一些技術理論, J2SE 框架, Java 語言,系統(tǒng)運行所支持的操作系統(tǒng),聯(lián)機通信機制及 Java 圖形編程等理論做了簡單的介紹,為本系統(tǒng)后期實現(xiàn)圖形化界面和網(wǎng)絡通信做了理論支持。 第 3 章 系統(tǒng)設計 系統(tǒng)功能設計 坦克 大戰(zhàn)總體功能設計 坦克大戰(zhàn)游戲 主要實現(xiàn) 玩家參加游戲的 整個流程,用戶 登陸游戲客戶端選擇游戲模式,可分為單機模式和網(wǎng)絡對戰(zhàn)模式 , 選擇單機模式可以直接進入游戲狀態(tài);選擇網(wǎng)絡對戰(zhàn)模式,在啟動服務器后,玩家需要選擇自己的角色,用戶名和ID等玩家相關 資料,成功后使用其 賬 號 進行 登錄 游戲 (只有 成功 登錄 的玩家 才 能參與網(wǎng)絡對戰(zhàn)游戲 功能); 登陸玩家就 可以 通過控制鍵盤操作 , 加入對戰(zhàn)游戲。整個網(wǎng)絡版坦克大戰(zhàn)游戲 流程 圖如圖 : 10 圖 網(wǎng)絡坦克大戰(zhàn)游戲 流程 TankClient類基本功能分析 TankClient 類是整個系統(tǒng)的核心部分,它承擔整個系統(tǒng)的所有可實現(xiàn)功能的調度工作。 是整個游戲運行的場所。 TankClient 類設計流程圖如圖 所示: 初 始 化 游戲模式 對 戰(zhàn) 對 戰(zhàn) 隨機產(chǎn)生敵方坦克 玩家坦克 判斷勝負 玩家一 玩家二 玩家一 玩家二 敵方坦克 我方坦克 判斷勝負 結 束 選擇角色,填寫信息 11 圖 TankClient 類設計流程 TankClient 類是主類,通過調用其他類中封裝的方法來使整個系統(tǒng)運行起來,下面顯示 TankClient 與各個類之間的關系如圖 所示: 圖 游戲系統(tǒng)類關聯(lián)圖 Tank 類基本功能分析 Tank(坦克)類中,封裝了一些變量屬性,包括坦克自己的大小開始 初始化坦克 對戰(zhàn)雙方玩家坦克由鍵盤控制移動 發(fā)射炮彈 碰撞檢測(坦克和子彈) 不處理 同角色坦克 產(chǎn)生爆炸 不同角 色坦克 判斷勝負 結束 TankClient 類(主類) Tank 類(我方) Tank 類(敵方) New 參數(shù) 1 New 參數(shù) 2 調用 Missile 類 打中 調用 Explode 類產(chǎn)程爆炸 判斷勝負 鍵盤控制移動 鍵盤控制移動 打擊 12 ( WIDTH,HRIGHT),運動速度 (SPRRD_X:在 x軸方向的速度; SPEED_Y:在 Y軸方向的速度 )、生命值控制( life)、坦克編號( id)、坦克名 (name)、方向控制 (dir)、生死控制 (live)、好壞控制 (good)的變量等。 Tank 類中沒有 main 函數(shù),不是主類 ,它當中只封裝一些變量屬性和靜態(tài)方法,被 TankClient 類調用來實現(xiàn)坦克的一系列動作。 Tank 類中的主要方法 羅列如下: ( 1) getRect()方法 public Rectangle getRect() { return new Rectangle(x, y, , ); } Rectangle 類是碰撞檢測的輔助類,通過得到子彈的 x, y 坐標和寬高度,檢測兩個矩形是否碰撞(相交); ( 2) draw()方法:負責將所有的活動在屏幕上畫出來; ( 3) move()方法:主要負責控制坦克的移動,包括 8個方向(左,左上,上,右上,右,右下,下,左下)的控制以及給坦克一個移動的速度; ( 4) keyPressed()方法:設定使用鍵盤的“↑”“↓”“←”“→”鍵控制坦克移動; ( 5) keyReleased()方法:處理按鍵抬起事件,抬起“ CTRL”鍵時,發(fā)射炮彈并加入新炮彈,能夠逐一發(fā)射每一發(fā)炮彈、抬起“ A”鍵可以發(fā)射超級炮彈等功能; ( 6) locationDirection()方法:定義了炮筒方向,可以向八個方向發(fā)射炮彈; ( 7) fire()方法:處理發(fā)送子彈的方法; ( 8) bumpWithWall()方法:主要負責處理坦克撞墻事件; ( 9) bumpWithTank()方法 :主要到負責處理坦克和坦克相撞事件; Missile類基本功能分析 Misslile(子彈 )類和 Tank 類一樣,只封裝一些變
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1