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版本应使用: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轴为对应的评价值(比如要计算传球的收益的话,即可用目标点的评价值-当前点的评价值)。
  • src:存放源代码文件(.h/.cpp)。源代码文件编码为GB18030。