Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
sooqua
15 / 9 / 1
Регистрация: 23.02.2012
Сообщений: 135
1

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

05.12.2012, 00:34. Просмотров 1249. Ответов 25
Метки нет (Все метки)

Пишу свою первую игру на 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, задачи решаются на форуме.
для поднятия темы используйте выражение "тема актуальна"
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2012, 00:34
Ответы с готовыми решениями:

Помогите дописать программу
вот код программы, но работает только первая часть из файла в массив, как...

Помогите дописать часть программы.
Привет всем еще раз)) Вот условие задачи: Написать программу, выводящую на...

Помогите со структурами (дописать программу)
Структуры вводятся с клавиатуры. В ряде вариантов заданий с клавиатуры вводится...

помогите дописать прогу по двум мас
помогите дописать прогу Дана целочисленная прямоугольная матрица....

Помогите дописать программу на использование структур
Здравствуйте. Есть у меня такая програмка, которая запоминает, сохраняет и...

25
ps10n1ck
54 / 48 / 11
Регистрация: 10.11.2010
Сообщений: 132
05.12.2012, 00:39 2
нужно, делать проверку на наличие в соседней ячейке объекта/преграды, если в соседней ячейке есть что-то, то запретить передвижение персонажа, есть есть возможность прыжка - учитывать координаты высоты объекта. Вообще что либо толковое сказать из этого куска кода невозможно, напиши в пм - пообщаемся.
1
sooqua
15 / 9 / 1
Регистрация: 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 минут
тема актуальна
0
Croessmah
05.12.2012, 17:07
  #4

Не по теме:

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

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

Не по теме:

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

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

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

Помогите дописать( исправить код) алгоритм
Условие Некоторые компании являются совладельцами других компании, так как...

помогите дописать программу таймер с релизацией классов
Мне нужно чтобы после завершения таймера программа возвращала меню, незнаю как...

Помогите пожалуйста дописать программу перевода чисел 5->7 с.с
Всем привет. Помогите пожалуйста дописать программу перевода чисел из...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru