Форум программистов, компьютерный форум CyberForum.ru

Помогите дописать игру - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
sooqua
15 / 9 / 0
Регистрация: 23.02.2012
Сообщений: 135
05.12.2012, 00:34     Помогите дописать игру #1
Пишу свою первую игру на C++, использую готовый движок HGE.
У меня есть класс MapBuilder:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class MapBuilderClass 
{ 
public: 
  class BlockClass 
  { 
  public: 
   hgeSprite* Sprite; 
   float X; 
   float Y; 
  }; 
public: 
  std::vector<MapBuilderClass::BlockClass*> CreateMap(char* blocks); 
  void RenderBlocks(std::vector<MapBuilderClass::BlockClass*> Blocks); 
}
CreateMap принимает в арг. строку содержащую цифры от 1 до 7, пробелом и символом конца строки, а возвращает массив(вектор) блоков.
Например, вот это:
[img]http://s017.***********/i405/1212/20/703d944f4f04.jpg[/img]
Создаст вот такую карту:
[img]http://s018.***********/i527/1212/74/abb2441127cf.jpg[/img]
Но вот незадача - игрок может проходить сквозь стены, не может бегать по "крышам" блоков и тд.
Как сделать чтоб он мог бегать по блокам, прыгать с одного на другой, врезался в стены etc?
Много раз открывал проект, пытался, ничего не получалось, закрывал)) Уже 2 месяца так xD Охота уже закончить....

Пишите сюда [личные данные удалены]
Буду безмерно благодарен)

 Комментарий модератора 
sooqua, задачи решаются на форуме.
для поднятия темы используйте выражение "тема актуальна"
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ps10n1ck
 Аватар для ps10n1ck
53 / 47 / 2
Регистрация: 10.11.2010
Сообщений: 132
05.12.2012, 00:39     Помогите дописать игру #2
нужно, делать проверку на наличие в соседней ячейке объекта/преграды, если в соседней ячейке есть что-то, то запретить передвижение персонажа, есть есть возможность прыжка - учитывать координаты высоты объекта. Вообще что либо толковое сказать из этого куска кода невозможно, напиши в пм - пообщаемся.
sooqua
15 / 9 / 0
Регистрация: 23.02.2012
Сообщений: 135
05.12.2012, 17:05  [ТС]     Помогите дописать игру #3
ps10n1ck, спасибо за ответ.
Дело в том, что игра не "клеточная". Так создаётся только карта, игрок же перемещается свободно, тут необходимо было проверять игрока на столкновение с каждым из блоков, и вытаскивать в самое доступное место. Почему "было"? Да потому что мне уже помогли реализовать это в моей теме: http://www.cyberforum.ru/cpp/thread681666.html

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

Добавлено через 1 минуту
Сейчас залью исходник.

Добавлено через 1 минуту
http://rghost.ru/42014130 вот сурс (надеюсь простите за быдлокод, я же новичок (: )

Добавлено через 15 часов 35 минут
тема актуальна
Croessmah
05.12.2012, 17:07
  #4

Не по теме:

Цитата Сообщение от sooqua Посмотреть сообщение
Пишу свою первую игру на C++, использую готовый движок HGE.
Не думаю, что у большинства есть этот движок.

sooqua
15 / 9 / 0
Регистрация: 23.02.2012
Сообщений: 135
05.12.2012, 17:30  [ТС]     Помогите дописать игру #5
http://hge.relishgames.com/ вот..
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
05.12.2012, 17:35     Помогите дописать игру #6
sooqua, Игра запускается и сразу закрывается. Хотел скомпилировать ее но каких-то файлов не хватает.
hge.h нету
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11801 / 6780 / 765
Регистрация: 27.09.2012
Сообщений: 16,833
Записей в блоге: 2
Завершенные тесты: 1
05.12.2012, 17:38     Помогите дописать игру #7
Цитата Сообщение от V.A.L.I.D Посмотреть сообщение
Хотел скомпилировать ее но каких-то файлов не хватает.
Не хватает движка HGE
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
05.12.2012, 17:43     Помогите дописать игру #8
А почему игра закрывается? Хотел посмотреть а она не работает
sooqua
15 / 9 / 0
Регистрация: 23.02.2012
Сообщений: 135
05.12.2012, 17:46  [ТС]     Помогите дописать игру #9
Пардон, нужна еще одна dllка (просто она у меня уже в System32, т.к. я устанавливал HGE), чтобы игра запустилась надо кинуть этот файл http://rghost.ru/42025380 в папку с игрой ))
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
05.12.2012, 18:02     Помогите дописать игру #10
Посмотрел игрушку. Нормальная, но дорабатывать нужно. Особенно при столкновении с препятствиями игрок зависает на одном месте. Прыгает только с земли а с препятствий не может.
Этот движок я вообще не знаю и помочь ничем не смогу

