資源簡介
點點連格棋全國二等獎源代碼,aloha-beta剪枝,評估,效能還行,二等獎水平。

代碼片段和文件信息
#include “Dots?and?Boxes.h“
/////////////////////////////////////////////////////
//
//
// 函數(shù)主體,無平臺,負責(zé)讀取對方下子,更新棋局,
// 生成我方招法
//
//
//////////////////////////////////////////////////////
//全局聲明
NODE?Square[7][7];
EDGE?Horizon[6][6]; //實際中的橫邊[6][5]
EDGE?Vertical[6][6]; //實際中的豎邊[5][6]
int?myturn;
int?xy;
int?Search(int?deepint?alphaint?betaint?turn);
void?Final_Occupy();
LIST?Bestmove;
void?printdegree();
int?mboxes=0yboxes=0;
int?undo_type;
void?undoit(int?type?int?x?int?y);
//悔棋函數(shù)
void?undoit(int?type?int?x?int?y)
{
if(type==0)
{
Horizon[x][y].ismove=1;
Square[x+1][y+1].degree++;
if(Square[x+1][y+1].owner!=-1)
{
Square[x+1][y+1].owner=-1;
}
Square[x][y+1].degree++;
if(Square[x][y+1].owner!=-1)
{
Square[x][y+1].owner=-1;
}
}
else
{
Vertical[x][y].ismove=1;
Square[x+1][y+1].degree++;
if(Square[x+1][y+1].owner!=-1)
{
Square[x+1][y+1].owner=-1;
}
Square[x+1][y].degree++;
if(Square[x+1][y].owner!=-1)
{
Square[x+1][y].owner=-1;
}
}
}
int?FoundC()
{
int?ijk;
for(i=1;i<6;i++)
{
for(j=1;j<6;j++)
{
if(Square[i][j].degree==1)
{
for(k=0;k<=3;k++)
{
if(Square[i][j].edge[k]->ismove==1)
{
Square[i][j].edge[k]->ismove=0;
Square[i][j].degree=0;
Square[i][j].owner=myturn;
mboxes++;
if(k==0)
{
Square[i][j-1].degree--;
if(Square[i][j-1].degree==0)
{
Square[i][j-1].owner=myturn;
mboxes++;
}
}
else?if(k==1)
{
Square[i-1][j].degree--;
if(Square[i-1][j].degree==0)
{
Square[i-1][j].owner=myturn;
mboxes++;
}
}
else?if(k==2)
{
Square[i][j+1].degree--;
if(Square[i][j+1].degree==0)
{
Square[i][j+1].owner=myturn;
mboxes++;
}
}
else?if(k==3)
{
Square[i+1][j].degree--;
if(Square[i+1][j].degree==0)
{
Square[i+1][j].owner=myturn;
mboxes++;
}
}
return?1;
}
}
}
}
}
return?0;
}
int?randmove()
{
int?i?j?k;
int?etype?x?y;????//etpye邊的類型,xy坐標(biāo)
//判斷是否已經(jīng)有C格,有就封上
for(i=1;i<=6;i++)
{
for(j=1;j<=6;j++)
{
if(Square[i][j].degree==1)
{
for(k=0;k<=3;k++)
{
if(Square[i][j].edge[k]->ismove==1)
{
Square[i][j].edge[k]->ismove=0;
Square[i][j].degree=0;
Square[i][j].owner=myturn;
mboxes++;
if(k==0)
{
Square[i][j-1].degree--;
if(Square[i][j-1].degree==0)
{
Square[i][j-1].owner=myturn;
mboxes++;
}
}
else?if(k==1)
{
Square[i-1][j].degree--;
if(Square[i-1][j].degree==0)
{
Square[i-1][j].owner=myturn;
mboxes++;
}
}
else?if(k==2)
{
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-02-18?20:23??點點連格棋9月\
?????目錄???????????0??2012-02-18?20:23??點點連格棋9月\Debug\
?????文件???????20150??2011-09-11?22:49??點點連格棋9月\Debug\Dots?and?Boxes.obj
?????文件???????????0??2011-09-11?22:49??點點連格棋9月\Debug\Dots?and?Boxes.sbr
?????文件???????25771??2011-09-11?22:49??點點連格棋9月\Debug\Evaluate.obj
?????文件???????????0??2011-09-11?22:49??點點連格棋9月\Debug\Evaluate.sbr
?????文件???????40343??2011-09-11?22:49??點點連格棋9月\Debug\Final_Occupy.obj
?????文件???????????0??2011-09-11?22:49??點點連格棋9月\Debug\Final_Occupy.sbr
?????文件????????2990??2011-09-11?22:49??點點連格棋9月\Debug\Move.obj
?????文件???????????0??2011-09-11?22:49??點點連格棋9月\Debug\Move.sbr
?????文件????????6505??2011-09-11?23:27??點點連格棋9月\Debug\Search.obj
?????文件???????????0??2011-09-11?23:27??點點連格棋9月\Debug\Search.sbr
?????文件???????50176??2011-09-11?23:27??點點連格棋9月\Debug\vc60.idb
?????文件???????53248??2011-09-11?23:27??點點連格棋9月\Debug\vc60.pdb
?????文件??????132096??2011-09-11?23:27??點點連格棋9月\Debug\點點連格棋.bsc
?????文件??????249931??2011-09-11?23:27??點點連格棋9月\Debug\點點連格棋.exe
?????文件??????244812??2011-09-11?23:27??點點連格棋9月\Debug\點點連格棋.ilk
?????文件??????247172??2011-09-11?22:49??點點連格棋9月\Debug\點點連格棋.pch
?????文件??????541696??2011-09-11?23:27??點點連格棋9月\Debug\點點連格棋.pdb
?????文件???????11132??2011-09-09?00:08??點點連格棋9月\Dots?and?Boxes.cpp
?????文件????????1707??2011-09-11?21:53??點點連格棋9月\Dots?and?Boxes.h
?????文件???????21530??2011-09-11?20:26??點點連格棋9月\Evaluate.cpp
?????文件?????????285??2011-08-30?22:39??點點連格棋9月\Evaluate.h
?????文件???????36204??2011-09-11?22:38??點點連格棋9月\Final_Occupy.cpp
?????文件?????????554??2011-09-06?17:06??點點連格棋9月\Final_Occupy.h
?????文件?????????832??2011-09-04?20:34??點點連格棋9月\Move.cpp
?????文件?????????113??2011-09-05?19:20??點點連格棋9月\Move.h
?????文件????????4513??2011-09-12?06:27??點點連格棋9月\Search.cpp
?????文件?????????262??2011-09-11?22:49??點點連格棋9月\Search.h
?????文件????????4915??2011-08-30?22:39??點點連格棋9月\點點連格棋.dsp
?????文件?????????528??2011-08-30?22:39??點點連格棋9月\點點連格棋.dsw
............此處省略4個文件信息
- 上一篇:序列優(yōu)化算法改寫
- 下一篇:HTTP500修復(fù)腳本
評論
共有 條評論