




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第24章Java工程開發(fā)實戰(zhàn)五子棋游戲o 系統(tǒng)概述o 開發(fā)前的知識預(yù)備之一Swing編程o 開發(fā)前的知識預(yù)備之二顯示窗體的類ImageIOo 開發(fā)前的知識預(yù)備之三圖形的繪制類Graphicso 游戲界面開發(fā)o 繪制棋子o 保管棋局o 判別游戲勝負(fù)o 處置屏幕閃爍問題o 實現(xiàn)各個功能按鈕o 完好代碼24.1 系統(tǒng)概述24.1.1 運(yùn)轉(zhuǎn)本系統(tǒng)24.1.2 本系統(tǒng)的開發(fā)步驟24.1.3 數(shù)據(jù)庫表的預(yù)備24.1.1 運(yùn)轉(zhuǎn)本系統(tǒng) 為對本程序的功能有所了解,下面簡述運(yùn)轉(zhuǎn)步驟 把光盤中的“finalch24FiveChessProject目錄復(fù)制到硬盤中 運(yùn)轉(zhuǎn)Eclipse,新建一個Java工程,本例命名為
2、“WuZi,勾選“從現(xiàn)有資源創(chuàng)建工程復(fù)選項,并在【目錄】文本框中輸入“E: FiveChessProject。然后單擊【完成】按鈕 在包資源管理器中依次選擇【W(wǎng)uZi】【org.liky.game.test】【Test.java】,右擊該項然后選擇【運(yùn)轉(zhuǎn)方式】【1 Java運(yùn)用程序】菜單項 后面就可以玩一玩該游戲,測試一下它的功能了24.1.2 本系統(tǒng)的開發(fā)步驟 開發(fā)本程序的主要步驟為 新建工程,并新建一個測試類用于研討技術(shù)和創(chuàng)建五子棋窗體 新建一個類FiveChessFrame。大部分程序代碼要在這個類中完成 測試代碼 運(yùn)轉(zhuǎn)程序24.1.3 五子棋游戲的功能 五子棋游戲的根本功能如下: 在單
3、擊鼠標(biāo)時,在相應(yīng)的位置顯示棋子 自動判別游戲能否終了,能否黑方或白方曾經(jīng)勝利 對游戲時間進(jìn)展設(shè)置,判別能否超出規(guī)定時間24.1.4 主要技術(shù) 本程序主要用到以下3種技術(shù): Swing編程 ImageIO類的運(yùn)用 圖片的繪制24.2 開發(fā)前的知識預(yù)備之一Swing編程24.2.1 與窗體相關(guān)的類JFrame24.2.2 與對話框相關(guān)的類JOptionPane24.2.3 與監(jiān)聽鼠標(biāo)相關(guān)的類 MouseListener23.2 開發(fā)前的知識預(yù)備之一Swing編程 Swing是一個用于開發(fā)Java運(yùn)用程序用戶界面的開發(fā)工具包。它以籠統(tǒng)窗口工具包(AWT)為根底,使跨平臺運(yùn)用程序可以運(yùn)用一致的外觀風(fēng)格
4、。Swing開發(fā)人員只用很少的代碼就可以利用Swing豐富、靈敏的功能和模塊化組件來創(chuàng)建優(yōu)雅的用戶界面 24.2.1 與窗體相關(guān)的類JFrame JFrame是創(chuàng)建窗體的swing類,存在于javax.swing.JFrame包中。用來創(chuàng)建一個圖形界面的原始窗口 1. JFrame中的主要方法如下 setVisible(): 設(shè)置窗體能否顯示 setTitle() : 設(shè)置窗體標(biāo)題 setSize() : 設(shè)置窗體大小 setLocation(): 設(shè)置窗體初始顯示的位置 setResizable(): 設(shè)置窗體能否可以改動大小24.2.1 與窗體相關(guān)的類JFrame 2. 和JFrame相關(guān)
5、的獲得屏幕大小的方法如下: Toolkit.getDefaultToolkit().getScreenSize().width: 獲得當(dāng)前屏幕的寬度 Toolkit.getDefaultToolkit().getScreenSize().height: 獲得當(dāng)前屏幕的高度 【范例24-1】 生成一個窗體并顯示到屏幕上,在測試類文件Test.Java中輸入以下代碼 【范例24-2】 設(shè)置窗體的標(biāo)題、位置和大小,在測試類文件Test.Java中輸入以下代碼24.2.1 與窗體相關(guān)的類JFrame 【范例24-3】 使窗體不可調(diào)整大小,并且在封鎖窗體時封鎖運(yùn)用程序,在測試類文件Test.Java中輸
6、入以下代碼 【范例24-4】 得到當(dāng)前屏幕的分辨率在測試類文件Test.Java中輸入以下代碼 【范例24-5】 把窗口放在屏幕的正中央,在測試類文件Test.Java中輸入以下代碼 【范例24-6】 把主窗體封裝成一個類24.2.2 與對話框相關(guān)的類JOptionPane 在Swing編程中提供了JOptionPane類來實現(xiàn)類似Windows平臺下的MessageBox的功能 【范例24-7】 測試由JOptionPane產(chǎn)生的各種對話框,在測試類文件Test.Java中輸入以下代碼24.2.3 與監(jiān)聽鼠標(biāo)相關(guān)的類MouseListener MouseListeneru是一個接口。用于接納
7、組件上“感興趣的鼠標(biāo)事件按下、釋放、單擊、進(jìn)入或分開的偵聽器接口 【范例24-8】 測試MouseListener,在主窗口類文件FiveChessFrame.java中輸入以下代碼24.2.4 確定鼠標(biāo)坐標(biāo)的類MouseEvent getX() : 得到鼠標(biāo)的橫向位置坐標(biāo) getY() : 得到鼠標(biāo)的縱向位置坐標(biāo)24.3 開發(fā)前的知識預(yù)備之二顯示圖片的類ImageIO ImageIO類包含一些用來查找 ImageReader 和 ImageWriter 以及執(zhí)行簡單編碼和解碼的靜態(tài)便利方法24.4 開發(fā)前的知識預(yù)備之三圖形的繪制類Graphics Java 言語中提供繪制、著色操作功能的基類
8、稱作 java.awt.Graphics,paint() 方法只需一個參數(shù),該參數(shù)是 Graphics 類的實例。下面引見幾個程序用到的方法 drawString() : 繪制字符串 drawOval() : 繪制一個空心的圓形 fillOval() : 繪制一個實心的圓形 drawLine() : 繪制一條線 drawRect() : 繪制一個空心的矩形 fillRect() : 繪制一個實心的矩形 drawImage() : 繪制一個曾經(jīng)存在的圖片,將一個圖片直接顯示到窗體 中 setColor() : 設(shè)置畫筆的顏色 setFont() : 設(shè)置繪制文字的字體24.5 游戲界面開發(fā) 計算
9、棋盤中每一條線的間距:這里用的是19 X 19的圍棋棋盤 總寬度為360象素,分成18份,每份是20象素 總高度同樣為 360 象素, 分成 18 份 ,每份是 20 象素 詳見代碼24.6 繪制棋子 在棋盤上的鼠標(biāo)點擊位置,顯示一個棋子 黑子:一個實心的黑圓來表示 白子:一個空心的黑圓+一個實心的白圓來表示 repaint()方法:表示重新執(zhí)行一次 paint()方法 詳見代碼24.7 保管棋局 保管之前下過的棋子 經(jīng)過一個二維的數(shù)組來保管之前下過的一切棋子 詳見代碼24.8 判別游戲勝負(fù) 根據(jù)五子棋的根本游戲規(guī)那么,判別能否有同一顏色的棋子連成 5 個完成了五子棋游戲的中心算法 這里可以把中心算法總結(jié)成一個靈敏的方法 詳見代碼24.9 處置屏幕閃爍問題 雙緩沖技術(shù):用在手機(jī)游戲中用的是最多的,緣由是手機(jī)的內(nèi)存相對較小,屏幕閃爍問題比較明顯 詳見代碼24.10 實現(xiàn)各個功能按鈕 開場游戲:重新開場新的游戲 游戲設(shè)置:設(shè)置倒計時 游戲闡明:用來闡明游戲規(guī)那么和操作 認(rèn)輸:表示某一方放棄游戲,投子認(rèn)負(fù) 關(guān)于:用來顯示程序的作
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中醫(yī)藥師知識培訓(xùn)課件
- 2025年學(xué)習(xí)效果:《小猴子下山》課件對學(xué)生成績的影響
- 全新BMW7系經(jīng)銷商發(fā)布流程串詞含VIP致辭-經(jīng)銷商發(fā)布參考流程話術(shù)
- 廈門大學(xué)財務(wù)報表、財務(wù)風(fēng)險、財務(wù)政策分析
- 2023年6月高考真題北京卷物理試卷
- 2025年中考第一次模擬考試英語(青海西寧專用)
- 工程設(shè)計合同補(bǔ)充協(xié)議
- 項目進(jìn)度管理月度工作總結(jié)報告
- 健康體檢機(jī)構(gòu)資質(zhì)排名表
- 2025年小蝌蚪找媽媽:一份富有創(chuàng)意的教案
- 2025年貴州黔源電力股份有限公司招聘筆試參考題庫含答案解析
- 2024年湖南食品藥品職業(yè)學(xué)院高職單招語文歷年參考題庫含答案解析
- 《船舶油漆作業(yè)》課件
- 2025年中國融通農(nóng)發(fā)社會招聘筆試參考題庫含答案解析
- 中藥玫瑰花培訓(xùn)
- 全國扶貧開發(fā)信息系統(tǒng)業(yè)務(wù)管理子系統(tǒng)用戶操作手冊20241110(升級版)
- 五下數(shù)學(xué)人教版課件教學(xué)課件教學(xué)課件
- 第五課+弘揚(yáng)勞動精神、勞模精神、工匠精神【中職專用】中職思想政治《職業(yè)道德與法治》高效課堂(高教版2023·基礎(chǔ)模塊)
- 2024解析:第九章固體壓強(qiáng)-基礎(chǔ)練(解析版)
- 2024-2025學(xué)年地質(zhì)版體育與健康一年級全一冊教案
- GB/T 44113-2024用戶側(cè)電化學(xué)儲能系統(tǒng)并網(wǎng)管理規(guī)范
評論
0/150
提交評論