Главная » Статьи » Про программирование

Для начинающих модеров

В этой статье я бы хотел рассказать вам для чего нужен тот или иной файл в папке src/game/server (Это если делать сервер).
Первый класс который мы будем редко использовать: 
CEntity(entity.cpp и entity.h).
Что же в нем происходит? Ну давайте с самого начала, в teeworlds есть такие вещи как entities, к ним относятся все тайлы начиная со спавна и ниже(откройте спойлер и поймете)

Сами Entities это тайлы которые можно перемещать по карте без изменения карты то есть серверно. К entities можно отнестиигрока(тии),Оружия(так как они при подборе исчезают и надо ждать чтобы они появились),Броня\Жизни(на DDRace их можно перемещать и на DM они просто исчезают при подборе), Флаги (их можно подобрать и они с вами перемещаються по карте).

Этот файл я никогда не изменял(но, использовал).


Второй класс у нас будет:
CEventHandler(eventhandler.cpp и eventhandler.h)
В нем идет обработка событий, каких? Я не знаю, так-как за все время что я занимался созданием модов, я его не разу не использовал. Про него я особо вам не смогу рассказать.

Третий класс и один из самых значимых классов в сервере:
CGameContext(gamecontext.cpp и gamecontext.h)
Что же это за класс? В этом классе идет обработка чатаголосованийданных передающихся между сервером и клиентомАдмин команды такие как sayteams(перемещение игроков),restart и т.д, Kick и Ban сюда не входит.
Здесь идет обработка событий таких как connect, disconnect игрока, Смертьсоздание взрываЭффект при ударе молоткомЗвуки. При коннекте создается экземпляр класса CPlayer который описан в player.cpp и player.h.

Четвертый класс это: 
CPlayer(player.cpp и player.h)
Здесь идет управление над игроком, В teeworlds игрок делиться на 2 части это character(герой) и player(Игрок). Когда человек заходит на сервер то появляется Игрок, а когда спавниться tee то появляется класс character. Игрок, зачем он нам нужен?
Класс игрока принимает от Клиента данные о цвете тии, в какую он тиму хочеткланникпередвижениястрельбу.

Идем дальше, шестой класс CCharacter(character.cpp и character.h), самое интересное :]
В этом классе происходит передвиженияизменения позиции тиисторона куда двигается тиикоординаты прицела(!!!),кол-во жизней\брони и т.д.
А теперь самое главное, этот класс относиться к entity, когда ваш тии умирает то класс ломается(destroy), и управление отдается снова player.

Седьмоооой класс. И так, этот класс отвечает за игру, за начало\конец раундаместо где заспавниться тиибаланс команд ------ IGameController(gamecontroller.cpp и gamecontroller.h).
В этом классе нет ничего особенного.

Еще один класс называется CGameWorld(gameworld.cpp и gameworld.h) и как не странно отвечает он за игровой мир(карта), но отвечает он только за entities.
И в этом классе нету ничего особенного ab

Зайдем в под папку entities.


Так как CCharacter мы разобрали, пропустим его.

CFlag(flag.cpp и flag.h) класс флага все просто и легко



Источник: http://teedes.ru/viewtopic.php?id=1400
Категория: Про программирование | Добавил: DemonZ (05.07.2013) | Автор: Previous
Просмотров: 734 | Теги: кодинг, Entities, программирование | Рейтинг: 5.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]