• 大小: 7.94MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2022-03-29
  • 语言: 其他
  • 标签: 亚马逊棋  源码  

资源简介

此code仅限于在做小棋种的童靴,能看懂就看懂,看不懂供参考,亚马逊棋~

资源截图

代码片段和文件信息

#ifndef _EVALUATE_CPP_
#define _EVALUATE_CPP_

#include “define.h“
#include “evaluate.h“
#include
#include
const int inf = 0xfffffff;
const double EQUAL = 0.2;
extern int dt[2][8];
//r_valuew_valuef_value,用于临时存储Qmove,Kmove,灵活度计算时产生的临时数据
MapType pr_valuew_valuef_value;

//队列Q在计算灵活度时使用
bird_queue Q;
////////***************************************//////
////////////*********************************///////
void calc_value(int cMapType &vint mode)
{
int ijkp;
int xfyftxtynxny;
bool vis[10][10];

if (c == RED) p = 0;
else p = 4;

for (k=0;k<4;++k) {
xf = posx[p+k];
yf = posy[p+k];
memset(vis0sizeof(vis));
vis[xf][yf] = 1;
v[xf][yf] = 0;
Q.push(xfyf);
while(!Q.empty()) {
tx = Q.front().x;
ty = Q.front().y;
Q.pop();
for (i = 0;i<8;++i) {
nx = tx + dt[0][i];
ny = ty + dt[1][i];
while( ismove(nxny) ) {
if (vis[nx][ny] == 0) {
vis[nx][ny] = 1;
if (v[nx][ny] > v[tx][ty] + 1)
v[nx][ny] = v[tx][ty] + 1;
Q.push(nxny);
}
if (mode == KVALUE)
break;
nx += dt[0][i];
ny += dt[1][i];
}
}
}
}
return;
}

