Java五子棋源代碼,一款Java編寫的五子棋源碼數(shù)據(jù),可以通過軟件調(diào)試來生成五子棋程序,每一段都有詳細(xì)的注釋方便用戶下載學(xué)習(xí),可以參考每一個功能的實(shí)現(xiàn)方式,用戶還可以進(jìn)行自定義編寫,生成滿意的個性化效果。本次放出Java五子棋源代碼資源包,想要了解學(xué)習(xí)的朋友們可以下載試試哦!
Java五子棋源代碼棋盤相關(guān):
package 模擬練習(xí).五子棋;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import javax.swing.JFrame;
public class FI extends JFrame {
//設(shè)置游戲界面
/*屏幕分辨率求法:
int w = f.getToolkit().getScreenSize().width;//寬度
int h = f.getToolkit().getScreenSize().height;//高度
Toolkit.getDefaultToolkit().getScreenSize().width 與上面等同
都是用來獲取屏幕的寬高,
this.setLocation((width - 500) / 2 , (height - 500) / 2 );
這是使你的窗口能夠居中顯示,這樣看起來美觀。
*/
int width = Toolkit.getDefaultToolkit().getScreenSize().width;
int height = Toolkit.getDefaultToolkit().getScreenSize().height;
int[][] allChess = new int[15][15]; // 用數(shù)組來保存棋子,0表示無子,1表示黑子,2表示白子
boolean isblack = true; //用來表示黑子還是白子, true表示黑子 false表示白子
boolean canPlay = true; // 用來表示當(dāng)前游戲是否結(jié)束
String message = "黑方先行";
String blackMessage = "無限制";
String whiteMessage = "無限制";
public FI(){
this.setTitle("五子棋1.0");
this.setSize(500,500);
this.setLocation((width - 500) / 2 , (height - 500) / 2 );
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setResizable(false); //設(shè)置窗口不可改變,固定窗口大小
this.setVisible(true);
this.repaint(); //java里repaint()是重繪component的方法;
//它會直接調(diào)用下面的方法對界面進(jìn)行重行繪畫
}
//畫棋盤界面
public void paint(Graphics g){
//雙緩沖技術(shù)
BufferedImage buf = new BufferedImage(500, 500, BufferedImage.TYPE_INT_RGB);
// 這個bufferedImage 可以在網(wǎng)上查找相關(guān)用法,它是對圖像的一種處理。
Graphics g1 = buf.createGraphics(); // 創(chuàng)建畫筆
g1.setColor(new Color(0,169,158));
g1.fill3DRect(43, 60, 375, 375, true);
for (int i = 0; i <= 15; i++) {
g1.setColor(Color.WHITE);
g1.drawLine(43, 60+i*25, 375+43, 60+i*25); //畫棋盤橫線
g1.drawLine(43+i*25, 60, 43+i*25, 375+60); //畫棋盤豎線
}
g1.setFont(new Font("黑體",Font.BOLD,20));
g1.drawString("游戲信息:"+message,50,50);
g1.drawRect(30, 440, 180, 40);
g1.drawRect(250, 440, 180, 40); //畫黑方時間與白方時間字符串的邊框
g1.setFont(new Font("宋體",0,12));
g1.drawString("黑方時間: "+blackMessage,40,465);
g1.drawString("白方時間: "+whiteMessage,260,465);
g1.drawRect(430,66,55,20);
g1.drawString("重新開始",432,80); //重新開始按鈕
g1.drawRect(430,106,55,20);
g1.drawString("游戲設(shè)置",432,120); //游戲設(shè)置按鈕
g1.drawRect(430,146, 55, 20);
g1.drawString("游戲說明", 432, 160); // 游戲說明按鈕
g1.drawRect(430, 186, 55, 20);
g1.drawString("退出游戲", 432, 200); // 退出游戲按鈕
g1.drawRect(430, 246, 55, 20);
g1.drawString("悔棋", 442, 260); // 悔棋
g1.drawRect(430, 286, 55, 20);
g1.drawString("認(rèn)輸", 442, 300); // 認(rèn)輸
g.drawImage(buf, 0, 0,this);
}
public static void main(String[] args) {
new FI();
}
}