资源简介
此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简介
相关资源
- PB非常优秀的授权框架源码
- react移动端H5点餐项目源码.rar
- WDK源码中 usbView 的编译及说明 .
- VC++开发的仓库管理系统设计文档和
- Qt黑白棋项目源码
- 运动车辆检测跟踪系统vc源码opencv
- 房产租房管理系统 计算机专业本科毕
- 五子棋(GoBang) 安卓APP 源码
- 米酷影视源码MKCMS5.0影视源码
- Tomcat 系统架构与设计模式
- 欧洲 测量与标定协议 XCP 文档,vect
- DirectX.Capture ffdshow摄像头录制视频拍照
- e4a源码+登录验证+同步官方
- unix高级环境编程第3版英文版高清PD
- modbus主机源码.rar
- 以太坊最新源码 go语言版
- 用VC2010编写的基于TCPIP的Modbus网络通讯
- 驾校管理系统源码
- 校园小商品交易系统源码20131225
- mxgraphDemo
- 医院信息科运维登记系统源码
- 仿360手机助手秒装和智能安装功能源
- 进销存源码NetBeans
- PIXHAWK飞控源码
- QtCreator快速入门第二版源码
- 微信支付的demo,带完整的源码,可直
- STM32F4 CAN1 通讯源码
- 10多套淘宝客专用单页源码
- lua游戏ai开发指南 源码
- VC五子棋源代码 想要的速度下哦 多线
评论
共有 条评论