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

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

05.12.2012, 00:34. Просмотров 1830. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.12.2012, 00:34
Ответы с готовыми решениями:

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

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

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

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

25
55 / 49 / 11
Регистрация: 10.11.2010
Сообщений: 132
05.12.2012, 00:39 2
нужно, делать проверку на наличие в соседней ячейке объекта/преграды, если в соседней ячейке есть что-то, то запретить передвижение персонажа, есть есть возможность прыжка - учитывать координаты высоты объекта. Вообще что либо толковое сказать из этого куска кода невозможно, напиши в пм - пообщаемся.
1
15 / 9 / 1
Регистрация: 23.02.2012
Сообщений: 135
05.12.2012, 17:05  [ТС] 3
ps10n1ck, спасибо за ответ.
Дело в том, что игра не "клеточная". Так создаётся только карта, игрок же перемещается свободно, тут необходимо было проверять игрока на столкновение с каждым из блоков, и вытаскивать в самое доступное место. Почему "было"? Да потому что мне уже помогли реализовать это в моей теме: https://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
15 / 9 / 1
Регистрация: 23.02.2012
Сообщений: 135
05.12.2012, 17:30  [ТС] 5
http://hge.relishgames.com/ вот..
0
417 / 382 / 113
Регистрация: 21.09.2012
Сообщений: 913
05.12.2012, 17:35 6
sooqua, Игра запускается и сразу закрывается. Хотел скомпилировать ее но каких-то файлов не хватает.
hge.h нету
0
Don't worry, be happy
16958 / 9837 / 1895
Регистрация: 27.09.2012
Сообщений: 24,392
Записей в блоге: 2
05.12.2012, 17:38 7
Цитата Сообщение от V.A.L.I.D Посмотреть сообщение
Хотел скомпилировать ее но каких-то файлов не хватает.
Не хватает движка HGE
1
417 / 382 / 113
Регистрация: 21.09.2012
Сообщений: 913
05.12.2012, 17:43 8
А почему игра закрывается? Хотел посмотреть а она не работает
1
15 / 9 / 1
Регистрация: 23.02.2012
Сообщений: 135
05.12.2012, 17:46  [ТС] 9
Пардон, нужна еще одна dllка (просто она у меня уже в System32, т.к. я устанавливал HGE), чтобы игра запустилась надо кинуть этот файл http://rghost.ru/42025380 в папку с игрой ))
0
417 / 382 / 113
Регистрация: 21.09.2012
Сообщений: 913
05.12.2012, 18:02 10
Посмотрел игрушку. Нормальная, но дорабатывать нужно. Особенно при столкновении с препятствиями игрок зависает на одном месте. Прыгает только с земли а с препятствий не может.
Этот движок я вообще не знаю и помочь ничем не смогу

Не по теме:

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

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

Добавлено через 3 минуты
Просто я уже много раз пытался сам, но все только хуже становилось хД)
0
Don't worry, be happy
16958 / 9837 / 1895
Регистрация: 27.09.2012
Сообщений: 24,392
Записей в блоге: 2
05.12.2012, 18:22 14
Цитата Сообщение от sooqua Посмотреть сообщение
А как лучше проверить, на блоке ли игрок?)
ну это же Ваш код, Вам должно быть известно, я Ваш код первый раз вижу.
1
417 / 382 / 113
Регистрация: 21.09.2012
Сообщений: 913
05.12.2012, 18:37 15
sooqua, А разве нет форума кто пользуется этим движком? Я вот знаю что есть движок для Delphi GLScene и форум, кто пишет игры на нем. Там все подробно обсуждается. Может быть и для HGE что-то подобное есть?
0
15 / 9 / 1
Регистрация: 23.02.2012
Сообщений: 135
05.12.2012, 18:38  [ТС] 16
Вроде сделал о.О
TeleportPlayerOutsideBlock теперь возвращает Point(NewPlayerX,NewPlayerY); и я смотрю если NewPlayerY < 0 то Player.OnGround = true;
Вроде работает но все равно игрок неадекватно движется))
П.С. Не закрывайте пока тему
0
Don't worry, be happy
16958 / 9837 / 1895
Регистрация: 27.09.2012
Сообщений: 24,392
Записей в блоге: 2
05.12.2012, 18:39 17
Как вариант, запрашивайте в функции Update информацию о том, что находится на "клетку" ниже игрока. Если пустое пространство, то "падаем дальше"
0
14 / 14 / 4
Регистрация: 27.10.2012
Сообщений: 141
05.12.2012, 19:48 18
sooqua, такую простую игру можно и самому собрать. Да и полезнее будет если надумаешь заниматься программированием. В движках правды нет, по крайней мере на данном этапе для тебя
1
15 / 9 / 1
Регистрация: 23.02.2012
Сообщений: 135
05.12.2012, 20:39  [ТС] 19
**** YEA!!!! Я сделал это!
Ни одного бага пока не обнаружил, бегает идеально
Поздравляем меня!!!1!!111 :3
1
0 / 0 / 0
Регистрация: 05.04.2013
Сообщений: 12
05.04.2013, 10:31 20
Будь добр, поделись исходником, изучаю хге тоже
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.04.2013, 10:31

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

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

Помогите дописать игру "пазл"
Привет всем. Есть сайт http://auto-tunings.narod.ru/ На нем есть игра. Сразу говорю, что я это...

Дописать игру Xonix
Приветствую форумчане. Смиренно прошу помочь дописать игру Xonix, ничего уже в голову не приходит....

помогите дописать)
#!/usr/bin/perl use Net::Telnet::Cisco; my $session = Net::Telnet::Cisco-&gt;new(Host =&gt;...

помогите дописать прогу!!!
//------------------------------------ #pragma hdrstop #include &lt;iostream.h&gt; #include...


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

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

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