Математическая генерация дна моря (глубины), Задача на мат.логику и/или программиование (не Стром-2.х) |
Здравствуйте, гость ( Вход | Регистрация )
Математическая генерация дна моря (глубины), Задача на мат.логику и/или программиование (не Стром-2.х) |
ALexusB |
Nov 13 2008, 14:32
Сообщение
#1
|
Разработчик ВМЛ-КВЛ Группа: Admin Сообщений: 16,225 Регистрация: 2-November 04 Пользователь №: 3 |
Народ, нужна помощь в одной интересной задаче для нужд игры про "кораблики" не на стром-2.х
Уперся в генерацию (роботом) дна (мелей) Дано: Есть матрица, например, 64х64 или 100х100, не важно, хоть 100х60 клеток. Значение клеток - это глубина в метрах. Для простоты считаем до 7 метров, далее для корабля не важно - "нет дна". То есть 1 2 3 4 5 6 7 видов значений. переходы глубин плавные, то есть 1-2 2-3 и тп, 1-7 или 1-3 быть не может. Рандомно задаются: - место мели в матрице - размер и форма мели - ширина полоски перехода на каждую глубину (то есть ширина 1-2, 2-3... можно одну на всех - это частный случай) - число мелей (они могут быть в нескольких местах или накладываться, тогда переходы будут 1-2-3-4-3-2-1 или 1-2-1, зависимо от расстояния) Требуется Алгоритм генерации мелей амебообразной формы (из значений 1) с плавным переходом в 7 Решение ??? Какие есть идеи? Понятно, что вариант наколбасить все ручками рабочий - редактор такой сделать не вопрос, он у мя уже почти готов. Но хочется, чтоб само делало, каждый раз разное |
Belphegor |
Nov 14 2008, 19:02
Сообщение
#2
|
ou Le Fantome du Louvre Группа: форумчанин Сообщений: 1,232 Регистрация: 4-September 07 Пользователь №: 11,932 |
Это я ступил. Сперва понял правильно (прибавлял), а потом стал вычитать.
Но все равно, вот гляди Цитата Короче, вокруг точки со значением 1 могут находиться точки со значениями 1 или 2. Вокруг точки со значением 2 могут находиться точки со значениями 1,2 или 3. вокруг точки со значением 3 могут находиться точки со значениями 2,3 или 4 и т.д. Имеем две находящиеся рядом точки - 2 и 3 и две пустые точки внизу. Допустим, что вверху где-то находится пик, поэтому заполнение идет вниз. Если заполнение радиально. 2 3 _ _ Вокруг точки со значением 2 могут находиться точки со значениями 1,2 или 3. допустим 2. 2 3 2 _ вокруг точки со значением 3 могут находиться точки со значениями 2,3 или 4 и т.д. а вот если поставить 4, то первое условие нарушается и вводится ошибка 2 3 2 4 А если заполнение построчно - если расчет вести не от верхней точки, а от, к примеру, левой, то может получиться так 2 3 2 _ Вокруг точки со значением 2 могут находиться точки со значениями 1,2 или 3. 2 3 2 1 Получается хаотично-бугристый, но тут бугры чересчур крупные. Хотя логически правильно. То есть нужно дополнительно проверять? Вот мне и кажется, что слишком много условий. |
Текстовая версия | Сейчас: 19th April 2024 - 23:32 |