第24章Java項目開發(fā)實戰(zhàn)──五子棋游戲ppt課件_第1頁
第24章Java項目開發(fā)實戰(zhàn)──五子棋游戲ppt課件_第2頁
第24章Java項目開發(fā)實戰(zhàn)──五子棋游戲ppt課件_第3頁
第24章Java項目開發(fā)實戰(zhàn)──五子棋游戲ppt課件_第4頁
第24章Java項目開發(fā)實戰(zhàn)──五子棋游戲ppt課件_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論