|
4 / 4 / 0
Регистрация: 13.12.2016
Сообщений: 246
|
|||||||||||||||||||||
ASCII генератор карт в консоле26.01.2018, 12:01. Показов 7670. Ответов 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 | |
|
Генератор карт через структуру (список), странная ошибка, не понимаю в чём дело
Из колоды карт (36 карт) наудачу берут пять карт Сложный проект "Генератор карт для Valve Hammer Editor" В урне 10 белых,3 черных и 5 красных шаров // Из колоды карт,в которой 36 карт Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Сезонность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы
Всем привет! Хочу поделиться свежим (и довольно. . .
|
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
|
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения:
- добавлена многоязычность
- добавлено снятие скриншотов
- добавлено поддержание бафов хождения по воде (для жреца, дк и шамана)
- и так, по. . .
|