public double getBinScore(Wave w, Point2D.Double targetLocation) { double binScore = 0; GuessFactorWindowSet gfWindow = w.guessFactorWindow(targetLocation); int lowIndex = w.guessFactorIndex(gfWindow.guessFactorLow); int highIndex = w.guessFactorIndex(gfWindow.guessFactorHigh); binScore += _highStatBuffers.getWindowScore( w.targetScan, w.targetScan.getInverseScan(), w.bulletPower, BINS, lowIndex, highIndex); binScore += _lowStatBuffers.getWindowScore( w.targetScan, w.targetScan.getInverseScan(), w.bulletPower, BINS, lowIndex, highIndex); if (_flattenerEnabled) { binScore += _extraFlatStatBuffers.getWindowScore( w.targetScan, w.targetScan.getInverseScan(), w.bulletPower, BINS, lowIndex, highIndex); } return binScore; }
public void processWave(Wave w) { GuessFactorWindowSet gfWindow = w.guessFactorWindow(ScanLog.myLocation()); int gfBin = w.guessFactorIndex(gfWindow.guessFactor); int gfBinLow = w.guessFactorIndex(gfWindow.guessFactorLow); int gfBinHigh = w.guessFactorIndex(gfWindow.guessFactorHigh); BotScan enemyScan = w.targetScan.getInverseScan(); for (int x = 0; x < _waveRegisters.size(); x++) { WaveRegister wr = (WaveRegister) _waveRegisters.get(x); wr.registerWaveHit( w.targetScan, enemyScan, w.bulletPower, gfWindow.guessFactor, gfBin, gfBinLow, gfBinHigh, w.firingWave, w.fireTime, w.orientation, w.escapeAngleRange()); } w.processedWaveBreak = true; }