С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
sooqua
15 / 9 / 0
Регистрация: 23.02.2012
Сообщений: 135
#1

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

05.12.2012, 00:34. Просмотров 1205. Ответов 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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Помогите дописать игру (C++):

Помогите дописать программу - C++
вот код программы, но работает только первая часть из файла в массив, как теперь собрать её чтобы вся работала? может с помощью классов иил...

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

Помогите со структурами (дописать программу) - C++
Структуры вводятся с клавиатуры. В ряде вариантов заданий с клавиатуры вводится не вся структура, а только ее отдельные поля. Необходимо...

Помогите дописать( исправить код) алгоритм - C++
Условие Некоторые компании являются совладельцами других компании, так как приобрели часть их акций. Говорят, что компания А...

помогите дописать прогу по двум мас - C++
помогите дописать прогу Дана целочисленная прямоугольная матрица. Характеристикой строки матрицы назовем сумму ее отрицательных четных...

Помогите дописать программу на использование структур - C++
Здравствуйте. Есть у меня такая програмка, которая запоминает, сохраняет и считывает данные. Я не знаю как это все обобщить. В ней есть...

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

Не по теме:

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

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

Не по теме:

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

0
sooqua
15 / 9 / 0
Регистрация: 23.02.2012
Сообщений: 135
05.12.2012, 18:06  [ТС] #11
Я знаю про все эти проблемы)
В том то и дело, что не знаю как их решить....
0
Croessmah
Ушел
Эксперт CЭксперт С++
13558 / 7708 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 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 / 0
Регистрация: 23.02.2012
Сообщений: 135
05.12.2012, 18:20  [ТС] #13
А как лучше проверить, на блоке ли игрок?)

Добавлено через 3 минуты
Просто я уже много раз пытался сам, но все только хуже становилось хД)
0
Croessmah
Ушел
Эксперт CЭксперт С++
13558 / 7708 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
05.12.2012, 18:22 #14
Цитата Сообщение от sooqua Посмотреть сообщение
А как лучше проверить, на блоке ли игрок?)
ну это же Ваш код, Вам должно быть известно, я Ваш код первый раз вижу.
1
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
05.12.2012, 18:37 #15
sooqua, А разве нет форума кто пользуется этим движком? Я вот знаю что есть движок для Delphi GLScene и форум, кто пишет игры на нем. Там все подробно обсуждается. Может быть и для HGE что-то подобное есть?
0
05.12.2012, 18:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2012, 18:37
Привет! Вот еще темы с ответами:

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

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

Помогите пожалуйста дописать программу перевода чисел 5->7 с.с - C++
Всем привет. Помогите пожалуйста дописать программу перевода чисел из пятеричной системы счисления в семеричную. Данная программа переводит...

Помогите написать игру змейка на Borland C (DOS) - C++
Помогите создать саму змею и задать ей движение по стрелкам на клавиатре.


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

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

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