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

正文內容

java實現(xiàn)蜘蛛紙牌游戲的設計-學位論文范文模板參考資料(編輯修改稿)

2025-01-12 10:15 本頁面
 

【文章內容簡介】 所有可能發(fā)生的事件及意外情況考慮在設計中。本課題擬采用 AWT 提供的兩種監(jiān)聽接口 (listener interface): 和 ,實現(xiàn)鼠標的點擊事件、鼠標狀態(tài)處理以及鍵盤監(jiān)聽等相關事件。 JAVA 蜘蛛紙牌游 戲 中為了美觀,適用性強,需要采用外部文件引入的圖片貼圖。另外,針對 游戲程序中是普遍存在的閃爍這種現(xiàn)象,擬 采用用雙緩沖機制作為相應的解決方案。 在 Java 蜘蛛紙牌游 戲 的結束、開始、動態(tài)信息畫面作為構成一個程序都是必不可少的重要部分。良好的用戶界面更是吸引游戲玩家的硬指標,因此對相關的美術構圖和人性化設置也需要有一定的考慮。 金陵科技學院學士學位論文 第四章 游戲程序的總體設計 6 作者:湯科 第 4 章 游戲程序的總體設計 線程的設計 [5] 在 Java 中,創(chuàng)建線程的方法有兩種:一種是通過創(chuàng)建 Thread 類的子類來實現(xiàn);另一種是通過實現(xiàn) Runnable 接口的類來實現(xiàn)。 這兩種創(chuàng)建線程方法并沒有本質上的區(qū)別,但是由于 Java 不允許多重繼承,所以當一個類要繼承另一個非 Thread 類而實現(xiàn)多線程的話,只能通過實現(xiàn) Runnable 接口的方式來實現(xiàn)。 通過 Thread 類實現(xiàn) 定義一個線程類,他繼承類 Thread 并重寫其中的 run()方法。這時在初始化這個類的實例時,目標對象 target 可以為 null,表示這個實例本身具有線程體。由于 Java 只支持單繼承,用這種方法定義的類不能再繼承其他類。 ① Thread 類定義的用來幫助管理線程的方法主要包括以下內容。 ● void run()方法:線程的入口點,運行線程中的代碼。 ● void start()方法:通過調用運行 方法來啟動線程,使之由出生狀態(tài)轉入就緒狀態(tài)。 ● void sleep(long milis):在一段時間內掛起線程,令線程睡眠,在此期間,線程不消耗 CPU資源;以毫秒為單位。 ● void interrupt():中斷線程。 ● boolean isAlive():判定線程是否仍在在運行,出于活動狀態(tài)。 ● void stName(String threadName):改變線程的名字。 ● String getName():獲取由 setName()方法實質的線程名字的字符串。 ● Yield():將 CPU 控制權主動移交到下一個可運行的線程。 ● setPriority(int p):設置線程優(yōu)先級。 ● getPriority():獲得線程優(yōu)先級。 ● Join():等待一個線程終止。 實現(xiàn) Runnable 接口 創(chuàng)建線程的最簡單的方法就是創(chuàng)建一個實現(xiàn) Runnable 接口的類。然后根據(jù)工作需要重新設計線程的 run 方法;再建立該類的對象。 Runnable 抽象了一個執(zhí)行代碼單元。你可以通過實現(xiàn) Runnable 接口的方法創(chuàng)建每一個對象的線程。為實現(xiàn) Runnable 接口,一個類僅需實現(xiàn)一個 run()的簡單方法。 線程的生命周期 [6] 每個線程的生命周期一共包括 5 種狀態(tài):出生,就緒,運行,阻塞和死亡。線程從出生到死亡的過程稱為線程的生命周期。通過特定的操作可以進行狀態(tài)間的轉換。 出生 當用關鍵字 new 和 thread 類或其子類建立了一個線程對象后,該線程就處于出生狀態(tài)。 1 張廣彬 .Java 課程設計案例精編(第二版) [M].北京 :清華大學出版社 ,2021 第 92 頁 金陵科技學院學士學位論文 第四章 游戲程序的總體設計 7 作者:湯科 Thread 線程名 =new Thread(); 處于新建狀態(tài)的線程只是一個空閑的線程對象,系統(tǒng)并沒有為他分配資源。在調用 start方法之前,線程就一直處于出生狀態(tài)。 就緒 在調用了 start 方法 之后,線程就進入就緒狀態(tài),即被加入到處于就緒狀態(tài)的線程序列中,在等待 CPU 時間片。 線程名。 Start(); 運行 當處于線程序列中的線程獲得 CPU 時間片的時候,該線程就會自動調用其 run 方法,進入運行狀態(tài)。 阻塞 線程能夠運行,但有某個條件能阻止它的運行。當線程處于阻塞狀態(tài)時,調度機制將忽略線程,不會分配給線程任何處理器時間。直到線程重新進入了就緒狀態(tài),它才有可能執(zhí)行操作。導致線程進入阻塞狀態(tài)原因主要包括以下幾種。 ① 通過調用 wait()方法使線程掛起。直到線程得到了 notify()或 notifyAll()消息,線程才會進入就緒狀態(tài)。當與某對象相關的一個線程調用了 notify()方法時,那么等待該特定對象的一個線程便進入就緒狀態(tài);當與某對象相關的線程調用了 notifyAll()方法后,等待該對象的所有線程都會回到就緒狀態(tài)。 ② 通過調用 sleep()方法使線程進入休眠狀態(tài)。在這種情況下,線程在指定的時間內不會運行。只能等待其結束期后,線程才可以自動進入就緒狀態(tài)。 ③ 線程在等待某個輸入 /輸出完成。只能等待該輸入 /輸出操作完成后,線程才可以自動進入就緒狀態(tài)。 ④ 調用 suspend()方法掛起程序??梢酝ㄟ^調用 resume()方法使其進入就緒狀態(tài)。 ⑤ 線程試圖在某個對象上調用其同步控制方法,但是對象鎖不可用。 死亡 死亡狀態(tài)是線程生命周期中的最后一個階段。一共有兩種方式可以導致一個線程的死亡。 ● 自然死亡:線程的 run()方法正常結束。 ● 強制死亡:通過執(zhí)行 stop()或 destroy()方法使線程終止。 代碼設計 蜘蛛紙牌游戲共由 4 個部分組成,分別是: , , 。 包含名為 SpiderMenuBar 的 public 類,其主要功能為生成蜘蛛紙牌游戲的菜單欄,實現(xiàn)菜單欄中各個組件的事件偵聽。主要包括 3 個模塊:圖形用戶界面的構??;組件監(jiān)聽接金陵科技學院學士學位論文 第四章 游戲程序的總體設計 8 作者:湯科 口的實現(xiàn);顯示可執(zhí)行操作的線程。 包含名為 PKCard 的 public 類,其主要功能為:定義紙牌的屬性,包括名稱,位置等相關信息。并通過相關方法實現(xiàn)了紙牌的移動等。 包含名為 AboutDialog 的 public 類,其主要功能為 生成蜘蛛紙牌游戲的幫助欄。 包含名為 Spider 的 public 類,其主要功能為生成蜘蛛紙牌游戲的框架,實現(xiàn)游戲中的方法,包括:紙牌的隨機生成,位置的擺放等。 金陵科技學院學士學位論文 第五章 游戲程序的詳細設計 9 作者:湯科 第 5 章 游戲程序的詳細設計 游戲程序流程圖 圖 界面設計的實現(xiàn) [7] 蜘蛛紙牌游戲的游戲界面設計包括了游戲的框架,游戲界面的背景顏色和游戲的菜單欄選項以及游戲布局管理器的設置。在游戲界面的設置中會引入 SpiderMenuBar 中的JMenu 類, JMenuItem 類, JRadioButtonMenuItem 類并且在 Spider 運行時會調用到SpiderMenuBar setJMenuBar(new SpiderMenuBar(this))。// Spider 中 開始調用 public SpiderMenuBar(Spider spider){ = spider。 首先要設計游戲的框架上的游戲標題 ,游戲界面的背景顏色以及加上菜單欄的窗體設計 public Spider(){ 紙牌的調用和移動位置及 紙 牌 屬 性( ) 游戲菜單欄中子菜單欄 蜘蛛紙牌游戲的幫助欄 ( ) 游戲開始主函數(shù)調用及 實現(xiàn)游戲中的方法 ( ) 調用游戲框架和游戲菜單( ) 金陵科技學院學士學位論文 第五章 游戲程序的詳細設計 10 作者:湯科 setTitle(蜘蛛牌 )。 setDefaultCloseOperation()。 //設置框架的大小 setSize(1024, 742)。 //生成 SpiderMenuBar 對象,并放置在框架之上 setJMenuBar(new SpiderMenuBar(this))。 游戲布局管理器用于設置游戲界面的初始大小以及事件監(jiān)聽程序的引入布局 開始要將將布局管理器設置成為 null 接下來 clickLabel = new JLabel()。 (883, 606, 121, 96)。 (clickLabel)。 玩家在玩游戲時需要用鼠標對紙牌圖片進行操作所以在游戲設計布局時這個工作要提前作好就是在布局管理器設置中對鼠標事件監(jiān)聽程序進行初始布局 (new MouseAdapter(){ public void mouseReleased(MouseEvent me){ if (c 60){ ()。 } } })。 添加紙牌 ()。 ()。 ()。//設置紙牌的位置 groundLabel = new JLabel[10]。 對游戲圖片的擺放位置也要進行布局紙牌共需要擺放十列這里用 FOR 循環(huán)來進行添加 for (int i = 0。 i 10。 i++) 因為紙牌是按順序進行擺放而每一次放的位置都需要進行累加所以在不同位置的紙牌擺放可以引入 int x = 20。增加一個累加的位置數(shù)值變量。 對于紙牌位置的大小也要進行設置(使用 setBounds) groundLabel[i].setBounds(x, 25, 71, 96)。 整個紙牌的擺放就由如下代碼實現(xiàn) int x = 20。 for (int i = 0。 i 10。 i++) 金陵科技學院學士學位論文 第五章 游戲程序的詳細設計 11 作者:湯科 { groundLabel[i] = new JLabel()。 groundLabel[i] .setBorder( .createEtchedBorder(AISED))。 groundLabel[i].setBounds(x, 25, 71, 96)。 x += 101。 (groundLabel[i])。 } 待游戲界面的菜單欄設置好后將進行游戲菜單欄的初始化既向 jNewGame 組件中添加 (jItemOpen)。 (jItemPlayAgain)。 (jItemValid)。 ()。 (jRMItemEasy)。
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1