Привет, радио. Я всегда хотел спроектировать симсити и очень много времени потратил на эти попытки. Сегодня я ещё раз попробую спроектировать симсити. У меня свой странный большой симсити. Что я придумал: есть карта произвольного размера. На этой карте для каждой точки указан рельеф и знания которые там стоят. Предполагается что каждое здание занимает одну точку и на одной точке может быть сразу несколько заданий. Большой симсити! Более того, в каждой точке есть указатель на владельца точки. Предполагается потом играть за одного такого владельца. Острый угол состоит в том, что точка может быть водой или пустошью, на которых здания стоять не могут и указателя на владельца у них нет. То есть точки занимают разное количество памяти. Хорошо. Хорошо, как заполнить такую карту? Наверное нужно рисовать изображение, например в формате png, и переводить его в (csv) какой-то шаблон данных, например с разделением для каждой точки новой линией. А потом читать карту уже с этого csv! Итак, общий вид данных выглядит так: рельеф В случае если рельеф суша: ландшафт(в смысле высотной характеристики: горы, холмы, неизменности) местность(например: лес, город, пустыня, т.е. наполнение земли) река(4 бита обозначающие протекают ли реки в разные стороны или нет) дороги(4 бита также) список зданий указатель на владельца В случае если вода: тип водной поверхности (океан, море, озеро) В случае если пустошь: Всё для земли кроме владельца, зданий и дорог Всё. Надеюсь вы как-то поняли около чего речь. Это начало проектировки, надеюсь это сможет даже зайти дальше! Но теперь нужно это сконструировать в росте. Радио, подскажи, пожалуйста, на чём реализовывать симсити? На сишке или всё же вернее на крестиках с классиками? Прошу не бить ногами, я не программист.
Хочу редактировать сообщения! Не знания, не, на точке стоят здания. Здания хотел сказать.
>>25186 определенно на крестиках. Ты даже описал классы, которые у тебя будут. А с помощью ооп ты сможешь это лаконично и красиво закодить
>>25198 Классы я не описывал, это описывание базы данных. Хорошо, допустим мы имеет базу данных. Теперь нужно её графически представить, дабы пользователь мог её наблюдать и мог её взаимодействовать. Для начала можно просто попиксельно рисовать список данных из базы на экран в виде квадратиков. Например, можно использовать для рисования fltk. Эту задачу я себе и поставлю. Думать про механики ещё рано, для начала нужна возможность с механиками взаимодействовать. Поэтому сейчас проектирую визуальное представление и пользовательский интерфейс. Хелловоролд который из меня выпал с предыдущей задачи просто преобразует 5 картинок градаций серого в 5 чисел для каждого пикселя. Я больше не умею. Это называется базой данный. Потом переведу в бинарники и пережму. Наверное. Соус взял с одного из первых по выдаче поисковика для запроса libpng, файлика на гитхабе. Информации про зданий и етсетеру в картинках нет, это тестовая база, не реализовано. Ещё раз прошу прощения и напоминаю что я не программист, а просто осознал необходимость проектировать! Хелловоролд: https://rocketgit.com/user/sdfgsdfg/shitcity/source/tree/branch/main
https://github.com/kuang/ocaml-sim-city
>>25206 Что такое xpm?
>>25207 https://en.wikipedia.org/wiki/X_PixMap
- wahaba + wakaba 3.0.9 + futaba + futallaby -