Difference between revisions of "Historical Velocity Recall"
Jump to navigation
Jump to search
m (Historical Velocity Recal moved to Historical Velocity Recall) |
m (removing "Targeting" category) |
||
| Line 34: | Line 34: | ||
[[Category:Simple Targeting Strategies]] | [[Category:Simple Targeting Strategies]] | ||
| − | |||
Revision as of 16:11, 29 November 2007
A method of targeting that uses the most common enemy velocity as input to a linear targeting or circular targeting algorithm.
Example using linear targeting
int[] _velocityCounts = new int[9];
public void onScannedRobot(ScannedRobotEvent e) {
int goingBackwardsMultiplier = (e.getVelocity() < 0 ? -1 : 1);
int enemyAbsVelocity = (int)Math.round(Math.abs(e.getVelocity()));
_velocityCounts[enemyAbsVelocity]++;
int mostCommonVelocity = 0;
int mostCommonVelocityCount = _velocityCounts[0];
for (int x = 1; x < 9; x++) {
if (_velocityCounts[x] > mostCommonVelocityCount) {
mostCommonVelocityCount = _velocityCounts[x];
mostCommonVelocity = x;
}
}
fireWithLinearTargeting(e.getHeadingRadians(),
mostCommonVelocity * goingBackwardsMultiplier);
}