Skip to content

Commit

Permalink
- save helics- 27
Browse files Browse the repository at this point in the history
  • Loading branch information
dmitry committed Dec 15, 2017
1 parent b798a2c commit 430bfb3
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 6 deletions.
40 changes: 36 additions & 4 deletions core/src/MyStrategy.java
Original file line number Diff line number Diff line change
Expand Up @@ -347,17 +347,17 @@ private PlainArray calcMap(VehicleGroupInfo group) { //TODO improve logic at fin

if (group.vehicleType == FIGHTER) {

Map<Point2D, Integer> fighterAndHelics = new HashMap<>(getUnitsCount(true).get(FIGHTER));
Map<Point2D, Integer> enFighterAndHelics = new HashMap<>(getUnitsCount(true).get(FIGHTER));
{

Map<Point2D, Integer> helics = getUnitsCount(true).get(HELICOPTER);

for (Map.Entry<Point2D, Integer> entry : helics.entrySet()) {
fighterAndHelics.put(entry.getKey(), fighterAndHelics.getOrDefault(entry.getValue(), 0) + entry.getValue()); //TODO tune
enFighterAndHelics.put(entry.getKey(), enFighterAndHelics.getOrDefault(entry.getValue(), 0) + entry.getValue()); //TODO tune
}


Set<Map.Entry<Point2D, Integer>> figAndHelicsSet = fighterAndHelics.entrySet();
Set<Map.Entry<Point2D, Integer>> figAndHelicsSet = enFighterAndHelics.entrySet();


double range = plainArray.cellsWidth * 1.2;
Expand Down Expand Up @@ -421,7 +421,7 @@ private PlainArray calcMap(VehicleGroupInfo group) { //TODO improve logic at fin
boolean intruders = false;
for (int x = center.getIntX() - half; x <= center.getIntX() + half; x++) {
for (int y = center.getIntY() - half; y <= center.getIntY() + half; y++) {
Integer fighterOrHelicsCount = fighterAndHelics.get(new Point2D(x, y));
Integer fighterOrHelicsCount = enFighterAndHelics.get(new Point2D(x, y));
if (fighterOrHelicsCount != null && fighterOrHelicsCount > 0) {
intruders = true;
//entry.setValue(0)
Expand Down Expand Up @@ -510,6 +510,38 @@ private PlainArray calcMap(VehicleGroupInfo group) { //TODO improve logic at fin
}
}
}

HashMap<Point2D, Integer> myHelicsMap = new HashMap<>(getUnitsCount(false).get(HELICOPTER));
//for (Map.Entry<Point2D, Integer> entry : myHelicsMap.entrySet()) {
Map<Point2D, Integer> enFighters = getUnitsCount(true).get(FIGHTER);

Point2D center = group.getCellAveragePoint();

int half = 9;
boolean intruders = false;
int count = 0;
for (int x = center.getIntX() - half; x <= center.getIntX() + half; x++) {
for (int y = center.getIntY() - half; y <= center.getIntY() + half; y++) {
Integer fighterOrHelicsCount = enFighters.get(new Point2D(x, y));

if (fighterOrHelicsCount != null) {
count += fighterOrHelicsCount;
if (fighterOrHelicsCount > 2) {
intruders = true;
//entry.setValue(0)
}
}
}

if (intruders && count > 0.05 * group.count) {
Set<Map.Entry<Point2D, Integer>> myIfvs = new HashMap<>(getUnitsCount(false).get(IFV)).entrySet();
for (Map.Entry<Point2D, Integer> myIfv : myIfvs) {
myIfv.setValue(Math.max(15 - myIfv.getValue(), 1));
}
addToArray(plainArray, myIfvs, plainArray.cellsWidth * 1.2, 6);
break;
}
}
}


Expand Down
3 changes: 2 additions & 1 deletion lr/local-runner-sync.default.properties
Original file line number Diff line number Diff line change
Expand Up @@ -62,9 +62,10 @@ fog-of-war-quality=1
# генератора случайных чисел или пустая строка.
# Параметр в командной строке имеет больший приоритет.
#seed=51764284009692
seed=536603617854755
#seed=536603617854755
#seed=539675860738317
#seed=541562105365045
seed=

# Путь к каталогу с плагинами или пустая строка для работы без плагинов.
# Необходимо скомпилировать плагин, чтобы он загрузился игровым симулятором.
Expand Down
Binary file modified lr/local-runner.jar
Binary file not shown.
6 changes: 5 additions & 1 deletion lr/read.me
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,17 @@
Shift + ЛКМ (удерж.) - добавить юнитов к выделению
Ctrl + ЛКМ (удерж.) - снять выделение с юнитов
ЛКМ (двойной клик по юниту) - выделить всех юнитов поблизости того же типа
Shift + ЛКМ (двойной клик по юниту) - добавить к выделению всех юнитов поблизости того же типа (или снять выделение, если юнит уже выделен)
ЛКМ (двойной клик по заводу) - по циклу переключает тип производимой техники
Shift + ЛКМ (двойной клик по юниту) - добавить к выделению всех юнитов поблизости того же типа (или снять выделение, если юнит уже
выделен)
ПКМ - переместить юнитов
ПКМ (удерж.) - повернуть формацию юнитов относительно средних X и Y этих юнитов
СКМ (удерж.) или WSAD - переместить камеру
1-9 - выделить всех юнитов соответствующей группы
Ctrl + 1-9 - создать соответствующую группу из выделенных юнитов
Shift + 1-9 - добавить выделенных юнитов в соответствующую группу
Ctrl + N - включить/выключить режим наведения тактического ядерного удара (ЛКМ - запрашивает ядерный удар по указанной позиции в режиме
наведения), наводчиком выступает случайная выделенная техника


Формат файла с результатами игры:
Expand Down

0 comments on commit 430bfb3

Please sign in to comment.