Модераторы: Rickert
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> игра: "Танчики", Вопрос 
:(
    Опции темы
Masas
  Дата 7.4.2007, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 21.8.2006

Репутация: нет
Всего: нет



Наверное все знают такую игру как танчики... Цель игры защитить свою базу и уничтожить базу противника. Вопрос... как на Паскале написать эту игру для 2 и более человек, при условии, что они играют на одной клавиатуре?smile
PM MAIL   Вверх
Sartorius
Дата 7.4.2007, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: нет
Всего: 37



 В чем проблемма? GetAsyncKeyState() вызывай да раздели между ними клавиши...
PM MAIL ICQ   Вверх
Masas
Дата 8.4.2007, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 21.8.2006

Репутация: нет
Всего: нет



да нет, проблема в выстрелах... Когда допустим один танк стреляет, то всё остонавлевается и ждёт пока пролетит "Снаряд", вот можно сделать чтоб выстрелы вызывались как подпрограммы?
PM MAIL   Вверх
arilou
Дата 9.4.2007, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 6
Всего: 61



Цитата(Masas @  8.4.2007,  20:43 Найти цитируемый пост)
вот можно сделать чтоб выстрелы вызывались как подпрограммы

1) Обрабатывать выстрелы в отдельном потоке -ИЛИ-
2) Иметь внутри игры т.н. игровой цикл (game loop)

п.2 может выглядеть следующим образом:
1) Считываем нажатую клавишу
2) Обновляем игровое состояние (в том числе и положение ракет)
3) Обновляем представление состояния - т.е. графическую часть 

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

Это сообщение отредактировал(а) arilou - 9.4.2007, 09:29


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
Masas
Дата 10.4.2007, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 21.8.2006

Репутация: нет
Всего: нет



Ещё вопрос: При передвижении танков ракет и пр. объектов, на экране появляются мерцания. Как можно избавиться от них?

Цитата

Обрабатывать выстрелы в отдельном потоке

Можно поподробнее?
PM MAIL   Вверх
Ryoga
Дата 10.4.2007, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 262
Регистрация: 20.9.2005

Репутация: 3
Всего: 6



Я бы посоветовал поподробнее, всё же, про второй способ спрашивать... ;)
PM MAIL   Вверх
Bitter
Дата 10.4.2007, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный лентяй
***


Профиль
Группа: Завсегдатай
Сообщений: 1209
Регистрация: 15.8.2004
Где: Харьков, Ukraine

Репутация: 5
Всего: 27



Да уж, распаралеливание потоков применяется в крупных проектах, так как этот способ добавляет драгоценные FPS. Но его реализовать не так уж просто, а код при этом теряет свою удобочитаемость.

А мерцает, потому что нет заднего буфера.
Задний буфер (Back Buffer) это скрытая от глаз поверхность на которой рисуется так, как ты это делаешь на экране. А после рисования, эта поверхность показывается на экран. Вообще мерцание появляется тогда, когда ты стираешь старую картинку и рисуешь новую. При использовании буфера мерцание происходит именно на нем, и пользователь этого не видит.
PM MAIL ICQ Skype   Вверх
Masas
Дата 11.4.2007, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 21.8.2006

Репутация: нет
Всего: нет



Цитата

(Back Buffer) 


 smile 
PM MAIL   Вверх
Bitter
Дата 11.4.2007, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный лентяй
***


Профиль
Группа: Завсегдатай
Сообщений: 1209
Регистрация: 15.8.2004
Где: Харьков, Ukraine

Репутация: 5
Всего: 27



Пример на чём? на паскале или на Делфи? А то я что-то на паскале сомневаюсь, что такое возможно
PM MAIL ICQ Skype   Вверх
Masas
Дата 13.4.2007, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 21.8.2006

Репутация: нет
Всего: нет



Ясно... Просто я с делфи незнаком... 
PM MAIL   Вверх
Bitter
Дата 13.4.2007, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный лентяй
***


Профиль
Группа: Завсегдатай
Сообщений: 1209
Регистрация: 15.8.2004
Где: Харьков, Ukraine

Репутация: 5
Всего: 27



Так Делфи это тот же паскаль, только под Windows. Если ты знаком с Паскалем, то перейти на Делфи займет максимум неделю (это если очень лениться) ;)
PM MAIL ICQ Skype   Вверх
Masas
Дата 14.4.2007, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 21.8.2006

Репутация: нет
Всего: нет



Это потипу VB и QB? А где можно делфи скачать? Дайте ссылочку если ненсложно smile 
PM MAIL   Вверх
Bitter
Дата 14.4.2007, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный лентяй
***


Профиль
Группа: Завсегдатай
Сообщений: 1209
Регистрация: 15.8.2004
Где: Харьков, Ukraine

Репутация: 5
Всего: 27



Цитата(Masas @  14.4.2007,  12:33 Найти цитируемый пост)
Это потипу VB и QB?


Да-да, именно так.


Цитата(Masas @  14.4.2007,  12:33 Найти цитируемый пост)
А где можно делфи скачать?


купи на любом лотке с дисками
PM MAIL ICQ Skype   Вверх
arilou
Дата 14.4.2007, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 6
Всего: 61



Masas, 


 ! 
arilou
Варезные вопросы у нас на форуме запрещены



--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование игр, графики и искуственного интеллекта"
Rickert

НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.

  • Литературу, связанную с программированием графики, обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы связанные с программированием графики и мультимедии на языках С++ и Delphi
  • Вопросы по реализации алгоритмов рассматриваются здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема »


 




[ Время генерации скрипта: 0.0612 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.