A-tit indd


Паттерны программирования игр



Download 3,35 Mb.
Pdf ko'rish
bet188/313
Sana05.06.2022
Hajmi3,35 Mb.
#638392
1   ...   184   185   186   187   188   189   190   191   ...   313
Bog'liq
Nistrem R. Patterni programmirovaniya igr-1

Паттерны программирования игр
— Паттерны поведения
255
Из-за этого легко определять специфичные для типа 
данные
, но трудно определять специфичное для типа 
по-
ведение
. Если, например, разным родам монстра пона-
добится использовать разные алгоритмы искусственно-
го интеллекта, сложность применения паттерна сразу 
резко возрастает.
Есть пара способов обойти возникшее ограничение. 
Проще всего заранее определить фиксированный набор 
возможных типов поведения, а затем использовать дан-
ные в объекте типа, 
выбирая
нужное. Искусственный ин-
теллект, управляющий монстрами, может заставить их 
либо «стоять в ожидании», либо «гнаться за героем», либо 
«скулить и отступать в страхе» (хей, речь не может идти 
о всемогущих драконах). Мы можем определить функции, 
которые будут реализовывать каждый из перечисленных 
видов поведения. Затем мы можем связать алгоритм ИИ 
с родом, сохраняя в нем ссылку на нужную функцию.
Другое, более мощное решение заключается в том, 
чтобы поддерживать поведение полностью в данных. 
Оба паттерна, Интерпретатор (Interpreter) и Байт-код 
(Bytecode), позволяют нам создавать объекты, пред-
ставляющие поведение. Если мы читаем файл данных 
и используем его для создания структуры данных одного 
из этих паттернов, то мы полностью уходим от определе-
ния поведения в коде к его определению в содержании.
Пример кода
Для начала реализуем что-то простое и создадим систе-
му, описанную в секции «Мотивация». Начнем с класса 
Breed
:
class Breed
{
public:
Breed(int health, const char* attack)
: health_(health),
attack_(attack)
{}
Снова знакомо? Мы 
опять вернулись к реа-
лизации виртуальных 
таблиц в 
наших
объектах 
типа.



Download 3,35 Mb.

Do'stlaringiz bilan baham:
1   ...   184   185   186   187   188   189   190   191   ...   313




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish