Моделирование сознания. Урок 10. Поиск пищи и избегание опасностей |
Автор megabax | |||
09.04.2024 г. | |||
Моделирование сознания. Урок 10. Поиск пищи и избегание опасностей Что бы смотреть урок полностью и скачать исходники, подпишитесь на платный раздел. В платном разделе статья находиться здесь. В прошлой статье мы немного усложнили мир робота. Теперь немножко займемся самим роботом. В статье Моделирование сознания. Урок 8. От походки до сознания. была озвучена идея, что в модели живого существа можно выделить следующие функции:
Займемся первыми двумя, для чего реализуем в роботе специальные классы. Сначала FoodSearcher:... ... ... .... Засунем мы его в класс Body, у последнего слегка изменим конструктор:
В класс мозга (Brain) добавим приватное поле уровня энергии: ... ... ... .... Радибаттоны соответственно назовем rbWall, rbFood и rbDanger. Поле ввода чисел - nudStrength. Добавление будет происходит двойным кликом на поле мира робота, поэтому у формы переопределяем обработчик двойного клика:
И все. Возвращаем значение свойства max_energy (у класса robot) и тестируем. Сначала мы видим, что робот стоит на месте и его уровень энергии медленно уменьшается. Там где робот размести "зону поглощения энергии" и увидим, как быстро стала энергия теряться. Как только она станет ниже 70, робот сорвется с места и "забегает": В принципе, мы теперь можем всяко "издеваться" над роботом: окружать его стенами, ставить "подлянки" в виде поглощателей энергии или наоборот, можем дать ему еду, поставив на поле желтый квадратик. Теперь займемся модулем избегания опасностей. Это у нас будет класс DangerAvoiding: ... ... ... ... Итак, подытожим. Мы внесли в модель блок поиска пищи и избегания опасностей. Пока эти блоки очень примитивные, и на следующем уроке мы будем улучшать их. Например, поиск пищи можно сделать более последовательным, чем случайное блуждание, а в "избегатель опасностей" можно добавить возможность предотвращение столкновение со стеной. Скриншоты, помеченные знаком *, являются цитатами и иллюстрациями программного продукта "Microsoft Visual Studio 2010 Professional", авторское право на который принадлежит корпорации Microsoft.. |
|||
Последнее обновление ( 09.04.2024 г. ) |
« След. | Пред. » |
---|