角斗士 -- C++编写指导

你需要VC8.0或者VS2005来进行编译
下载C++游戏包,解压。
源文件在OrzTowerDefense文件夹中,编译生成并运行OrzTowerDefense.sln解决方案,其中的Fighter_Cpp小工程就是我们需要用到的。你需要修改的只是OTDFighter.cpp文件中的thinking函数,你可以获得的信息都以注释标识了。分别是
          x我的X坐标
          y我的Y坐标
          enemyX敌人的X坐标
          enemyY敌人的Y坐标
          power我的当前能量
          maxPower 我的当前最大能量
还有两个方法,分别是
          rand 获取随机值
          map->getBlocker(int x, int y) 查询(x,y)点是否有砖块(墙)
 
返回时调用方法getAction(action, director, power)
action分为Fire(开火) Move(移动) Sleep(休息)
director分为East South West North
power就是你赋予这个动作的能量值了
 
thinking函数中已有一些默认的简单逻辑,一开始先将X轴的砖块清理干净,然后在X轴上进行平移(跟踪敌人的X坐标),发现X点坐标与敌人相同时,沿Y轴向敌人进行射击。
 
打开游戏请运行bin/debug目录下的Controller_Win32.exe程序,你可以配置一些显示参数,只要配置一次,就会自动保存。我的习惯是切换成窗口模式。
初始敌人是一个进行随机动作响应的无脑儿。战胜他后,你可以进行下一轮挑战。更改敌人请修改bin/debug目录下的FighteingClub.xml文件。这里可以决定由哪两位角斗士进行战斗,只可以1对1哦。而且请不要让两个相同的角斗士进行战斗,否则会出现意想不到的情况。
敌人分别名为  
     OTDEnemy
     OTDEnemy1
     OTDEnemy2
     OTDEnemy3
难度逐层提高
 
如果你想改用Chai或者Lua进行编程(可以省去编译的时间),那就将FighteingClub.xml文件中的Fighter_Cpp改成相应的脚本战斗者(Fighter_Chai or Fighter_Lua),然后请参照其他脚本的编写手则。
 
Good Luck!

Copyright @ GameAiPk - 游戏AI竞技网 All Rights Reserved

Mail: admin@mygameai.com  Tel: 13816782827

  沪ICP备09069436号