中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java實現兩人五子棋游戲(二) 畫出棋盤

發布時間:2020-10-23 13:26:05 來源:腳本之家 閱讀:287 作者:v_xchen_v 欄目:編程語言

本文為大家分享了java畫出五子棋游戲棋盤的方法,供大家參考,具體內容如下

棋盤模塊:

畫五子棋棋盤:19條橫線、19條豎線

步驟一:顯示棋盤

我有一張名為chessboard.png的棋盤,位置為根目錄/res/drawable/chessboard/png,現在我要顯示這張圖片。

Java實現兩人五子棋游戲(二) 畫出棋盤

DrawChessBoard.java

package xchen.test.simpleGobang; 
 
import java.awt.Graphics; 
import java.awt.Image; 
import java.awt.Toolkit; 
 
import javax.swing.JPanel; 
public class DrawChessBoard extends JPanel{ 
 public Image boardImg; 
 public DrawChessBoard() { 
 boardImg = Toolkit.getDefaultToolkit().getImage("res/drawable/chessboard.png"); 
 if(boardImg == null) 
 System.err.println("png do not exist"); 
 } 
 @Override 
 protected void paintComponent(Graphics g) { 
 // TODO Auto-generated method stub 
 super.paintComponent(g); 
 
 int imgWidth = boardImg.getWidth(this); 
 int imgHeight = boardImg.getHeight(this); 
 int FWidth = getWidth(); 
 int FHeight= getHeight(); 
 
 int x=(FWidth-imgWidth)/2; 
 int y=(FHeight-imgHeight)/2; 
 g.drawImage(boardImg, x, y, null); 
 } 
} 

Main.java

package xchen.test.simpleGobang; 
 
import java.awt.Container; 
import javax.swing.JFrame; 
 
import xchen.test.simpleGobang.DrawChessBoard; 
 
public class Main extends JFrame{ 
 private DrawChessBoard drawChessBoard; 
 public Main() { 
 drawChessBoard = new DrawChessBoard(); 
 
 //Frame標題 
 setTitle("單機五子棋"); 
 
 Container containerPane =getContentPane(); 
 containerPane.add(drawChessBoard); 
 } 
 public static void main(String[] args) { 
 Main m = new Main(); 
 m.setVisible(true); 
 } 
} 

運行一下

Java實現兩人五子棋游戲(二) 畫出棋盤

步驟二:為棋盤畫上橫豎線

DrawChessBoard.java

package xchen.test.simpleGobang; 
 
import java.awt.Graphics; 
import java.awt.Image; 
import java.awt.Toolkit; 
 
import javax.swing.JPanel; 
public class DrawChessBoard extends JPanel{ 
 public Image boardImg; 
 final private int ROWS = 19; 
 public DrawChessBoard() { 
 boardImg = Toolkit.getDefaultToolkit().getImage("res/drawable/chessboard2.png"); 
 if(boardImg == null) 
 System.err.println("png do not exist"); 
 } 
 @Override 
 protected void paintComponent(Graphics g) { 
 // TODO Auto-generated method stub 
 super.paintComponent(g); 
 
 int imgWidth = boardImg.getWidth(this); 
 int imgHeight = boardImg.getHeight(this); 
 int FWidth = getWidth(); 
 int FHeight= getHeight(); 
 
 int x=(FWidth-imgWidth)/2; 
 int y=(FHeight-imgHeight)/2; 
 g.drawImage(boardImg, x, y, null); 
 
 int margin = x; 
 int span_x=imgWidth/ROWS; 
 int span_y=imgHeight/ROWS; 
 //畫橫線 
 for(int i=0;i<ROWS;i++) 
 { 
 g.drawLine(x, y+i*span_y, FWidth-x,y+i*span_y); 
 } 
 //畫豎線 
 for(int i=0;i<ROWS;i++) 
 { 
 g.drawLine(x+i*span_x, y, x+i*span_x,FHeight-y); 
 } 
 
 } 
} 

Main.java不變
運行一下

Java實現兩人五子棋游戲(二) 畫出棋盤

遇到的問題:

1)Eclipse不識別文件夾下的圖片

問題:文件夾中有圖片,但是在Eclipse項目欄中不顯示

解決辦法:在Eclipse中,選中根目錄,F5 refresh,就顯示出來了。

更多有趣的經典小游戲實現專題,分享給大家:

C++經典小游戲匯總

python經典小游戲匯總

python俄羅斯方塊游戲集合

JavaScript經典游戲 玩不停

java經典小游戲匯總

javascript經典小游戲匯總

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

澜沧| 迁安市| 乌兰浩特市| 资讯| 交城县| 柏乡县| 江城| 兴安县| 嘉鱼县| 怀远县| 崇文区| 错那县| 繁峙县| 方城县| 津南区| 余干县| 海口市| 沧州市| 砀山县| 三亚市| 清水河县| 通山县| 鄱阳县| 蒲江县| 久治县| 阳曲县| 那曲县| 玉龙| 凤翔县| 稻城县| 江北区| 西乌珠穆沁旗| 阳东县| 江永县| 滨海县| 安平县| 阜新| 遵义县| 富锦市| 鹤庆县| 铁岭市|