机器人技术(1): 常用函数
温馨提醒
相关资料链接:
RoboCup 2D 常用函数简明含义
函数名称 | 功能说明 |
---|---|
dribble(angle, speed) | 控制球员带球移动。angle 表示带球方向,speed 表示带球速度(如DRIBBLE_FAST 、DRIBBLE_SLOW 等)。 |
kickTo(targetPosition, speed) | 球员向目标位置(targetPosition )踢球,speed 指定踢球的速度。 |
leadingPass(teammate, power) | 向最近的队友传球,teammate 是要传球的目标队友,power 表示传球力度。 |
getNrInSetInCircle(set, circle) | 计算指定半径的圆圈内(circle )特定对象集合(set ,如对手或队友)的数量。例如用来判断7米范围内是否有对手球员。 |
getClosestInSetTo(set, position) | 获取距离指定位置(position )最近的特定对象集合(set )中的对象,例如找到离当前球员最近的队友或对手。 |
isOpponentAtAngle(angleMin, angleMax) | 判断在给定的角度范围内是否有对方球员。常用于决定是否在某个方向射门或传球。 |
getGlobalPosition(object) | 获取场上某个对象(球员、对手、球等)的全局坐标位置(X, Y 坐标)。 |
getBallPos() | 获取球的当前位置坐标。 |
moveToPos(position, speed) | 移动球员到指定的position (坐标位置),并以speed 指定的速度执行移动。 |
isBallKickable() | 判断当前球是否在球员的控制范围内(即球员是否可以踢球)。 |
kickBallCloseToBody(angle) | 控制球员以指定的angle (角度)把球围绕身体转动。 |
intercept(timeout) | 尝试在指定时间内抢断球(通常用在防守场景)。 |
turnNeckToObject(object) | 让球员将头(视角)转向指定的object (如球或对方球员),通常用于跟踪球的位置。 |
getPlayerNumber() | 返回当前球员的编号(如2号、10号等),不同球员编号对应不同策略。例如10号通常为前锋,会有更多进攻行为。 |
getTeammateNumber() | 获取指定队友的编号,用于传球决策时判断目标球员是否为特定队友。 |
getPosOpponentGoal() | 获取对方球门的位置,通常用于判断进攻方向或射门目标。 |
shootToGoalex(object) | 指定球员向对方球门射门,通常由接近球门的前锋使用。 |
getBallSpeedMax() | 获取当前球员能踢球的最大速度。 |
getDirection() | 计算某个目标相对于当前球员的方向(角度),例如计算球门方向或队友位置的方向。 |
isInTheirPenaltyArea(position) | 判断某个位置是否位于对方禁区内,常用于决定射门或传球策略。 |
putCommandInQueue(command) | 将指令(command )放入执行队列,确保该操作能够在下一次循环中执行。 |
Circle(center, radius) | 创建一个以center 为中心,radius 为半径的圆,用于计算范围内的球员数量或球的距离。 |
Line::makeLineFromPositionAndAngle(position, angle) | 根据给定的position 和angle 生成一条直线,通常用于计算球的运动轨迹或球员的移动路径。 |
isOffsideUs() | 判断是否处于本方越位模式,适用于进攻方的越位规则判断。 |
isCornerKickUs() | 判断是否处于本方角球模式。 |
isOwnSideOpponentMost() | 判断己方半场的对手人数是否多于对方半场的对手人数。常用于判断防守或进攻策略。 |
getSecondClosestInSetTo(set, object) | 获取距离指定object 最近的第二个对象(通常是球员),用于策略决策,例如传球或防守。 |
仅供参考,可能有误