資源簡介
這是一個愛因斯坦博弈棋,已經實現了人工智能,還有點缺陷,沒有做界面,
代碼片段和文件信息
import?java.util.*;
class?STONE
{
public?int?Position?=?-1;
public?boolean?IsExist?=?false;
public?int?Distance?=?0;
}
public?class?Einstein
{
final?int?DISTANCE[]?=?
{
44444
43333
43222
43211
43210
};
public?Random?random;
public?int?Board[];
public?STONE?Stone[];
Einstein()
{
Board?=?new?int[25];
Stone?=?new?STONE[13];
random?=?new?Random();
for(int?i=0;i<13;i++)
{
Stone[i]?=?new?STONE();
}
InitBoard();
Init();
}
void?InitBoard()
{
int?i=0;
int?cn[]?=?{123456};
int?hn[]?=?{123456};
int?cPos[]?=?{0?1?2?5?6?10};
int?hPos[]?=?{14?18?19?22?23?24};
for(i=0;?i<25;?i++)
{
Board[i]?=?0;
}
i?=?0;
//初始化電腦方棋盤
int?Rand?=?random.nextInt(6);
while?(i<6)
{
if?(cn[Rand]?!=?0)
{
Board[cPos[i]]?=?cn[Rand];
cn[Rand]?=?0;
i++;
}
Rand?=?random.nextInt(6);
}
//初始化玩家方棋盤
Rand?=?random.nextInt(6);
i=0;
while?(i<6)
{
if?(hn[Rand]?!=?0)
{
Board[hPos[i]]?=?hn[Rand]+6;
hn[Rand]?=?0;
i++;
}
Rand?=?random.nextInt(6);
}
}
public?void?Print()
{
for(int?i=0;i<25;i++)
{
if(Board[i]!=0)
{
if(Board[i]<7)
{
System.out.print(“?--B“+Board[i]+“--?“);
}
else
{
System.out.print(“?--G“+(Board[i]-6)+“--?“);
}
}
else
{
System.out.print(“?------?“);
}
if((i+1)%5==0)
{
System.out.println();
}
}
System.out.println();
}
public?void?GetBoard(int[]?board)
{
for(int?i=0;i<25;i++)
{
Board[i]?=?board[i];
}
Init();
}
public?int[]?SetBoard()
{
return?Board;
}
public?void?Init()
{
for?(int?i=0;?i<25;?i++)
{
Stone[Board[i]].Position?=?i;
Stone[Board[i]].IsExist?=?Board[i]>0?true:false;
Stone[Board[i]].Distance?=?Board[i]<7???DISTANCE[i]:DISTANCE[24-i];
}
}
public?int?GetBlueDice()
{
return?random.nextInt(6*100000)%6?+1;
}
public?int?GetGreenDice()
{
return?random.nextInt(6*100000)%6?+?7;
}
public?boolean?IsBlueWin()
{
return?(?(Board[24]?7?&&?Board[24]?>0)?
?||?(!Stone[7].IsExist?&&?!Stone[8].IsExist?
?&&?!Stone[9].IsExist?&&?!Stone[10].IsExist?
? ?&&?!Stone[11].IsExist?&&?!Stone[12].IsExist)?);
}
public?boolean?IsGreenWin()
{
return?(?(Board[0]?>?6)?
?||?(!Stone[1].IsExist?&&?!Stone[2].IsExist?
?&&?!Stone[3].IsExist?&&?!Stone[4].IsExist?
? ?&&?!Stone[5].IsExist?&&?!Stone[6].IsExist)?);
}
public?boolean?IsBlueVaild(int?Diceint?moveFromint?moveTo)
{
int?m?=?Dice;
if(?moveTo?>?24?||?moveFrom?0?)
return?false;
//查找大于或等于骰子數Dice的第一個骰子
while(m<7?&&?!Stone[m].IsExist)
{
m++;
}
if(Stone[m].Position?==?moveFrom)
{
if(moveFrom?>19?&&?moveFrom?25)
{
return?moveTo?==?moveFrom+1;
}
else?if((moveFrom+1)%5?==?0)
{
return?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4870??2014-05-23?22:13??Einstein-1\Einstein.class
?????文件???????7672??2014-03-26?12:27??Einstein-1\Einstein.java
?????文件???????1071??2014-05-23?22:13??Einstein-1\GameThread.class
?????文件????????661??2014-03-26?11:17??Einstein-1\GameThread.java
?????文件???????8161??2014-05-23?22:13??Einstein-1\McSearch.class
?????文件??????13891??2014-03-26?12:13??Einstein-1\McSearch.java
?????文件????????222??2014-05-23?22:13??Einstein-1\MoveList.class
?????文件????????313??2014-05-23?22:13??Einstein-1\MoveListAndCount.class
?????文件????????308??2014-05-23?22:13??Einstein-1\STONE.class
?????文件????????297??2014-05-23?22:13??Einstein-1\Sum.class
?????文件???????4204??2014-07-10?14:15??Einstein-1\Windows.class
?????文件???????4587??2014-07-10?14:15??Einstein-1\Windows.java
?????文件???????4674??2014-07-10?14:14??Einstein-1\Windows.java.bak
?????目錄??????????0??2014-12-30?23:24??Einstein-1
-----------?---------??----------?-----??----
????????????????50931????????????????????14
- 上一篇:QPST救磚所需文件
- 下一篇:分期實際年化利率計算器
評論
共有 條評論