CodeTank Cheat Sheet

Base API 基本API

ahead(distance, onFinished)
向前走一定距离

示例代码:

this.ahead(100,function(){ this.fire(1); });
back(distance, onFinished)
向后走一定距离
doNothing()
什么也不做
fire(power)
开火
getBattleFieldHeight()
返回战场高度
getBattleFieldWidth()
返回战场宽度
getBattleFieldSize()
返回战场尺寸
getBearing(obj)
返回某对象相对于坦克的角度
getDistance(obj)
返回坦克距离某对象的距离
getEnergy()
返回坦克能量
getDistanceRemaining()
返回剩余的移动距离
getTurnRemaining()
返回剩余的旋转角度
getGunTurnRemaining()
返回剩余的炮管旋转角度
getRadarTurnRemaining()
返回剩余的雷达旋转角度
getGraphics()
返回绘制坦克的2Dcontext
getGunColdRate()
获取炮管冷却速率
getGunHeading()
返回火炮朝向角度
getGunHeat()
获取炮管热度
getHeading()
返回坦克朝向角度
getSize()
返回坦克的尺寸
getHeight()
返回坦克的高度
getWidth()
返回坦克的宽度
getName()
返回坦克的名字
getOthers()
获取敌人的数量
getPos()
返回坦克中心的位置
getX()
返回坦克的X位置
getY()
返回坦克的Y位置
getRadarHeading()
返回雷达朝向角度
getSpeed()
返回坦克的速度
scan()
恢复雷达扫描
loop(func)
循环执行某动作
stopMove()
停止移动
turn(angle, onFinished)
坦克车身旋转一定角度
turnGun(angle, onFinished)
火炮旋转一定角度
turnGunLeft(angle, onFinished)
火炮向左旋转一定角度
turnGunRight(angle, onFinished)
火炮向右旋转一定角度
turnLeft(angle, onFinished)
坦克车身向左旋转一定角度
turnRadar(angle, onFinished)
雷达旋转一定角度
turnRadarLeft(angle, onFinished)
雷达向左旋转一定角度
turnRadarRight(angle, onFinished)
雷达向右旋转一定角度
turnRight(angle, onFinished)
坦克车身向右旋转一定角度
run()
运动主函数,用户重写该函数,实现robot自定义的运动轨迹

示例代码:

run:function(){ this.ahead(150); this.turnGunRight(90); }

Advanced API 高级API

setUI(ui)
更换UI

示例代码:

this.setUI(tank.ui.green);
setScanStyle(style)
设置雷达射线颜色
setAdjustGunForRobotTurn(independent)
设置火炮是否独立于robot的旋转
setAdjustRadarForGunTurn(independent)
设置雷达是否独立于火炮的旋转
setAdjustRadarForRobotTurn(independent)
设置雷达是否独立于robot的旋转
setAhead(distance)
设置下一次执行的前进的距离
setGunTurn(angle)
设置下一次火炮执行旋转的角度
setRadarTurn(angle)
设置下一次雷达执行旋转的角度
setTurn(angle)
设置下一次执行旋转的角度
setRadarTurn(angle)
设置下一次雷达执行旋转的角度
setRadarTurn(angle)
设置下一次雷达执行旋转的角度
say(words, color)
说话
execute(onFinished)
执行设定的自定义行为
getTeammates()
获取队友列表
sendMessage(robot,message)
向队友发送消息
broadcastMessage(message)
向所有队友发送消息

示例代码:

this.setAhead(200); setTurn(360); execute();//移动和旋转同时执行

Input Event Handlers 输入事件处理程序

onClick(e)
鼠标点击事件处理程序
onKeyDown(e)
键盘按下事件处理程序
onKeyUp(e)
键盘松开事件处理程序
onMouseDown(e)
鼠标按下事件处理程序
onMouseMove(e)
鼠标移动事件处理程序
onMouseUp(e)
鼠标松开事件处理程序

Tank Event Handlers 坦克事件处理程序

onBulletHit(e)
子弹射中其他robot事件处理程序
onBulletHitBullet(e)
子弹射中其他子弹事件的处理程序
onBulletMissed(e)
子弹射失事件处理程序
onDeath(e)
坦克死亡事件的处理程序
onHitByBullet(e)
被子弹射中事件处理程序
onHitRobot(e)
撞击其他Robot事件处理程序
onHitWall(e)
撞击墙壁事件处理程序
onPaint(context)
绘制坦克事件处理程序
onRobotDeath(e)
其他坦克死亡事件的处理程序
onScannedRobot(e)
雷达扫描到其他坦克事件的处理程序

示例代码:

onScannedRobot:function(e){ this.fire(1); }
onWin(e)
坦克胜利事件的处理程序