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

正文內(nèi)容

基于java的五子棋程序設(shè)計(編輯修改稿)

2025-01-09 01:00 本頁面
 

【文章內(nèi)容簡介】 方向上連接成一線即為該方贏 操作界面需求 操作界面如下圖( 1)所示,游戲畫面簡單易懂: 圖 (1) 基于 java 五子棋程序設(shè)計與開發(fā) 7 程序流程 主要模塊 分析 我們看到本程序由 4 個基本功能模塊構(gòu)成,各模塊的詳細分析如下: FiveChessFrame 類 過 imagePath = ()+/bin/image/ 。 bgImage = (new File((\\\\, /)))。加載背景圖片,然后再背景圖上通過: paint 方法中的 for (int i = 0。 i 18。 i++) { (258, 102 + 30 * i, 767, 102 + 30 * i)。 (258 + 30 * i, 102, 258 + 30 * i, 612)。 }語句繪制一個 18*18 的網(wǎng)格棋盤,每次下棋后通過調(diào)用 repaint 方法來初始化程序。 public void mousePressed(MouseEvent e)這個主方法中的 isBlack 變量值來判斷當(dāng)前應(yīng)該哪一方開始下棋。 ,則通過 allChess[][]這個二維數(shù)組的值為 1 來 定義該子,若是黑子,則通過 allChess[][]數(shù)組的值為 2來定義該子,若為 0,則為空。 checkWin()方法來 判定當(dāng)前方是否已練成 5個同顏色的棋子。若同時有了 5 個同顏色的連子(不論是豎直,水平還是斜方向的)則判定該方開始 白方 黑方 否則 勝利 結(jié)束 基于 java 五子棋程序設(shè)計與開發(fā) 8 獲勝。 第三章 設(shè)計分析 分析: 本程序最重要的就是能夠自動判定黑白兩方各個方向上的棋子是否連成了五個相同顏色的棋子,怎么做到這點呢?這個要通過 private int checkCount(int xChange, int yChange, int color)方法來判定,然后通過 private boolean checkWin()方法判定獲勝方(具體方法后邊會寫出,供讀者了解分析)。其次 本程序關(guān)鍵的一點就是可以模擬游戲中的按鈕來自定義游戲的時間,從而增加本游戲的可控性,智能性,同時增強游戲玩家的趣味性和刺激性。 設(shè)計流程: 因為 本程序用 Eclipse 開發(fā), 如圖 (2): 圖 (2) 在 Eclipse 中建立了兩個類,一個是有主方法的 test 主類,另一個是程序的主窗體 FiveChessFrame 類,同時為了方便管理和應(yīng)用兩個類都分別打包了, 基于 java 五子棋程序設(shè)計與開發(fā) 9 具體見后面。 第四章 代碼設(shè)計 主類 Test: package 。 import 。 public class Test { public static void main(String[] args) { FiveChessFrame ff = new FiveChessFrame()。 } } FiveChessFrame 類: 主類 FiveChessFrame public class FiveChessFrame extends JFrame implements MouseListener, Runnable { int width = ().getScreenSize().width。 int height = ().getScreenSize().height。 BufferedImage bgImage = null。 int x = 0。int y = 0。 int[][] allChess = new int[18][18]。 boolean isBlack = false。boolean canPlay = true。 String message = 白方先行 。int maxTime = 0。 Thread t = new Thread(this)。 int blackTime = 0。int whiteTime = 0。 String blackMessage = 無限制 。String whiteMessage = 無限制 。 String blackMessage0 = 無限制 。String whiteMessage0 = 無限制 。 public FiveChessFrame() {(五子棋 )。 基于 java 五子棋程序設(shè)計與開發(fā) 10 (1000, 750)。((width 1000) / 2, (height 750) /2)。(false)。 ()。 (this)。(true)。()。 ()。()。 String imagePath = 。 try { imagePath=()+/bin/image/ 。 bgImage = (new File((\\\\, /)))。 } catch (IOException e) { ()。 } } 畫棋盤 的 paint 方法 : public void paint(Graphics g) { BufferedImage bi = new BufferedImage(1000, 750, )。 Graphics g2 = ()。 ()。(bgImage, 1, 20, this)。 (new Font(隸書 , , 20))。 (游戲信息: + message, 428, 83)。 ()。 (new Font(宋體 , , 14))。 (whiteMessage, 128, 360)。 (blackMessage0, 128, 315)。()。 (blackMessage, 830, 365)。 (whiteMessage0,830, 315)。 ()。 (new Font(隸書 , , 40))。 for (int i = 0。 i 18。 i++) { 基于 java 五子棋程序設(shè)計與開發(fā) 11 (258, 102 + 30 * i, 767, 102 + 30 * i)。 (258 + 30 * i, 102, 258 + 30 * i, 612)。 } (375, 219, 8, 8)。(645,219, 8, 8)。 (645, 489, 8, 8)。(375, 489, 8, 8)。 for (int i = 0。 i 18。 i++) { for (int j = 0。 j 18。 j++) { if (allChess[i][j] == 1) { int tempX = i * 30 + 258。int tempY = j * 30 + 102。 (tempX 12, tempY 12, 28, 28)。 } if (allChess[i][j] == 2) { int tempX = i * 30 + 258。int tempY = j * 30 + 102。 ()。 (tempX 12, tempY 12, 28, 28)。 ()。 (tempX 12, tempY 12, 28, 28)。 } } } (bi, 0, 0, this)。 } 鼠標(biāo)點擊的 mousePressed()方法 ,其中包括點擊各個按鈕的相應(yīng)事件 public void mousePressed(MouseEvent e) { (X:+())。 (Y:+())。 if (canPlay == true) { x = ()。 基于 java 五子棋程序設(shè)計與開發(fā)
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1