|
4 / 4 / 0
Регистрация: 13.12.2016
Сообщений: 246
|
|||||||||||||||||||||
ASCII генератор карт в консоле26.01.2018, 12:01. Показов 7465. Ответов 47
Метки нет (Все метки)
Всем привет,пытаюсь написать небольшой генератор карт на С++ , для отображения использую консоль. Планирую перенести всё это дело в Unity. Сейчас есть небольшая программа, генерирующая только комнаты, но теперь проблема появилась такая:
Соединить всё это дело коридорами. Когда комнаты создаются, то я записываю значения в массив( координаты и размеры). После я хочу отсортировать эти данные, но вот тут проблема, как лучше поступить... Может глянет кто, подскажет как лучше сделать? Да, и программа иногда фризится почему-то без ошибок вообще. Либо в процессе, либо еще до начала... Вот код:
Добавлено через 14 минут Модератор, можешь пожалуйста весь код, который я ниже приложу, использовать выше? То есть всё, что выше заменить на этот: А то, я пока уже ошибки в программе нашел, а править нельзя) Спасибо
Теперь проблема, почему-то при маленьких размерах карт, плитки друг на друга наезжают, хотя я проверку делаю, перед тем как их рисовать.. Запустит кто, потестить? При больших картах - такого не наблюдал.
0
|
|||||||||||||||||||||
| 26.01.2018, 12:01 | |
|
Ответы с готовыми решениями:
47
Генератор карт в консоли, с ASCII симолами Вывод мастей карт через ASCII Написать генератор карт для игры «сапёр». |
|
4 / 4 / 0
Регистрация: 13.12.2016
Сообщений: 246
|
||||||
| 09.02.2018, 20:09 [ТС] | ||||||
|
outoftime, появился небольшой Ап темы. Решил расширить коридоры. Но проблема встала такая: Я задаю явно условие, которое может пройти, но он ни разу не срабатывает, хотя по тестам( результатам в консоле) видно, что это условие возможно.
Вот код:
0
|
||||||
|
║XLR8║
|
|||||||||||||||||||||||||||||||||||||||||||||||
| 09.02.2018, 22:21 | |||||||||||||||||||||||||||||||||||||||||||||||
|
Abomination_25,
Пролог 700 строк кода... я не на сколько заинтересован чтобы их все пройти... Если тебя интересует что можно или нужно сделать с кодом, читай дальше. Ответа на свой вопрос ты в моих строках не найдешь, точно не напрямую. Всех остальных попрошу не беспокоить. Всё изложеное ниже это лично мое мнение и ни Царь ни Бог меня не переубедят. Акт первый - семантика
Акт второй - организация кода "Имя мне Легион, ибо Нас много!"
Это чревато много чем, но главное уменьшает связность различных компонентов и если у вас где-то поломка, вы точно знаете где, ну или догадываетесь, или можете легко узнать ибо функции не должны превышать 40 строк кода, а с учетом что выход функции не зависит от состояния глобальных данных, а только от того что ей передали на вход, каждая часть тестируется за 5 минут (условно). Как я и сказал, это чревато много чем.
"О Боже, он сам себе противоречит! Нету в функциональщите ООП!" - На самом деле объект может служить своего рода "общими параметрами" для всех методов класса и мы как-то неявно выполняем карирование всех методов. "А как же быть с методами модифицирующими состояние объекта?" - Нет на белом свете ничего идеального, помимо самой идеи.
"И так, что же мы имеем?" - Вплоть до судьбоносных слов "// Начинаем растягивание комнат" мы занимаемся инициализацей. Было бы не плохо, даже очень хорошо, выполнить это дело отдельно, а лучше еще и как-то разбить на меньшие блоки, причем разбить логически. Меня до сих пор пугает что на всю карту используется всего одна структура - Leaf. Неужели на её стороне Сила (the Force - отсылка к Звёздным Войнам)? В любом случае, меня силой не напугать, а вот тот факт что придется Сильно долго во всём этом разбираться - еще как. "птичку... жалко..." только во моем случае - времени.
Акт третий - так делать нельзя
Эпилог Ну вот, товарищи, на этой ноте, У автора нету желания копаться в коде. И пусть наш автор не певец, Он Refactoring-y отец. Мораль сей басни такова: "без рефакторинга - никуда"
0
|
|||||||||||||||||||||||||||||||||||||||||||||||
|
4 / 4 / 0
Регистрация: 13.12.2016
Сообщений: 246
|
|
| 10.02.2018, 15:12 [ТС] | |
|
Уже исправил
0
|
|
|
║XLR8║
|
|
| 10.02.2018, 20:54 | |
|
Abomination_25, https://github.com/marukrap/Pr... -Generator вот еще для примера
0
|
|
|
4 / 4 / 0
Регистрация: 13.12.2016
Сообщений: 246
|
|
| 10.02.2018, 22:06 [ТС] | |
|
Спасибо, гляну - не подскажите, как лучше всего такие генераторы визуально представлять? Пишу на С++ чисто из-за того, что его знаю + в консоль только могу вывести
0
|
|
|
║XLR8║
|
||
| 10.02.2018, 22:49 | ||
|
0
|
||
|
4 / 4 / 0
Регистрация: 13.12.2016
Сообщений: 246
|
|
| 10.02.2018, 23:09 [ТС] | |
|
Я пишу на Unity сейчас, там в 3D всё преобразую. Но там немного криво всё это получилось...
0
|
|
|
4 / 4 / 0
Регистрация: 13.12.2016
Сообщений: 246
|
|
| 11.02.2018, 02:48 [ТС] | |
|
Съезжают коридоры и кусок карты как-будто "отрезается" :O
Добавлено через 3 часа 38 минут outoftime, Вы же с Unity не работаете?
0
|
|
| 11.02.2018, 02:48 | |
|
Помогаю со студенческими работами здесь
48
Генератор карт через структуру (список), странная ошибка, не понимаю в чём дело
Из колоды карт (36 карт) наудачу берут пять карт Сложный проект "Генератор карт для Valve Hammer Editor" В урне 10 белых,3 черных и 5 красных шаров // Из колоды карт,в которой 36 карт Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|