Thank you!
Пишу на С++
Gravity
я смотрел его уроки
Thank you!
https://www.youtube.com/watch?v=icGYeN2PxJg
Спасибо, но разве тут описывается именно моя проблема, или там плейлист целый? У меня проблема больше в непонимании как хранить огромное количество объектов, учитывая ещё то что они могут быть в некоторых количествах. В любом случае спасибо, я обязательно посмотрю.
Thank you!
Для ООП прочитай Лафоре)
Это книга или что?
Igor
Я делаю свою игру в консоли, там графика завязана на символах, один символ, один предмет. У меня есть три типа игровых объектов: объекты(стена, стул и тд.), предметы(оружие, книги и тд.), и сущности(игрок и враги), я не знаю ООП, только немного знаком с классами. И самая огромная проблема, которую даже гуглить как не знаю, это то как хранить данные об игровом мире, у меня карта это по сути трёхмерный массив(для этажей трёхмерность), и я вообще не знаю как и куда складывать информацию о объектах, предметах и сущностях, как правильно понимать где что находится, что именно тут объект, а там сущность, и не писать миллион ифов. Буду очень рад вашей помощи, или намёку на то что стоит учить, понимаю нужно учить ООП, но мне нужно хотя бы направление, чтобы понимать как хранение вообще должно выглядеть.
Все зависит от размера мира. Самое простое решение это в каждой клетке хранить ссылку на линкед лист если в ней лежат какие то объекты. Так же могут быть "контейнеры" бочки и прочее у них будет своя ссылка на список. Ну а как это оптимизировать с точки зрени памяти это второй вопрос.
Thank you!
Igor
или условно бесконечный?
Thank you!
Нет, я хотел бы сделать вывод цифрами размер, но походу буду делать фиксированный
Thank you!
Igor
ну блин если на таком здавать заднюю это бред ;) разберись как выделять динмически многомерные массивы.
Igor
А как я в список положу объекты разных классов, или я что-то не понимаю?
ну для этого существует наследование ;) все объекты в списке должны быть типа item а уже от айтема разные объекты наследуешь.
Thank you!
Понятно, походу действительно стоит лезть в ООП для моих задач, но оно того стоит. Спасибо за советы, буду учиться)
Igor
ну ты можешь без ооп на свич кейсах это все сделать. Это как бы вопрос какие ты цели ставишь
Igor
тогда все объекты имеют один тип ... у них сори за тафталогию есть поле тип которое определяет поведение. и дальше ...
Thank you!
Проблема в том что у его даже малейшего представления нету. Для меня массив это то куда я могу ложить объекты одного типа, тогда как мне проверять это всего, у меня цели на большое количество предметов, разнообразие, плюс есть проблема что предметов может быть разное количество, тоесть не один предмет на карту, я уже не знаю за что хвататься, даже как представлять себе это.
Igor
В любом случае если ты дойдешь до сериализации у тебя будет что то что будет в одну кучу все это безобразие скидывать.
Igor
Есть карта ... у тебя я так понимаю это атйлы. Вот тайл (блок) определяет грубо комнату ... проходимость и прочее ... дальше у этого блока есть ссылка на объекты в этой комнате.
Igor
объекты ты хранишь или как выше сказали в векторе или в связанном списке. В любом случае прийдеться бороться с накладными расходами.
Thank you!
Есть карта ... у тебя я так понимаю это атйлы. Вот тайл (блок) определяет грубо комнату ... проходимость и прочее ... дальше у этого блока есть ссылка на объекты в этой комнате.
Нет, у меня один тайл это один символ, там лежит либо объект, либо предмет, либо находится сущность. Что дальше делать я не знаю
Thank you!
объекты ты хранишь или как выше сказали в векторе или в связанном списке. В любом случае прийдеться бороться с накладными расходами.
Мне же нужно миллион векторов или списков, нет? Объект деревянный меч, щит, копьё, игрок, стена
Igor
Нет, у меня один тайл это один символ, там лежит либо объект, либо предмет, либо находится сущность. Что дальше делать я не знаю
у тебя в клетке может находиться куча объектов .. тебе просто нужно определиться с порядком отрисовки. допустим есть клетка (тайл) есть в ней персонаж (один или несколько)и есть объекты ... ты отобажаешь их с каким то приоритетом. т.е если клетка пуста ... то отображаешь грубо пол ... если там персонаж ... то пол уже не рисуется рисуется персонаж ... и т.д. Можно делать ротацию грубо если стоит персонаж и лежит объект они отобажаются по очереди.
Thank you!
Да, это я понимаю, но если я имею двумерный массив(карта), как мне понимать что там находится, на чём хранить, как всё это
Thank you!
Мне классы нужно использовать для каждого игрового объекта?
Thank you!
Или как вы говорили
Thank you!
Класс один, и там уже наследование
Igor
в карте хранятся тайлы ... Персонажи как и объекты могут храниться либо отдельно ... либо в списке по ссылке из каждого тайла.
Igor
Ну если ты пишешь используя ооп то да для всего у тебя будут классы.
Thank you!
Могут
Igor
Ну у него в тайле либо герой либо пиво, вместе быть не могут
я бы в такую игру не пошел ... где мне нельзя быть вместе с пивом ;)
Igor
Собственно выделение классов это большАя или даже бОльшая часть проектировани в ооп.
Thank you!
Я запутался честно говоря, понимать стал лучше, но всё ещё не мыслю это всё, но то что должен быть класс objects, а там другие классы, понял
Max
Деняк много
водичка𓆩𓆪
Деняк много
не в деньгах счастье, а в счастье счастье
Max
не в деньгах счастье, а в счастье счастье
Не в них конечно, но почему бы их не иметь если можно иметь
водичка𓆩𓆪
Не в них конечно, но почему бы их не иметь если можно иметь
зачем иметь непонятную работу с бестолковыми буквами если можно не иметь
Thank you!
Хорошо, а вот есть у меня в классе айтемс, класс деревянный меч, ну или мечи, и как мне делать так чтобы у меня могло несколько мечей быть? Я воображаю это так, будто могу хранить только один предмет раз один класс
Agent_RBY_
А какую иметь ?
лучше иметь девушку, чем работу
Igor
Я запутался честно говоря, понимать стал лучше, но всё ещё не мыслю это всё, но то что должен быть класс objects, а там другие классы, понял
карта это всеравно какие то контейнеры. Или тайлы или что угодно. этот контейнер либо сам по себе определяет объект либо имеет объекты внутри него ... т.е тайл определяет комнату и у комнаты есть контейнер куда она записывает всю херню что в ней находится.
водичка𓆩𓆪
А какую иметь ?
на заводе как все нормальные люди, или в сфере обслуживания
Thank you!
Погугли что такое классы, ты как будто не очень понимаешь
Хорошо, я разберусь в классах, надеюсь я выберусь из непонимания, спасибо
Igor
У тебя на данный момент что то рабочее есть?
Thank you!
У тебя на данный момент что то рабочее есть?
Массив чаров в котором хранятся символы карты, и поле зрения персонажа, возможность передвигаться по карте, видя только кусочек
Igor
Массив чаров в котором хранятся символы карты, и поле зрения персонажа, возможность передвигаться по карте, видя только кусочек
выделять классы проще уже в рабочем коде. Новичкам обычно так проще чем полностью с нуля. Попробуй прикрутить классы к уже существующему коду. или когда пытаешься расширять функционал.
Thank you!
выделять классы проще уже в рабочем коде. Новичкам обычно так проще чем полностью с нуля. Попробуй прикрутить классы к уже существующему коду. или когда пытаешься расширять функционал.
Я так и думаю, у меня есть проблема, я всегда пытаюсь сразу сделать идеально, хоть и понимаю что лучше я сейчас напишу хотя бы что-то рабочее, потом сам замечу проблемы и исправлю
Igor
Скинь в приват ссылку на репу или на пастбин на свой код. А я вечером позырю и попробую подсказать что как. Можеш мне в личку написать.
Андрей
ну а ты много сатанинского рэпа переслушал. буду молиться за тебя и покой твоей души.
водичка𓆩𓆪
ну а ты много сатанинского рэпа переслушал. буду молиться за тебя и покой твоей души.
я не слушаю рэп, хип-хоп, электронную и рок музыку, вообще предпочитаю слушать звуки природы
водичка𓆩𓆪
Почему? Душевный покой и расслабление вызывает ?
да, конечно, ведь единение с природой - лучшее что может произойти с человеком
Jsx707
Да уж, это верно!)
водичка𓆩𓆪
какую, брат мой?
eye=x×s²
какую, брат мой?
ой да всякую, философско творческою, конечно природа питает энергией
Jsx707
а я делаю музыку🤷‍♂
Биты в FLStudio что-ли ?
водичка𓆩𓆪
ой да всякую, философско творческою, конечно природа питает энергией
это хорошо, брат, желаю удачи тебе с твоим творчеством🙏🙏🙏
водичка𓆩𓆪
Биты в FLStudio что-ли ?
аблетон лайв суите 10 лучше
eye=x×s²
Биты в FLStudio что-ли ?
не, но хочу овладеть цифровым инструментом)
Jsx707
аблетон лайв суите 10 лучше
Не разбираюсь в подобном ПО, но Abelton по-моему более кроссплатформенный, но более требовательный, ну а ещё сложнее, поговаривают что FL более лёгкая и интуитивная
водичка𓆩𓆪
Не разбираюсь в подобном ПО, но Abelton по-моему более кроссплатформенный, но более требовательный, ну а ещё сложнее, поговаривают что FL более лёгкая и интуитивная
вообще с виду аблетон поинтуитивнее будет, и имеет свои удобные фишки, которых в фл нет. но принципиальной разницы нет, вопрос удобства и привычки конкретного человека
Jsx707
Столлмана;)
Ах да, кстати?) Линус Торвальдс - бог, Ричард Столлман батюшка!) Просто святые в Open Source.
Max
Тебе бы подошла аватарка батюшки .....
Такая б идеально подошла
eye=x×s²
хых, ну Игорь уважаемые человек как по мне)