Добавление блокировки перемещения ночного барабана в случае если нужная ночная зона еще требуется для других барабанов
This commit is contained in:
parent
0c70783f64
commit
cd62b41e0b
17
utils.c
17
utils.c
@ -33,6 +33,17 @@ char zone_is_busy(short zone) {
|
|||||||
|
|
||||||
|
|
||||||
short get_first_night_zone() {
|
short get_first_night_zone() {
|
||||||
|
short min_normal_barrel = -1;
|
||||||
|
for (short i = 0; i < BARRELS_COUNT; i++) {
|
||||||
|
// ищем все не ночные, не пустые, и которые внизу барабаны
|
||||||
|
if (barrels[i].flags.is_exist && !barrels[i].flags.is_empty && !barrels[i].flags.is_night && !barrels[i].flags.is_up) {
|
||||||
|
// нужен барабан, у которого нет
|
||||||
|
if (min_normal_barrel < 0 || barrels[i].zone < min_normal_barrel) {
|
||||||
|
min_normal_barrel = barrels[i].zone;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// всего зон, куда можно сныкать барабаны (всего 9 мест: загрузка 1 и 8 промывок)
|
// всего зон, куда можно сныкать барабаны (всего 9 мест: загрузка 1 и 8 промывок)
|
||||||
for (short nz = 0; nz < 9; nz++) {
|
for (short nz = 0; nz < 9; nz++) {
|
||||||
char found = 0;
|
char found = 0;
|
||||||
@ -46,7 +57,11 @@ short get_first_night_zone() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (found == 0) {
|
if (found == 0) {
|
||||||
return NIGHT_ZONES[nz];
|
if (min_normal_barrel < 0 || NIGHT_ZONES[nz] < min_normal_barrel) {
|
||||||
|
return NIGHT_ZONES[nz];
|
||||||
|
} else {
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user