Подсчет очков наверняка является важной деталью в играх (увы, я не спец в играх!), в любом случае, в Коду есть такая возможность, и заодно можно использовать счёт и как счетчик или даже как переменную.
Как я понимаю (т.к. документации то нет ;) ), счет - это некая глобальная переменная, доступная для программирования из программы любого объекта. Ну то есть, запрограммировать поведение бота можно только в программе для этого бота. Делать манипуляции со счетом можно откуда угодно, из программы для любого объекта. Пусть в моем примере с аэростатом и байкером у аэростата будет белый счет, а у байкера - красный.
Когда аэростат создает яблоко, то его белый счет пусть увеличивается на 1 очко.
Когда байкер съедает яблоко, то пусть его красный счет увеличивается на 1 очко, при этом белый счет аэростата уменьшается на 1 очко.
Значит, нам надо добавить еще одно действие в правило для Аэростата, когда срабатывает условие 5 секунд и создается яблоко, надо еще увеличить счет на единицу.
Берем строчку
КОГДА таймер -> 5 сек ДЕЛАТЬ (действия ->) создать -> яблоко
и следующую за ней пустую строчку сдвигаем мышью, "зацепившись" за цифру, ту, что в кружочке слева от строки, вправо, чтобы получилось вот так, что строка под номером 3 сдвинута по отношению к строке 2:
Это означает, что действие, которое мы укажем в строке (правиле) 3, будет происходить только тогда, когда будет выполнено условие в строке 2. Условие мы уже не будем задавать, а действие - увеличение белого счета на 1. Все действия со счетом находятся в меню "игра". Как обычно, в скобки я заключаю те пункты меню, которые надо выбрать, но которые потом не появляются в строке с правилом.
КОГДА ДЕЛАТЬ (игра ->) очки -> 1 очко -> (счет ->) белый
Вы уже, наверно, обратили внимание, что счетов много - 11 разных цветов, а если не хватит цветов, то можно использовать и буквы латинского алфавита.
Как и с таймером, очки можно суммировать. Например, вам нужно добавлять 7 очков, а такой опции нет. Поэтому вы выбираете сначала 2 очка, а потом еще 5 очков, т.е., строка с правилом будет выглядеть вот так
КОГДА ДЕЛАТЬ (игра ->) очки -> 2 очка -> 5 очков -> (счет ->) белый
Аналогично сделаем и для байкера, при условии касания яблок добавим 2 вложенных действия: одно - добавляет 1 очко к красному счету, а другое - вычитает 1 очко из белого счета (т.е., байкер отыграл одно очко у Аэростата), оно будет выглядеть вот так:
(игра ->) вычесть -> 1 очко -> (счет ->) белый
или же, вот так:
И чтобы сделать игру законченной, давайте добавим условие окончания игры: когда на земле присутствует 5 яблок, т.е., белый счет Аэростата равен 5. Вот это условие как раз можно задать где угодно: в программе Аэростата или же в программе Байкера, т.к. условие, что белый счет равен 5, можно проверять из любого места, попробуйте сами убедиться в этом.
КОГДА счет -> (счет->) белый -> (баллы->) 5 очков ДЕЛАТЬ (игра ->) конец
(хмм, очередная нестыковка при переводе: то очки, то баллы)
Можно использовать возможности ведения счета и как просто счетчика, например, пусть дерево создает яблоки каждые 2 секунды, но нам нужно создать лишь 5 яблок. Тогда можно сделать вот так
КОГДА таймер -> 2 сек
КОГДА счет -> (счет -> ) красный -> (сравнить ->) ниже -> 5 очков ДЕЛАТЬ (действие -> ) создать -> (объект-> ) яблоко
КОГДА ДЕЛАТЬ очки -> красный -> 1 очко
Ну вы поняли? в первом правиле мы задаем условие - каждые 2 секунды. Во втором правиле мы проверяем, красный счет больше 5? Если нет, то создаем яблоко И переходим к правилу 3: увеличиваем красный счет на 1.