Java項目開發實戰──五子棋游戲_第1頁
Java項目開發實戰──五子棋游戲_第2頁
Java項目開發實戰──五子棋游戲_第3頁
Java項目開發實戰──五子棋游戲_第4頁
Java項目開發實戰──五子棋游戲_第5頁
已閱讀5頁,還剩19頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第24章Java項目開發實戰五子棋游戲o 系統概述o 開發前的知識準備之一Swing編程o 開發前的知識準備之二顯示窗體的類ImageIOo 開發前的知識準備之三圖形的繪制類Graphicso 游戲界面開發o 繪制棋子o 保存棋局o 判斷游戲勝負o 處理屏幕閃爍問題o 實現各個功能按鈕o 完整代碼24.1 系統概述24.1.1 運行本系統24.1.2 本系統的開發步驟24.1.3 數據庫表的準備24.1.1 運行本系統 為對本程序的功能有所了解,下面簡述運行步驟 把光盤中的“finalch24FiveChessProject”目錄復制到硬盤中 運行Eclipse,新建一個Java項目,本例命名

2、為“WuZi”,勾選“從現有資源創建項目”復選項,并在【目錄】文本框中輸入“E: FiveChessProject”。然后單擊【完成】按鈕 在 包 資 源 管 理 器 中 依 次 選 擇 【 W u Z i 】【org.liky.game.test】【Test.java】,右擊該項然后選擇【運行方式】【1 Java應用程序】菜單項 后面就可以玩一玩該游戲,測試一下它的功能了24.1.2 本系統的開發步驟 開發本程序的主要步驟為 新建項目,并新建一個測試類用于研究技術和創建五子棋窗體 新建一個類FiveChessFrame。大部分程序代碼要在這個類中完成 測試代碼 運行程序24.1.3 五子棋游

3、戲的功能 五子棋游戲的基本功能如下: 在單擊鼠標時,在相應的位置顯示棋子 自動判斷游戲是否結束,是否黑方或白方已經勝利 對游戲時間進行設置,判斷是否超出規定時間24.1.4 主要技術 本程序主要用到以下3種技術: Swing編程 ImageIO類的使用 圖片的繪制24.2 開發前的知識準備之一Swing編程24.2.1 與窗體相關的類JFrame24.2.2 與對話框相關的類JOptionPane24.2.3 與監聽鼠標相關的類 MouseListener23.2 開發前的知識準備之一Swing編程 Swing是一個用于開發Java應用程序用戶界面的開發工具包。它以抽象窗口工具包(AWT)為基

4、礎,使跨平臺應用程序可以使用統一的外觀風格。Swing開發人員只用很少的代碼就可以利用Swing豐富、靈活的功能和模塊化組件來創建優雅的用戶界面 24.2.1 與窗體相關的類JFrame J F r a m e 是 創 建 窗 體 的 s w i n g 類 , 存 在 于javax.swing.JFrame包中。用來創建一個圖形界面的原始窗口 1. JFrame中的主要方法如下 setVisible(): 設置窗體是否顯示 setTitle() : 設置窗體標題 setSize() : 設置窗體大小 setLocation(): 設置窗體初始顯示的位置 setResizable(): 設置窗

5、體是否可以改變大小24.2.1 與窗體相關的類JFrame 2. 和JFrame相關的取得屏幕大小的方法如下: Toolkit.getDefaultToolkit().getScreenSize().width: 取得當前屏幕的寬度 Toolkit.getDefaultToolkit().getScreenSize().height: 取得當前屏幕的高度 【范例24-1】 生成一個窗體并顯示到屏幕上,在測試類文件Test.Java中輸入以下代碼 【范例24-2】 設置窗體的標題、位置和大小,在測試類文件Test.Java中輸入以下代碼24.2.1 與窗體相關的類JFrame 【范例24-3】

6、使窗體不可調整大小,并且在關閉窗體時關閉應用程序,在測試類文件Test.Java中輸入以下代碼 【范例24-4】 得到當前屏幕的分辨率在測試類文件Test.Java中輸入以下代碼 【范例24-5】 把窗口放在屏幕的正中央,在測試類文件Test.Java中輸入以下代碼 【范例24-6】 把主窗體封裝成一個類24.2.2 與對話框相關的類JOptionPane 在Swing編程中提供了JOptionPane類來實現類似Windows平臺下的MessageBox的功能 【范例24-7】 測試由JOptionPane產生的各種對話框,在測試類文件Test.Java中輸入以下代碼24.2.3 與監聽鼠標

7、相關的類MouseListener MouseListeneru是一個接口。用于接收組件上“感興趣”的鼠標事件(按下、釋放、單擊、進入或離開)的偵聽器接口 【范例24-8】 測試MouseListener,在主窗口類文件FiveChessFrame.java中輸入以下代碼24.2.4 確定鼠標坐標的類MouseEvent getX() : 得到鼠標的橫向位置坐標 getY() : 得到鼠標的縱向位置坐標24.3 開發前的知識準備之二顯示圖片的類ImageIO ImageIO類包含一些用來查找 ImageReader 和 ImageWriter 以及執行簡單編碼和解碼的靜態便捷方法24.4 開發

8、前的知識準備之三圖形的繪制類Graphics Java 語言中提供繪制、著色操作功能的基類稱作 java.awt.Graphics,paint() 方法只有一個參數,該參數是 Graphics 類的實例。下面介紹幾個程序用到的方法 drawString() : 繪制字符串 drawOval() : 繪制一個空心的圓形 fillOval() : 繪制一個實心的圓形 drawLine() : 繪制一條線 drawRect() : 繪制一個空心的矩形 fillRect() : 繪制一個實心的矩形 drawImage() : 繪制一個已經存在的圖片,將一個圖片直接顯示到窗體 中 setColor()

9、: 設置畫筆的顏色 setFont() : 設置繪制文字的字體24.5 游戲界面開發 計算棋盤中每一條線的間距:這里用的是19 X 19的圍棋棋盤 總寬度為360象素,分成18份,每份是20象素 總高度同樣為 360 象素, 分成 18 份 ,每份是 20 象素 (詳見代碼)24.6 繪制棋子 在棋盤上的鼠標點擊位置,顯示一個棋子 黑子:一個實心的黑圓來表示 白子:一個空心的黑圓+一個實心的白圓來表示 repaint()方法:表示重新執行一次 paint()方法 (詳見代碼)24.7 保存棋局 保存之前下過的棋子 通過一個二維的數組來保存之前下過的所有棋子 (詳見代碼)24.8 判斷游戲勝負 依據五子棋的基本游戲規則,判斷是否有同一顏色的棋子連成 5 個完成了五子棋游戲的核心算法 這里可以把核心算法總結成一個靈活的方法 (詳見代碼)24.9 處理屏幕閃爍問題 雙緩沖技術:用在手機游戲中用的是最多的,原因是手機的內存相對較小,屏幕閃爍問題比較明顯 (詳見代碼)24.10 實現各個功能按鈕 開始游戲:從新開始新的游戲 游戲設置:設置倒計時 游戲說明:用來說明游戲規則和操作 認輸:表示某一方放棄游戲,投子認負 關于:用來顯示程序的作者或編寫單位的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論