这是我无聊的时候敲了几个小时代码搞出来的玩意 我才刚学Java两个星期 什么拓展性复用性并发我统统都不懂 人工智能也设计得相当的蠢 技术大牛们看个乐呵就好。。。
实现效果图
下面给出源代码:
Chess.java
package chessgame;
import java.util.Scanner;
/**
* 五子棋游戏
* @author SamuelElijah
* 转载请注明原作者
*
*
*/
public abstract class Chess {
//存储棋子数量
public static int count = 0;
//最少取得胜利的联珠数
public static final int toWin = 5;
//存储棋子坐标
public static int x=7;
public static int y=7;
//存储坐标最值
public static int minX=6;
public static int maxX=6;
public static int minY=8;
public static int maxY=8;
//存储棋盘,大小为15
public static final Board board = new Board(15);
//static人工智能算法
public static int search(int x,int y,Chessman c){
String color = c.getChessman();
Chessman oppositeC = c instanceof White?new Black():c instanceof Black?new White():null;
String opposite = oppositeC.getChessman();
int count = 1,count2 =1 ;
for(int i=x-1;i>=0;i--){
if(!board.getPos(i, y).getChessman().equals(color)){
break;
}
count++;
}
for(int i=x+1;i<board.boardSize;i++){
if(!board.getPos(i, y).getChessman().equals(color)){
break;
}
count++;
}
for(int i=y+1;i<board.boardSize;i++){
if(!board.getPos(x, i).getChessman().equals(color)){
break;
}
count++;
}
for(int i=y-1;i>=0;i--){
if(!board.getPos(x, i).getChessman().equals(color)){
break;
}
count++;
}
for(int i=x-1,j=y-1;i>=0&&j>=0;i--,j--){
if(!board.getPos(i, j).getChessman().equals(color)){
break;
}
count++;
}
for(int i=x+1,j=y+1;i<board.boardSize&&j<board.boardSize