代码导读
WrightEagleBASE 是 WrightEagle 2D Soccer Simulation Team 发布的球队底层代码,可于此处取得。该
导读补充代码中注释的不足及注释无法解释清楚的问题,导读假定读者对 RoboCup 2D 的规则及 Server
物理模型具有清晰和深刻的理解。
代码包结构
代码包里有以下几部分内容:
AUTHORS, COPYING, NEWS, README:必要的法律文件,注意
WrightEagleBASE 发布在 GPL 下,不是 LGPL。
Debug, Release, Makefile:WrightEagleBASE 提供了两个版本的 Makefile,均是
由 Eclipse 生成。Debug 版本带有断言(assert),正常比赛应使用 Release 版本。Makefile
调用 Debug 和 Release 下的 makefile,默认编译 Debug 版本,编译 Release 版本应使用:
?
View Code BASH
1
make release
Linux 下编译需要 pthread 库。原则上代码可以在 Windows 平台编译通过,但目前所有使用
Windows 的队员均已离职,故无法保证这一点。
start.sh:球队上场示例脚本。接受两个参数:$1 为 server IP,默认 localhost;$2
指示调用 Debug/Release 版本,默认 Release。示例脚本假定守门员是 1 号。
dbg, dd, genlog, memcheck, showlog, initrc, dynamicdebug.txt, Logfiles:前 5 个
是调试工具,initrc 是调试工具的公共代码,dynamicdebug.txt 是调试用附加文件,Logfiles
目录存放球队的各种 log 文件。
conf, formations, data:配置文件或数据文件。conf 下有 player.conf 和
server.conf,其中参数与 server 中的同名参数意义相同,player.conf 另有两部分参数——调
试开关和性能选项。formations 下定义了各种阵型。data 下的几个文件是离线计算好的数据
文件,sensitivity 是一个简单的评价体系,即按位置评价,如下图所示,XY 平面表示球或人
所在位置,Z 轴为对应的评价值(比如要计算传球的收益的话,即可用目标点的评价值-当前