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

正文內容

基于java的魔塔游戲的設計與實現(xiàn)論文-閱讀頁

2024-11-27 21:59本頁面
  

【正文】 取、戰(zhàn)斗畫面的顯示、重新開始和音樂播放。玩家 可以跟隨 NPC 的 指引深入到游戲中,體會游戲 帶給 玩家的快樂! 當 “ 勇士 ”在 地圖中 遇到 NPC 時 , 程序 會 自動 的 創(chuàng)建 一個 TalkPane 對象, 該對象主要 是 借助 于 paint(Graphics g)方法 中 的 (―***‖)方法 ,將 對話 框、 對話 的 內容 顯示 出來。 魔塔 —— 拯救公主 查看怪物手冊 商 店 交 易 樓 層 跳 轉 游戲存檔與讀取 戰(zhàn)斗畫面顯示 重 新 開 始 音 樂 播 放 與NPC對 話 8 查看怪物 手冊 在魔塔 的每一層都有不同屬性的怪物,他們關押 著 公主,你需要將他們一一擊潰。著 極大程度上 降低了 游戲 的難度, 但此功能 主要是 輔助玩家 進行 判斷 的 。玩家 可以 根據(jù)怪物手冊進行判斷 , 并決策自己是否繼續(xù)前進,還是提升自己的屬性,待損失降到最低的時候,再做出決定。其中 商店 交易作為玩家提升屬性值的主力軍。 當 勇士 前往 商店 后 ,會顯示出商店 頁面 ,玩家通過鼠標操作, 點擊 鼠標左鍵 完成 相應 的 功能 ,如買賣 鑰匙 、提升攻擊力 /防御力 、提升生命值 、 提升等級 等。 在 玩家購買物品 或者 使用經驗值交換的時候,需要確保 “ 勇士 ” 擁有足夠的金幣數(shù)或經驗值 。故 特意 開發(fā)此項 功能 ,實現(xiàn)樓層的跳轉。 勇士可以通過 擊殺怪物,到達指定的樓層得到風之羅盤寶物 , 在獲得 它之前此功能是不能使用的。 該 功能需要保證, “勇士”尚未 到達的樓層,不能顯示 出來 , 即 界面 上 只能 顯示到當前 勇士 到達的最高樓層。 游戲 存檔 與 讀取 玩家如果 想完成整個游戲,即救出公主 ,需要消耗 很長的時間 。 為保證 下一次 游戲能夠 繼續(xù)進行, 就需要先 獲取到舊的游戲數(shù)據(jù),然后繼續(xù)游戲 。該功能 避免 了玩家每次都要重新開始的困擾。所以 游戲 中缺不了 與 怪物的戰(zhàn)斗,為營造出 一個 更 加 真實的戰(zhàn)斗場景, 在此設計 獨特的戰(zhàn)斗場景并加以音效 , 營造 一個 緊張激烈的戰(zhàn)斗場面。同時 借助于 線程的機制, 模擬 出雙方 互相 攻 擊的效果,與此同時將伴有攻擊的音效。 當 一方的生命值降為 0, 戰(zhàn)斗畫面 會 根據(jù)具體情況顯示 “戰(zhàn)斗 勝利 ”或者“戰(zhàn)斗 失敗 ”。 重新 開始 如果玩家 在戰(zhàn)斗中 “戰(zhàn)死”,由于 劇情的需要,程序還會顯示一些對話框,隨后游戲結束,程序退出。此時 只需要 按下 鍵盤 R 鍵 ,游戲將重新開始 ,一切數(shù)據(jù)恢復至初始值 。 當然 ,玩家也可以通過關閉程序重新打開的方式。 音樂 播放 游戲 過程中,將伴隨有音效的播放,給玩家一種更加全方位的體驗,有一種置身其中的感覺。 游戲中主要 使用了 Java Applet 的技術, 將 多媒體音頻資料在 Java 程序運行的過程中播放 出來 。同時 能夠 完成功能需求中的各個功能模塊 。 可維護性 和可擴展性需求 可維護性 :能夠做到在不影響玩家數(shù)據(jù)的情況下,修復程序 Bug。所以 , 該游戲 應該 能 確保 在 不影響之前功能情況下,添加新 的 功能 模塊 。 顯示效果如圖 51 所示 。 當點擊 開始 游戲,主菜單關閉,進入游戲主界面并開始游戲; 當點擊讀取游戲,主菜單關閉,程序讀取之前保存數(shù)據(jù),進入 游戲主界面 并開始游戲 ; 當 點擊游戲說明 , 進入游戲說明 界面 ,游戲說明主要介紹了游戲背景及游戲的基本操作等; 當單機 退出游戲,主菜單關閉,程序結束運行。 圖 51 主菜單 效果圖 12 狀態(tài)信息 包括:等級、生命 值 、攻擊力、防御力、金幣數(shù)、經驗值、 所擁有 的鑰匙數(shù)、 當前樓層數(shù)、最高樓層數(shù)。 圖 52 主界面 效果 圖 實體類 設計 勇士 類 : class Hero extends Stuff { private int hp。 //攻擊力 private int def。 //金幣數(shù) private int exp。 //黃色 鑰匙數(shù) private int bkey。 private Point xy。 private BookPane bp。 private HeroShake hs。 public Hero(int paramInt1, int paramInt2, int paramInt3, Point paramPoint) { hp = paramInt1。 def = paramInt3。 } } 怪物類 : class Monster extends Stuff { public String name。 = paramInt1。 = paramInt3。 = paramInt5。 所以 對使用該類的其他 類 來說, 只能使用其公有 的方法,不能使用其私有化的數(shù) 據(jù) ,從而實現(xiàn)信息 的 隱藏。 數(shù)據(jù)封裝 解決 了傳統(tǒng)結構方法中數(shù)據(jù)與操作分離所帶來的 各種 問題, 程序 員只用通過 指定 的入口才能對數(shù)據(jù)進行操作, 這種 方式大大 提高了程序的可復用性和可維護性。 在 本游戲中,對 封裝 性的運用,體現(xiàn)在對核心實體類中各屬性值的封裝 。這也是 對 屬性 值 的保護。 繼承 就是將 已存在的類作為 基礎建立 一個新的類 ,使用 到的關鍵字為 extends。 但不能選擇 性 的繼承某一 父類 。 Java 繼承的特征: 繼承 關系 是 可以 傳遞的; 繼承能夠 讓程序 的閱讀者清楚的看清類與類之間的關系 ; 繼承可以 提高一致性,從而減少了類之間的接口 , 提高了 程序 的易維護性 。 多態(tài) 多態(tài) 的概念: 不同的 類的對象,在接收到 同 一個消息時,會根據(jù) 具體 情況做出不同的響應 ,即 同一個消息發(fā)出后, 程序將會 根據(jù)具體情況 (消息 中參數(shù)、調用的對象等方面) 執(zhí)行 不同的行為。 多態(tài) 具體 可以 分為 以下 兩種 :編譯 時多態(tài)和運行時多態(tài), 編譯時多態(tài)又稱為 重載, 運行時多態(tài)又稱 為 重寫。 重寫 : ,子類具有和父類相同的行為。方法名,返回類型,參數(shù)列表完全一致。 15 。 雙緩沖技術的工作原理:先在內存中分配一個圖片和設置它的大小和游戲窗口一樣(在內存中的 空間我 們 是看不到的),然后利用 getGraphics()方法去獲得給空間并將它全部一次性的顯示到 我們 的屏幕上 。 避免了上面的閃爍效果 。 } 16 Graphics goff = ()。 (offScreenImage, 0, 0, null)。 所以 Java 語言提出 了一個全新的概念 ——鎖。將 所有的公有屬性 (即 會被多個線程共同訪問的 代碼 ) 放在 一個有 ―鎖 ‖的 代碼塊中,這個代碼塊被稱為同步代碼塊。 synchronized { //代碼塊 } 每個 Java 對象都可以用做一個實現(xiàn)同步的鎖,這些鎖被 稱 為內置鎖( Intrinsic Lock)或監(jiān)視鎖( Monitor Lock), 當線程 即將運行 有 synchronized 關鍵字 標識的代碼塊 時 ,會自動獲取到該公有資源的鎖。 一個 線程想要獲取到這個內置鎖, 首先要 保證這個鎖資源沒有被其他線程獲取,其次該線程必須要執(zhí)行被這個鎖資源 “鎖 住的 ”代碼塊 。 故同步 代碼塊 中 的操作 可以 保證原子性。 只有 線程獲取到這個鎖資源,該線程才能重新進入到可執(zhí)行狀態(tài),等待被 cpu 調度 。 17 Java Applet Java Applet 是使用 Java 編程 語言編寫 應用 在 頁面 的一種小的 程序 。 而 包含Java Applet 應用 程序的 網頁 被稱之為 JavaPowered 頁 。 Java Applet 還有一個優(yōu)點,就是它是在 用戶 計算機上執(zhí)行的, 因此 它的執(zhí)行速度不會受到網絡 寬帶、 用戶并發(fā)訪問量的影響, 讓用戶 能夠更好、更快、更流暢的欣賞 嵌入 網頁 的 多媒體 資源。 在 Java Applet 中,可以實現(xiàn)圖形繪制、 字體 和顏色控制、動畫和聲音的插入、人機交互及網絡交流等功能 .Applet 還提供各種名為抽象窗口 工具箱 (Abstract Window Toolkit,AWT)的窗口環(huán)境開發(fā)工具 ,但 AWT的設計是存在缺陷的 ,取而代之的 Swing技術為 Java GUI 組建的輕量組建 .它們利用用戶計算機的 GUI 元素 ,可以建立標準的 圖形用戶界面 ,如窗口、按鈕、滾動條等。 事件處理 技術 編寫 基于 Swing 的游戲應用程序必然 會使 用到事件處理技術 ,根據(jù) 玩家 的 操作做出相應的事件處理。 現(xiàn) 就這兩種最為常用的 事件 處理技術做如下簡短性的介紹: 一、 鼠標 事件 在游戲中 ,玩家會必不可少的 會 使用鼠標進行操作 , 所以 , 鼠標 操作 事件 將是 不可或缺的。實現(xiàn) MouseListener接口 , 可以通過重 寫 不同的方法,對 發(fā)生 在事件源上的 點擊 、釋放鼠標、 鼠標 移入 /移除 事件源、鼠標左鍵 /右鍵 點擊等事件的發(fā)生做出不同的邏輯處理 。 實現(xiàn) 這兩個接口就可以完成游戲所需的所有的鼠標操作的事件處理。 二 、 鍵盤事件 為了更加的方便玩家操作,還會 設有一些的鍵盤事件。當一個組件處于激活狀態(tài)時,敲擊鍵盤上一個鍵就導致這個組件觸發(fā)了鍵盤事件。監(jiān)視器是一個對象,創(chuàng)建該對象的類必須實現(xiàn)接口 KeyListener。也可以用 KeyEvent 類的 public char getKeyChar()判斷哪個鍵被按下、敲擊或釋放, getKeyChar()返回鍵上的字符。 鍵盤 事件主要是對如下幾個方法進行重寫: keyPressed(KeyEvent e)、 keyReleased(KeyEvent e)。進程 是計算機 進行資源 分配 的基本 單位 。但是 由于 計算機的發(fā)展以及復雜功能 的需求,進程已經滿足不了現(xiàn)今社會的一些要求,所以才提出了比進程還要小的線程。 線程 有三個要素: cpu、 代碼 、數(shù)據(jù)。 有關于線程有 兩個最主要的方法: run()方法、 start()方法 。 start()方法是 用來啟動 線程的,相當于 向 cpu 發(fā)出執(zhí)行信號,等待 cpu 的調用。 就緒 狀態(tài): 剛剛 創(chuàng)建好的線程調用了 start()方法 后 所 處的狀態(tài),等待 cpu 的調度。 運行 狀態(tài): 處于 就緒狀態(tài)的線程 獲取到 cpu 的資源 進入 該狀態(tài),該狀態(tài)的線程會去19 執(zhí)行 run()方法 中的代碼 。 阻塞 狀態(tài)又分為掛起狀態(tài)、 鎖池 等待、等待池等待幾種。 死亡 狀態(tài): 一個正在運行 的線程 , 倘若它的 run()方法執(zhí)行結束 ,則該線程將會進入死亡狀態(tài)。 類 加載機制 類 加載 是 執(zhí)行 Java 程序的第一步。同時 , 研究類的加載機制有助于 我們 更好的理解JVM 的 執(zhí)行 過程, 指導程序開發(fā)人員 更有效的 采取相應的措施配合程序的執(zhí)行 。 程序員 只需要提供 圖片的存放路徑即可。 try { URL u = ().getResource(path)。 } catch (IOException e) { ()。 } 流程 設計 20 游戲 整體流程 在此 對游戲的整個流程做如下的介紹 。 獲取 物品,可以提高玩家的屬性值或是獲取道具; 遇到 商店,玩家可以根據(jù)自己的情況,對 “勇士”屬性進行提升 或是 買賣 鑰匙; 遇到 NPC, 諸如 “前輩” 、 “小偷” 、 “ 仙子 ” 、“公主” 等 , 這些 人物 的設定主要是情節(jié)所需,值得注意的是 “公主” ,當玩家遇到她 時 , 意味 著游戲即將結束,當我們完成 “公主”最后 的命令 ——殺死 “魔王”,“勇士”成功, 游戲結束;遇到 怪物,無非兩種結局 : 成功 , 游戲繼續(xù);失敗, “勇士”戰(zhàn)死 ,游戲結束。 同時 ,也會通過獲得某些物品來促進游戲的進展 。 圖 55 是 根據(jù)樓 層數(shù)獲 取功能 的 順序 圖: 21 游戲開始 獲得怪物手冊 查看怪物 信息 獲得十字架 提升勇士 屬性 獲得風之羅盤 能夠樓層 跳轉 獲得鐮刀 鋪設 18 層道路 游戲結束 圖 55 功能 獲取 順序 圖 詳細 設計 勇士 移動 在本次 設計中,考慮 到人物 的行走動作是多個分解動作的集合,所以設計借助線程在一個極短的時間內 對 多個動作 拼接, 實現(xiàn)勇士的移動效果。具體 實現(xiàn) 代碼如下: class HeroShake extends Shake { public synchronized void run() { while (true) { = 。 } catch (Exception localException) { } += 1。 } ()。為了 顯示 出與開門動作相似的效果 。詳細 代碼如下: public synchronized void run() { while (true) {
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1