Не по теме:

А так конечно интересно. Тоже хочу какую-нибудь игрушку сделать

sooqua
15 / 9 / 0
Регистрация: 23.02.2012
Сообщений: 135
05.12.2012, 18:06  [ТС]     Помогите дописать игру #11
Я знаю про все эти проблемы)
В том то и дело, что не знаю как их решить....
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11801 / 6780 / 765
Регистрация: 27.09.2012
Сообщений: 16,833
Записей в блоге: 2
Завершенные тесты: 1
05.12.2012, 18:08     Помогите дописать игру #12
Цитата Сообщение от sooqua Посмотреть сообщение
Я знаю про все эти проблемы)
В том то и дело, что не знаю как их решить....
Например, при нахождении игрока на блоке, надо сделать onbound единице, иначе он не прыгает:
C++
1
2
3
    if (Player.Buttons&IN_UP)
    {
        if(Player.OnGround)
sooqua
15 / 9 / 0
Регистрация: 23.02.2012
Сообщений: 135
05.12.2012, 18:20  [ТС]     Помогите дописать игру #13
А как лучше проверить, на блоке ли игрок?)

Добавлено через 3 минуты
Просто я уже много раз пытался сам, но все только хуже становилось хД)
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11801 / 6780 / 765
Регистрация: 27.09.2012
Сообщений: 16,833
Записей в блоге: 2
Завершенные тесты: 1
05.12.2012, 18:22     Помогите дописать игру #14
Цитата Сообщение от sooqua Посмотреть сообщение
А как лучше проверить, на блоке ли игрок?)
ну это же Ваш код, Вам должно быть известно, я Ваш код первый раз вижу.
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
05.12.2012, 18:37     Помогите дописать игру #15
sooqua, А разве нет форума кто пользуется этим движком? Я вот знаю что есть движок для Delphi GLScene и форум, кто пишет игры на нем. Там все подробно обсуждается. Может быть и для HGE что-то подобное есть?
sooqua
15 / 9 / 0
Регистрация: 23.02.2012
Сообщений: 135
05.12.2012, 18:38  [ТС]     Помогите дописать игру #16
Вроде сделал о.О
TeleportPlayerOutsideBlock теперь возвращает Point(NewPlayerX,NewPlayerY); и я смотрю если NewPlayerY < 0 то Player.OnGround = true;
Вроде работает но все равно игрок неадекватно движется))
П.С. Не закрывайте пока тему
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11801 / 6780 / 765
Регистрация: 27.09.2012
Сообщений: 16,833
Записей в блоге: 2
Завершенные тесты: 1
05.12.2012, 18:39     Помогите дописать игру #17
Как вариант, запрашивайте в функции Update информацию о том, что находится на "клетку" ниже игрока. Если пустое пространство, то "падаем дальше"
ithyphallic
 Аватар для ithyphallic
14 / 14 / 1
Регистрация: 27.10.2012
Сообщений: 141
05.12.2012, 19:48     Помогите дописать игру #18
sooqua, такую простую игру можно и самому собрать. Да и полезнее будет если надумаешь заниматься программированием. В движках правды нет, по крайней мере на данном этапе для тебя
sooqua
15 / 9 / 0
Регистрация: 23.02.2012
Сообщений: 135
05.12.2012, 20:39  [ТС]     Помогите дописать игру #19
FUCK YEA!!!! Я сделал это!
Ни одного бага пока не обнаружил, бегает идеально
Поздравляем меня!!!1!!111 :3
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.04.2013, 10:31     Помогите дописать игру
Еще ссылки по теме:

Помогите дописать( исправить код) алгоритм C++
C++ Помогите дописать программу на использование структур
Помогите дописать программу C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
pashqa_cpp
0 / 0 / 0
Регистрация: 05.04.2013
Сообщений: 12
05.04.2013, 10:31     Помогите дописать игру #20
Будь добр, поделись исходником, изучаю хге тоже
Yandex
Объявления
05.04.2013, 10:31     Помогите дописать игру
Ответ Создать тему
Опции темы

Текущее время: 13:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru