A-tit indd


Команда (Command) —  Паттерны программирования игр



Download 3,35 Mb.
Pdf ko'rish
bet28/313
Sana05.06.2022
Hajmi3,35 Mb.
#638392
1   ...   24   25   26   27   28   29   30   31   ...   313
Bog'liq
Nistrem R. Patterni programmirovaniya igr-1

40
Команда (Command) — 
Паттерны программирования игр
более агрессивного противника? Просто подключите бо-
лее агрессивный ИИ, который будет генерировать коман-
ды. Фактически мы можем даже внедрить ИИ в персона-
жа 
игрока
, что может быть полезно для таких вещей, как 
деморежим, когда игра работает сама, на автопилоте.
Создав команды, управляющие акторами — объекта-
ми первого класса, мы исключили жесткую связанность 
прямого вызова метода. Теперь это можно рассматри-
вать как очередь или поток команд (рис. 2.3).
Рис. 2.3.
Примерная аналогия
Некоторый код (обработчик ввода или ИИ) создает 
команды и помещает их в поток. Другой код (диспетчер 
или сам актор) принимает команды на вход и обрабаты-
вает их. Поместив эту очередь посередине, мы отдели-
ли источник на одном конце от потребителя на другом.
Отмена и повтор действия
Последний пример — наиболее распространенное ис-
пользование паттерна Команда (Command). Если объ-
ект команды может 
делать
некие действия, остался ма-
ленький шажок до способности 
отменить
сделанное. 
Отмена
используется в стратегических играх, где вы мо-
жете откатывать непонравившиеся ходы. Это 
основной
инструмент, применяющийся при 
создании
игр. Лучший 
способ заставить гейм-дизайнеров ненавидеть вас —
дать им для работы редактор уровней, в котором нельзя 
отменять ошибки, которые они допускают своими жир-
ными пальцами.
Без паттерна Команда (Command) задача отмены 
действия на удивление сложна. А с ним — сплошное 
удовольствие. Предположим, мы создаем однопользова-
тельскую пошаговую игру и хотим дать пользователям 
Для получения допол-
нительной информации 
о возможностях оче-
реди см. раздел «Оче-
редь событий» (с. 296).
Почему я решил нари-
совать для вас картинку 
«потока»? И почему он 
похож на сигарету?
Если мы возьмем эти 
команды и сделаем их 
сериализуемыми
, мы смо-
жем отправить поток ко-
манд по сети. Взять ввод 
игрока, отправить его 
по сети на другую ма-
шину, а затем воспроиз-
вести там. Это один 
из важнейших принци-
пов создания сетевой 
многопользовательской 
игры.
Здесь я руководствуюсь 
исключительно своим 
опытом.



Download 3,35 Mb.

Do'stlaringiz bilan baham:
1   ...   24   25   26   27   28   29   30   31   ...   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