资源简介
此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\li
文件 2 2011-08-10 16:13 movetest0.7 - 副本\movetest\Debug\li
文件 2 2011-08-10 16:13 movetest0.7 - 副本\movetest\Debug\li
文件 2 2011-08-10 16:13 movetest0.7 - 副本\movetest\Debug\li
文件 2 2011-08-10 16:13 movetest0.7 - 副本\movetest\Debug\li
文件 2 2011-08-10 16:13 movetest0.7 - 副本\movetest\Debug\li
文件 2 2011-08-10 16:13 movetest0.7 - 副本\movetest\Debug\li
文件 2 2011-08-10 16:13 movetest0.7 - 副本\movetest\Debug\li
文件 2 2011-08-10 16:13 movetest0.7 - 副本\movetest\Debug\li
文件 2 2011-08-10 16:13 movetest0.7 - 副本\movetest\Debug\li
文件 2 2011-08-10 16:13 movetest0.7 - 副本\movetest\Debug\li
文件 2 2011-08-10 16:13 movetest0.7 - 副本\movetest\Debug\li
文件 2 2011-08-10 16:13 movetest0.7 - 副本\movetest\Debug\li
文件 2 2011-08-10 16:13 movetest0.7 - 副本\movetest\Debug\li
文件 2 2011-08-10 16:13 movetest0.7 - 副本\movetest\Debug\li
文件 2 2011-08-10 16:13 movetest0.7 - 副本\movetest\Debug\li
文件 2 2011-08-10 16:13 movetest0.7 - 副本\movetest\Debug\li
文件 2 2011-08-10 16:13 movetest0.7 - 副本\movetest\Debug\li
文件 2 2011-08-10 16:13 movetest0.7 - 副本\movetest\Debug\li
文件 2 2011-08-10 16:13 movetest0.7 - 副本\movetest\Debug\li
文件 2 2011-08-10 16:13 movetest0.7 - 副本\movetest\Debug\li
文件 2 2011-08-10 16:13 movetest0.7 - 副本\movetest\Debug\li
文件 2 2011-08-10 16:13 movetest0.7 - 副本\movetest\Debug\li
............此处省略88个文件信息
- 上一篇:unity体积雾详解内含中文版
- 下一篇:Gurobi简介
相关资源
- E4A无障碍跨程序操作类库(带源码、
- 设备管理系统源码
- 安卓wifi直连app源码
- 我的世界源码(易语言版)
- labview编程软件滤波器以及编写程序设
- 我的界面(visual foxpro)源码
- 易语言:一键cf基址源码
- The Secret Path 3D 3D魔方迷宫[源码][scra
- scratch垃圾分类源码(最终版本).sb
- 安卓QQ6.71协议源码易语言,qq协议源码
- 编译原理实验工具及参考源码(lex&
- E盾偷后台工具源码
- UNIX/LINUX编程实践教程的源码
- 十以内加减法练习 powerbuilder源码
- 农场开发项目
- OCR源码
- PLC上位机编程软件
- 用foobar2000听google音乐[更新一下]
- 学生信息管理系统源码
- 用VC 编写的仿QQ聊天室程序源代码
- 毕业论文之温度传感器DS18B20(源码
- 可自定义导航网站源码
- 栅栏填充算法源码(VC)
- msp430F149操作红外接收模块源码
- [免费]图像识别c 源码
- 周易排盘源码
- RSA算法源码
- 一个人脸识别程序源码
- 编译原理课程设计:词法语法编译器
- 透明加密源码及说明
评论
共有 条评论