91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

五子棋的人機對弈的實現,其編程語言是 java,帶gui界面,這適合AI的初學者下載學習

資源截圖

代碼片段和文件信息

import?java.awt.Color;
import?java.awt.Container;
import?java.awt.Graphics;
import?java.awt.Graphics2D;
import?java.awt.RadialGradientPaint;
import?java.awt.RenderingHints;
import?java.awt.event.MouseEvent;
import?java.awt.event.MouseListener;
import?java.awt.geom.Ellipse2D;
import?java.awt.image.BufferedImage;
import?java.io.File;
import?java.io.IOException;

import?javax.imageio.ImageIO;
import?javax.swing.Jframe;
import?javax.swing.JOptionPane;
import?javax.swing.JPanel;

public?class?fivechess?extends?Jframe{

public?fivechess(){
GameBoard?gb=new?GameBoard();
Container?contentPane=getContentPane();??
????contentPane.add(gb);
????gb.setOpaque(true);
????add(gb);
????setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
????setSize(526549);
????setLocation(400100);
}


public?static?void?main(String[]?args)?{
//?TODO?Auto-generated?method?stub
fivechess?f=new?fivechess();
f.settitle(“五子棋單機版-人機對戰“);
f.setVisible(true);

}

public?class?GameBoard?extends?JPanel?implements?MouseListener{
BufferedImage?bgImage=null;//背景圖片
int?row=14;//棋盤行數
int?col=14;//棋盤列數
int?span=30;//每個單元格的寬度
int?dis=30;//邊距
int[][]?ChessBoard=new?int[row+1][col+1];//棋子代表的二維數組,其中0代表沒有落子1代表黑子2代表白子

//保存每一步的操作,便于悔棋
int[]?allx=new?int[(row+1)*(col+1)];
int[]?ally=new?int[(row+1)*(col+1)];

int?chessNum=0;//已經下了的棋子數目
boolean?IsBlack=true;//判斷哪方下子(黑子先行)
int?lastx=-1lasty=-1;???//最后下子的位置
boolean?Win=false;//是否勝利的標志

int[][][]?Player=new?int[row+1][col+1][4];
int[][][]?Computer=new?int[row+1][col+1][4];
//設置棋子半徑
static?final?int?radius=15;
//棋盤的位置的分值(固定為15x15的棋盤)

//構造函數
public?GameBoard()?{
try?{
bgImage=ImageIO.read(new?File(“src/wuziqi.jpg“));
}?catch?(IOException?e)?{
e.printStackTrace();
}
this.addMouseListener(this);
//初始化棋盤
for(int?i=0;i for(int?j=0;j ChessBoard[i][j]=0;
}
}

}


//繪制棋盤
public?void?paintComponent(Graphics?g){
super.paintComponent(g);
g.drawImage(bgImage?0?0?row*span+2*dis?col*span+2*dis?null);
//繪制線條
for(int?i=0;i<=row;i++){//橫線
g.drawLine(dis?dis+i*span?col*span+dis?dis+i*span);
}
for(int?j=0;j<=col;j++){//豎線
g.drawLine(dis+j*span?dis?dis+j*span?row*span+dis);
}
//繪制棋子
for(int?i=0;i for(int?j=0;j if(ChessBoard[i][j]!=0){//存在落子
//獲取網格交叉點的坐標(在屏幕上的)
int?x=i*span+dis;
int?y=j*span+dis;
if(ChessBoard[i][j]==1){//如果落黑子
g.setColor(Color.BLACK);
RadialGradientPaint?paint=new?RadialGradientPaint(x-radius+25y-radius+1020new?float[]{0f1f}new?Color[]{Color.WHITEColor.BLACK});
((Graphics2D)?g).setPaint(paint);??
????????????((Graphics2D)?g).setRenderingHint(RenderingHints.KEY_ANTIALIASING?RenderingHints.VALUE_ANTIALIAS_ON);??
????????????((Graphics2D)?g).setRenderingHint(RenderingHints.KEY_

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-11-14?19:34??FiveChessGame\
?????文件?????????301??2017-11-14?18:34??FiveChessGame\.classpath
?????文件?????????389??2017-11-14?18:34??FiveChessGame\.project
?????目錄???????????0??2017-11-14?18:34??FiveChessGame\.settings\
?????文件?????????598??2017-11-14?18:34??FiveChessGame\.settings\org.eclipse.jdt.core.prefs
?????目錄???????????0??2017-11-16?23:29??FiveChessGame\bin\
?????文件????????6082??2017-11-17?14:47??FiveChessGame\bin\fivechess$GameBoard.class
?????文件????????1066??2017-11-17?14:47??FiveChessGame\bin\fivechess.class
?????文件???????14069??2017-11-14?21:07??FiveChessGame\bin\wuziqi.jpg
?????目錄???????????0??2017-11-14?21:07??FiveChessGame\src\
?????文件????????7662??2017-11-17?14:47??FiveChessGame\src\fivechess.java
?????文件???????14069??2017-11-14?21:07??FiveChessGame\src\wuziqi.jpg
?????文件???????10425??2017-11-14?18:36??FiveChessGame\wuziqi.jpg

評論

共有 條評論