Форум Игромании
 
Регистрация
Справка
Пользователи Календарь Сообщения за день

 
 
Опции темы
Старый 25.03.2008, 20:00   #261
Юзер
 
Регистрация: 07.06.2006
Адрес: this
Сообщений: 162
Репутация: 112 [+/-]
Народ, как думаете, такая система для работы игры подойдет?

Пусть будет структура, которая будет хранить в себе текущее состояние игры. То есть она может быть типа "пользователь_в_главном_меню", "пользователь_в_настройках", назовем ее GameData.
Создадим класс KeyProcessor, который будет обрабатывать клавиши, нажатые пользователем. Здесь, при нажатии на определенную клавишу, будут меняться данные в структуре GameData. К примеру, поступает в класс на обработку клавиша Enter: смотрим, что юзер в главном меню, например, и сейчас выбран элемент "Новая игра", тогда в GameData изменяется информация с "пользователь_в_главном_меню" на "пользователь_в_меню_новая_игра". Ну и так далее. К примеру еще, юзер находится непосредственно в игре, и поступает на обработку клавиша "Вверх", тогда будет выполнена команда "движение вперед". Таким образом будет работать KeyProcessor.
Я думаю, было бы разумно отдельно создать визуализатор меню и игры. В классе визуализатора меню должна быть GameData, по которой и будет происходить рисование меню. Также у этого визуализатора должен быть свой обработчик клавиш. Вот он и будет менять информацию в GameData.
Далее. Нужно создать класс Game, который будет управлять ядром. То есть его обработчик клавиш будет вносить изменения в Level. К примеру, поступила клавиша "пробел" - танк стреляет. У класса Game должен быть визуализатор. Его можно написать отдельно, а можно и вместе объединить. Он будет рисовать всю карту со всеми объектами. Следовательно, он в членах должен иметь Level.
Ну и, наверное, надо создать класс, к примеру, GameModule, который будет управлять всей этой системой. То есть, он создает все перечисленные объекты и управляет ими. У него может быть свой обработчик клавиш. Но он, в принципе, нужен для того, чтобы вызывать обработчики тех классов, которых надо. К примеру, GameData показывает, что юзер сейчас в меню "Новая игра", в GameModule поступает информация о нажатой клавише, GameModule смотрит, что юзер в меню и, соответственно, вызывает обработчик меню. Так же и для игры.
//
В главном цикле сначала будет вызван обработчик клавиш GameModule'я. Соответственно, в GameData изменится (или не изменится) информация о состоянии. Потом его метод Run(). В нем GameModule будет определять, что сейчас нужно рисовать (в зависимости от состояния GameData).

pokibor
L'ombre
Как думаете, такая система подойдет? Если нет, то давайте обсудим...
__________________
www.rodionovstepan.ru
razor21 вне форума  
Отправить сообщение для razor21 с помощью ICQ
Старый 27.03.2008, 00:06   #262
Новичок
 
Аватар для L'ombre
 
Регистрация: 07.03.2006
Адрес: !here();
Сообщений: 38
Репутация: 26 [+/-]
razor21
вроде не вижу ничего плохого в этой концепции.
единственное, что могу добавить - imho игровой процесс и его визулизация на данном этапе важнее всяких меню, gui и тд
__________________
Use the Darkness that you have inside
L'ombre вне форума  
Старый 17.02.2009, 15:16   #263
Новичок
 
Регистрация: 13.02.2009
Сообщений: 4
Репутация: 0 [+/-]
Arrow я бы помог)

чуваки,так тема еще рабочая?у мя есть небольшой опыт 3д моделирования,небольшая база моделек(в основном бсплатно скачанные),текстур и программ,кроме того пытаюсь ща освоить с++(совсем чуть чуть).рад помоч,если смогу
Roman_xloop вне форума  
Отправить сообщение для Roman_xloop с помощью ICQ Отправить сообщение для Roman_xloop с помощью Skype™
Старый 16.03.2009, 20:55   #264
Юзер
 
Аватар для Shadow II
 
Регистрация: 13.03.2009
Сообщений: 219
Репутация: 23 [+/-]
Интересная идея!Но это достаточно сложно все...
__________________
Как-то раз Билла Гейтса спросили:
- Какая из операционных систем, когда либо создававшихся человеком, самая лучшая?
- UNIX - не задумываясь ответил Гейтс.
- Но... а как же Windows?
- Windows создал Бог... - скромно ответил тот.
Shadow II вне форума  
Отправить сообщение для Shadow II с помощью ICQ Отправить сообщение для Shadow II с помощью Skype™
Старый 16.03.2009, 20:59   #265
Юзер
 
