Ваш браузер устарел. Рекомендуем обновить его до последней версии.

КНБ, сцена "игра" - редактор логики

Опубликовано 22.04.2017

Игра "Камень.Ножницы.Бумага"- взаимодействие моделей компьютера

КНБ, сцена "игра" - редактор логики

Для тех кто не знает, в Blender3D, режиме "Игр. движок Blender", взаимодействие всех объектов игры "Камень.Ножницы.Бумага" строится в "Редакторе логики":

В данной статье я расскажу о "Редакторе логики", о взаимодействии моделей компьютера - верхних моделей, камня ножниц и бумаги, то есть моделях из которых делает свой выбор компьютер, в сцене после начала игры. По моей задумке это происходит сразу - ещё до выбора модели игроком. Теоретически я мог отодвинуть этот процесс и сделать так, чтобы игрок и компьютер делали свой выбор одновременно, но тогда пришлось бы строить логику по-другому, а  это заняло бы намного больше времени разработки.

Логика камняЛогика камня

Первым идет камень.

Его логика получилась сложнее остальных, потому что сюда добавлен обще-игровой процесс - случайный выбор модели компьютером.

Первый "сенсор", "контролер" и "актуатор" - отвечают за выбор модели, это генератор случайных чисел, который выбирает целое число от "0" до "2". Слева указано игровое свойство, которое у каждой из трех игровых моделей, своё - выбранные генератором числа взаимодействуют со свойствами как "0", "1" или число неравное этим двум.

Остальные "сенсоры" отвечают за получение сообщений и изменение свойства, а "актуаторы" отправляют объектам сообщения, которые скрывают их из вида и отправляют сообщения о ничьей, победе или проигрыше, в зависимости от выбора модели игроком.

Перед тем как перейти к рассмотрению логики остальных моделей, расскажу вам о том как построена логика в игровом движке Blender. Меня по-началу очень интересовал вопрос - как в этой игре обеспечить взаимодействие моделей, которое в языках программирования высокого уровня реализовано с помощью связки "if", "else". Оказалось, что за это отвечают "Сообщения" которыми модели могут "общаться" между собой, правда с некоторыми нюансами. Например, если несколько сообщений принимает один объект, тогда нужен дополнительный атрибут, который подтвердится, то есть мало отправить сообщение "visible", чтобы потом реализовать видимость объекта, нужно отправить еще какой-нибудь параметр или свойство, которое присвоено данному объекту. Затем модель получит эти "Сообщения" и будет обрабатывать их в зависимости от алгоритма, который мы присвоим. Всё будет понятно, когда вы увидите логику моделей, которые отправленные сообщения получают.

Пока давайте продолжим и рассмотрим следующую модель - ножницы.

редактор логики "ножниц"редактор логики "ножниц"

Тут уже проще, потому что идет исключительно пересылка сообщений - модель получает свойства и сообщения от других моделей, на основании которых становится видимой или нет и пересылает сообщения другим моделям, чтобы подтвердить итог партии - выигрыш, проигрыш или ничью.

И последняя игровая модель - бумага.

Редактор логики "Бумаги"Редактор логики "Бумаги"

Тоже самое что и "ножницы" - пересылка сообщений.

Это были игровые модели для выбора компьютера, в сцене "Игра". В следующей статье я расскажу о моделях, которые выбирает игрок.

Опубликовать в социальных сетях