diff --git a/32.jar b/32.jar new file mode 100644 index 0000000..0567c42 Binary files /dev/null and b/32.jar differ diff --git a/core/src/MyStrategy.java b/core/src/MyStrategy.java index fdfb141..1fb3681 100755 --- a/core/src/MyStrategy.java +++ b/core/src/MyStrategy.java @@ -29,7 +29,6 @@ public final class MyStrategy implements Strategy { public static final int WORLD_CELL_SIZE = 32; public static final double GROUP_SIZE = 50; public static final double GROUP_HALF_SIZE = GROUP_SIZE / 2; - public static final int MIN_NUCLEAR_DMG = 520; public static final List FIGHTER_PREF_TARGETS = Arrays.asList(HELICOPTER, FIGHTER); public static final List HELI_PREF_TARGETS = Arrays.asList(TANK, ARRV, HELICOPTER, IFV, FIGHTER); public static final double SHOULD_HEAL_TRESHOLD = 0.64; @@ -791,7 +790,6 @@ private PlainArray calcMap(VehicleGroupInfo group) { //TODO improve logic at fin }); - cornerPushersFiltered.keySet().removeIf(corner -> { int distanceThreshold = 13 * 13; for (Point2D facPoint : getUnitsCount(true).get(ARRV).keySet()) { @@ -1389,7 +1387,7 @@ private boolean tryPickNuclearTarget() { if (me.getRemainingNuclearStrikeCooldownTicks() == 0 && scheduledStrike == null) { int remainingHp = um.enemyStats.remainingHp; - int minNuclearDmg = world.getTickIndex() > 8_000 ? (int) Math.min(MyStrategy.MIN_NUCLEAR_DMG, remainingHp * 0.6) : MyStrategy.MIN_NUCLEAR_DMG; + int minNuclearDmg = world.getTickIndex() > 8_000 ? (int) Math.min(getMinNuclearDmg(), remainingHp * 0.6) : getMinNuclearDmg(); NuclearStrike max = NuclearStrike.getMaxDmg(this, minNuclearDmg); @@ -1450,6 +1448,10 @@ private boolean tryPickNuclearTarget() { return false; } + public int getMinNuclearDmg() { + return world.getTickIndex() > 6000 ? 3000 : 3700; + } + private double getSmartDistance(VehicleGroupInfo g1, VehicleGroupInfo g2) { if (g2 == null) { return 2000; diff --git a/core/src/NuclearStrike.java b/core/src/NuclearStrike.java index dbcdc03..9a52102 100644 --- a/core/src/NuclearStrike.java +++ b/core/src/NuclearStrike.java @@ -3,7 +3,7 @@ import java.util.Comparator; public class NuclearStrike { - public static final int PREDICTION_TICK = 33 / 3; + public static final int PREDICTION_TICK = 0; public static final int KILL_BONUS = 45; public final VehicleWrapper myVehicle; public final VehicleWrapper target; @@ -114,7 +114,7 @@ public void finish() { myVehicleDidSurvive = myVehicle.v.getDurability() > 0; - if (enemyStats.damagedPoints < -MyStrategy.MIN_NUCLEAR_DMG) { + if (enemyStats.damagedPoints < -myStrategy.getMinNuclearDmg()) { succeed = true; } myStrategy.didNuclearStrikes.add(this); diff --git a/lr/local-runner-sync.default.properties b/lr/local-runner-sync.default.properties index caf0678..f968254 100755 --- a/lr/local-runner-sync.default.properties +++ b/lr/local-runner-sync.default.properties @@ -1,5 +1,5 @@ # Отрисовка игры на экран: true или false. -render-to-screen=false +render-to-screen=true # Синхронизация обсчёта игры и её отрисовки на экран: true или false. # Не используется, если настройка render-to-screen=false.