Регистрация: 07.06.2006
Адрес: this
Сообщений: 162
Репутация: 112 [+/-]
Цитата:
Сообщение от Shadow II Посмотреть сообщение
Но это достаточно сложно все...
Ничего сложного. Абсолютно. Только времени совершенно нет...
__________________
www.rodionovstepan.ru
razor21 вне форума  
Отправить сообщение для razor21 с помощью ICQ
Старый 27.04.2011, 01:41   #266
Новичок
 
Аватар для Razzeeyy!
 
Регистрация: 08.10.2010
Сообщений: 10
Репутация: 1 [+/-]
Здравствуйте народ, кое как откопал тему! Давайте возрождать идею!
Готов выступать в роли креатившика, скриптера, дизайнера.

Последний раз редактировалось Razzeeyy!; 27.04.2011 в 16:47.
Razzeeyy! вне форума  
Старый 29.04.2011, 00:04   #267
Новичок
 
Аватар для Leny
 
Регистрация: 23.07.2009
Адрес: Suburbia
Сообщений: 70
Репутация: 18 [+/-]
Razzeeyy!, бесполезно, тема мертва уже два года как.
Ну даже если на то пошло, что ты можешь привнести в проект? Что конкретно ты можешь делать?

Цитата:
Сообщение от Razzeeyy! Посмотреть сообщение
креатившика
Это языком чесать что ли?
Цитата:
Сообщение от Razzeeyy! Посмотреть сообщение
скриптера
Какие языки?
Цитата:
Сообщение от Razzeeyy! Посмотреть сообщение
дизайнера
Дизайнер и скриптер в одном лице? Вы заставляете усомниться в своей компетенции по этим вопросам.
Leny вне форума  
Отправить сообщение для Leny с помощью ICQ
Старый 12.05.2011, 19:31   #268
Новичок
 
Аватар для Razzeeyy!
 
Регистрация: 08.10.2010
Сообщений: 10
Репутация: 1 [+/-]
Цитата:
Сообщение от Leny Посмотреть сообщение
Дизайнер и скриптер в одном лице? Вы заставляете усомниться в своей компетенции по этим вопросам.
Угу.
Цитата:
Сообщение от Leny Посмотреть сообщение
Какие языки?
я не имел ввиду что я прям ох какой программист, я так что то простенькое могу наскриптить, там на с++ ...
Цитата:
Сообщение от Leny Посмотреть сообщение
Это языком чесать что ли?
ну вот как ты в этом посте.
_______________________________
З.Ы. Вот такое чувство что народ переводиться стал... все какие то язвительные...
Razzeeyy! вне форума  
Старый 23.05.2011, 16:07   #269
Новичок
 
Аватар для Leny
 
Регистрация: 23.07.2009
Адрес: Suburbia
Сообщений: 70
Репутация: 18 [+/-]
Цитата:
Сообщение от Razzeeyy! Посмотреть сообщение
я не имел ввиду что я прям ох какой программист, я так что то простенькое могу наскриптить, там на с++ ...
ох лол
Цитата:
Сообщение от Razzeeyy! Посмотреть сообщение
З.Ы. Вот такое чувство что народ переводиться стал... все какие то язвительные...
Балаболов полно стало.
Leny вне форума  
Отправить сообщение для Leny с помощью ICQ
Старый 03.01.2012, 19:35   #270
Новичок
 
Аватар для Razzeeyy!
 
Регистрация: 08.10.2010
Сообщений: 10
Репутация: 1 [+/-]
Пытаюсь набросать основы движка (не совсем так, как описано в шапке):
http://ompldr.org/vYzFkNg
код ещё очень сырой/черновой/не соответствует стандартам и т.п.

Прощу обратить внимание знатоков C++, в частности уважаемого pokibor.

Из багов:
1) Не знаю почему сегфолится на 21 строке (если разкоментировать) в файле objects.hpp
2) Надо как-то сместить позицию создаваемой пули, чтобы визуально вылетала из дула (Я что-то ума не приложу сейчас )

Для компиляции вам нужна будет библиотека SFML-1.6 (см. http://www.sfml-dev.org/)

P.S. ещё раз повторюсь: код -- черновой, поэтому там кривая архитектура/плохой стиль и пр. Когда пойму, что ЭТО(модель поведения танка в целом) работает так как надо, начну детально обдумывать архитектуру и переписывать код в более хорошем стиле.

P.P.S. Обращение к школьн^W простым геймерам: если вы не понимаете/не знаете/не одобряете, то о чём говорится в данном посте -- обходите его (глазами) стороной, не начинайте бесцельную дискуссию.

Последний раз редактировалось Razzeeyy!; 03.01.2012 в 19:48.
Razzeeyy! вне форума  
Старый 04.01.2012, 23:10   #271
Новичок
 
Аватар для Razzeeyy!
 
Регистрация: 08.10.2010
Сообщений: 10
Репутация: 1 [+/-]
Пофиксил баги: http://ompldr.org/vYzIydw
Razzeeyy! вне форума  
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 23:27.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Rambler's Top100 Яндекс цитирования