From 60d92853da7c38cd2da648cca3eb0596131cf1ad Mon Sep 17 00:00:00 2001 From: Sergey Sokolov Date: Tue, 7 May 2019 21:51:44 +0400 Subject: [PATCH] =?UTF-8?q?feat:=20=D0=BA=D0=BE=D0=BB=D0=B8=D1=87=D0=B5?= =?UTF-8?q?=D1=81=D1=82=D0=B2=D0=BE=20=D1=88=D0=B0=D0=B3=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=BD=D0=B5=D0=B7=D0=B0=D0=B2=D0=B5=D1=80=D1=88=D0=B0=D1=8E?= =?UTF-8?q?=D1=89=D0=B8=D1=85=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=20?= =?UTF-8?q?=D0=BA=D0=B0=D0=BA=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82?= =?UTF-8?q?=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit В оригинальной версии незавершающие гены (команды), такие как 'шаг' выполнялись несколько раз подряд, максимально до четверти размера генома. Данным изменением количество повторений таких команд устанавливается равным параметру гена (значение второй ячейки после текущего УТК). При этом максимальное количество повторений остается равным четверти размера генома. Closes #29 --- src/main/java/ru/cyberbiology/BasicBot.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/ru/cyberbiology/BasicBot.java b/src/main/java/ru/cyberbiology/BasicBot.java index 411e3a7..bff4b01 100644 --- a/src/main/java/ru/cyberbiology/BasicBot.java +++ b/src/main/java/ru/cyberbiology/BasicBot.java @@ -8,6 +8,10 @@ public class BasicBot implements Bot { // максимальное количество генов паразитирования в геноме private static final int MAX_PEST_GENES = 32; + + // максимальное количество шагов для незавершающих команд + private static final int MAX_STEPS = MIND_SIZE / 4; + private static final ThreadLocalRandom RANDOM = ThreadLocalRandom.current(); // Далее следуют константы состояния бота, которое отмеченно для каждого бота в массиве bots[]. @@ -147,7 +151,12 @@ private void execGenes() { Gene gene; - for (int cyc = 0; cyc < MIND_SIZE / 4; cyc++) { //15 + int steps = getParamByIndex(2); + if (steps > MAX_STEPS) { + steps = MAX_STEPS; + } + + for (int cyc = 0; cyc < steps; cyc++) { //15 int id = mind[adr]; // Получаем обработчика команды