////////***************************************////
inline double e_max(double xdouble y){return x>y?x:y;}
inline double e_min(double xdouble y){return x/* t = t1*((1.0)/(w+1.0))
  + c1*((w*0.5)/(w+1.0))
  + c2*((w*0.3)/(w+1.0))
  + t2*((w*0.2)/(w+1.0));*/
double f1(double w)
{
double temp;
temp=(1.0)/(sqrt(w)+1.0);
return temp;
}
double f2(double w)
{
double temp;
temp=(w*0.3)/(w+1.0);
return temp;
}
double f3(double w)
{
double temp;
temp=(w*0.2)/(w+1.0);
return temp;
}
double f4(double w)
{
double temp;
temp=(0.8)/(sqrt(w)+1.0);
return temp;
}
double evaluate_jens(int color)
{
int ijkf_cnt;
double t1t2c1c2wtmalph_ralph_w;
t1 = t2 = c1 = c2 = w = t = m = alph_r = alph_w = 0;
for (i=0;i<10;++i)
for (j=0;j<10;++j)
r_value[i][j] = w_value[i][j] = inf;
calc_value(REDr_valueQVALUE);
calc_value(WHITEw_valueQVALUE);
/////////////////////以下计算t1
for (i=0;i<10;++i)
for (j=0;j<10;++j)
if(r_value[i][j]==w_value[i][j])
if(r_value[i][j]==inf)continue;
else  t1+=EQUAL;
else 
if (r_value[i][j]<=w_value[i][j])t1+=1;
else t1+=-1;
/////////////////////以下计算c1
for (i=0;i<10;++i)
for (j=0;j<10;++j)
if(r_value[i][j]==w_value[i][j])continue;
else 
if(r_value[i][j]==inf) c1+= -pow(2.0-w_value[i][j]);
else if(w_value[i][j]==inf) c1+=  pow(2.0-r_value[i][j]);
 else c1+=pow(2.0-r_value[i][j])-pow(2.0-w_value[i][j]);
/////////////////////以下计算w
for (i=0;i<10;++i)
for (j=0;j<10;++j)
 w+=pow(0.5abs(r_value[i][j]-w_value[i][j]));
///////////////////////////////////////////////////////////////////////////
calc_value(REDr_valueKVALUE);
calc_value(WHITEw_valueKVALUE);
/////////////////////以下计算t2
for (i=0;i<10;++i)
for (j=0;j<1

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件    1075040  2011-08-10 16:13  movetest0.7 - 副本\Debug\movetest.ilk

     文件    2509824  2011-08-10 16:13  movetest0.7 - 副本\Debug\movetest.pdb

     文件      15554  2011-07-26 20:14  movetest0.7 - 副本\movetest\Debug\BuildLog.htm

     文件       9374  2011-08-10 16:13  movetest0.7 - 副本\movetest\Debug\cl.command.1.tlog

     文件      53570  2011-08-10 16:13  movetest0.7 - 副本\movetest\Debug\CL.read.1.tlog

     文件       8154  2011-08-10 16:13  movetest0.7 - 副本\movetest\Debug\CL.write.1.tlog

     文件      28436  2011-08-10 16:13  movetest0.7 - 副本\movetest\Debug\evaluate.obj

     文件          2  2011-08-10 16:13  movetest0.7 - 副本\movetest\Debug\link-cvtres.read.1.tlog

     文件          2  2011-08-10 16:13  movetest0.7 - 副本\movetest\Debug\link-cvtres.write.1.tlog

     文件          2  2011-08-10 16:13  movetest0.7 - 副本\movetest\Debug\link.2752-cvtres.read.1.tlog

     文件          2  2011-08-10 16:13  movetest0.7 - 副本\movetest\Debug\link.2752-cvtres.write.1.tlog

     文件          2  2011-08-10 16:13  movetest0.7 - 副本\movetest\Debug\link.2752.read.1.tlog

     文件          2  2011-08-10 16:13  movetest0.7 - 副本\movetest\Debug\link.2752.write.1.tlog

     文件          2  2011-08-10 16:13  movetest0.7 - 副本\movetest\Debug\link.3428-cvtres.read.1.tlog

     文件          2  2011-08-10 16:13  movetest0.7 - 副本\movetest\Debug\link.3428-cvtres.write.1.tlog

     文件          2  2011-08-10 16:13  movetest0.7 - 副本\movetest\Debug\link.3428.read.1.tlog

     文件          2  2011-08-10 16:13  movetest0.7 - 副本\movetest\Debug\link.3428.write.1.tlog

     文件          2  2011-08-10 16:13  movetest0.7 - 副本\movetest\Debug\link.3700-cvtres.read.1.tlog

     文件          2  2011-08-10 16:13  movetest0.7 - 副本\movetest\Debug\link.3700-cvtres.write.1.tlog

     文件          2  2011-08-10 16:13  movetest0.7 - 副本\movetest\Debug\link.3700.read.1.tlog

     文件          2  2011-08-10 16:13  movetest0.7 - 副本\movetest\Debug\link.3700.write.1.tlog

     文件          2  2011-08-10 16:13  movetest0.7 - 副本\movetest\Debug\link.3900-cvtres.read.1.tlog

     文件          2  2011-08-10 16:13  movetest0.7 - 副本\movetest\Debug\link.3900-cvtres.write.1.tlog

     文件          2  2011-08-10 16:13  movetest0.7 - 副本\movetest\Debug\link.3900.read.1.tlog

     文件          2  2011-08-10 16:13  movetest0.7 - 副本\movetest\Debug\link.3900.write.1.tlog

     文件          2  2011-08-10 16:13  movetest0.7 - 副本\movetest\Debug\link.4256-cvtres.read.1.tlog

     文件          2  2011-08-10 16:13  movetest0.7 - 副本\movetest\Debug\link.4256-cvtres.write.1.tlog

     文件          2  2011-08-10 16:13  movetest0.7 - 副本\movetest\Debug\link.4256.read.1.tlog

     文件          2  2011-08-10 16:13  movetest0.7 - 副本\movetest\Debug\link.4256.write.1.tlog

     文件          2  2011-08-10 16:13  movetest0.7 - 副本\movetest\Debug\link.4924-cvtres.read.1.tlog

............此处省略88个文件信息

评论

共有 条评论