資源簡介
這個小程序是我1年多前自己寫著玩的,當時不懂這么多,兩個個文件就搞定了,寫的也不規范。 ai不是很智能,只是會搜索當前局面的最優解,評分規則是我從網上找的一個。大概介紹一下這個規則: 能成死二(當前位置下子后,可以有兩顆子連在一起,但是一端有對方的一顆子或者邊界阻擋),20分; 能成活二(當前位置下子后,可以有兩顆子連在一起,兩端沒有對方棋子或者邊界),80分; 能成死三,180分; 能成活三,800分; 能成死四,1200分; 能成活四,2000分; 能成五連,10000分; 程序遍歷所有空白點,算出4個方向(橫、豎、左斜、右斜)的分數和,算每個點的分數,然后選擇所有節點中分數最高的一個落子。當時參考了一個別人的程序,他在程序中設定只搜索8x8的空間,怕電腦 承受不了,我自己實現后并沒有發現這個問題。
代碼片段和文件信息
package?jsj.lgl;
import?java.awt.Color;
import?java.awt.Graphics;
import?java.awt.Point;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
import?java.awt.event.MouseEvent;
import?java.awt.event.MouseListener;
import?java.awt.image.BufferedImage;
import?java.io.File;
import?java.io.IOException;
import?java.util.ArrayList;
import?javax.imageio.ImageIO;
import?javax.swing.ImageIcon;
import?javax.swing.JButton;
import?javax.swing.JOptionPane;
import?javax.swing.JPanel;
public?class?CBoardPanel?extends?JPanel?implements?MouseListener
{
private?static?final?int?START_X=20;
private?static?final?int?START_Y=20;
private?static?final?int?STEP=35;
private?static?final?int?ROW=15;
private?static?final?int?COL=15;
public?static?final?int?BLANK=1;
public?static?final?int?WHITE=-1;
public?static?final?int?NONE=0;
public?static?final?int?AI_FIRST=1;
public?static?final?int?HUMAN_FIRST=2;
public?static?final?int?EASY=2;
pu
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????301??2012-07-08?19:16??Chess5\.classpath
?????文件????????382??2012-07-08?19:16??Chess5\.project
?????文件????????629??2012-07-08?19:16??Chess5\.settings\org.eclipse.jdt.core.prefs
?????文件?????????23??2012-07-11?21:02??Chess5\bin\ChessBoard.bat
?????文件??????11358??2008-01-31?23:10??Chess5\bin\image\b.jpg
?????文件?????130005??2008-01-31?23:27??Chess5\bin\image\chessboard.jpg
?????文件??????10981??2008-01-31?23:29??Chess5\bin\image\w.jpg
?????文件???????1191??2012-07-12?08:40??Chess5\bin\jsj\lgl\CBoardPanel$AI.class
?????文件???????9676??2012-07-12?08:40??Chess5\bin\jsj\lgl\CBoardPanel.class
?????文件???????3492??2012-07-11?23:21??Chess5\bin\jsj\lgl\ChessBoard.class
?????文件??????11358??2008-01-31?23:10??Chess5\image\b.jpg
?????文件?????130005??2008-01-31?23:27??Chess5\image\chessboard.jpg
?????文件??????10981??2008-01-31?23:29??Chess5\image\w.jpg
?????文件??????12501??2012-07-12?08:40??Chess5\src\jsj\lgl\CBoardPanel.java
?????文件???????3036??2012-07-11?23:21??Chess5\src\jsj\lgl\ChessBoard.java
?????目錄??????????0??2013-12-07?16:48??Chess5\bin\jsj\lgl
?????目錄??????????0??2013-12-07?16:48??Chess5\src\jsj\lgl
?????目錄??????????0??2014-03-28?14:45??Chess5\bin\image
?????目錄??????????0??2013-12-07?16:48??Chess5\bin\jsj
?????目錄??????????0??2013-12-07?16:48??Chess5\src\jsj
?????目錄??????????0??2013-12-07?16:48??Chess5\.settings
?????目錄??????????0??2013-12-07?16:48??Chess5\bin
?????目錄??????????0??2014-03-28?14:45??Chess5\image
?????目錄??????????0??2013-12-07?16:48??Chess5\src
?????目錄??????????0??2013-12-07?16:48??Chess5
-----------?---------??----------?-----??----
???????????????335919????????????????????25
評論
共有 條評論