Математическая генерация дна моря (глубины), Задача на мат.логику и/или программиование (не Стром-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, 17:40
Сообщение
#2
|
ou Le Fantome du Louvre Группа: форумчанин Сообщений: 1,232 Регистрация: 4-September 07 Пользователь №: 11,932 |
Цитата А остаток заполняется по тому же условию 1 От оси вправо, например. И это будут не клетки на кругах, а клетки в рядах (математика, по крайней мере, так их будет трактовать). Нифига не понимаю. Главное, чтоб Алексус понял. 3 _ 2 _ 3 _ 2 1 2 _ 2 2 1 1 2 _ 2 2 2 _ 2 _ 3 _ 2 Ну вот берем и заполняем верхний ряд по правилу: пустая клетка равна или меньше на единицу клетки слева от нее 3 3 2 1 3 2 _ 2 1 2 _ 2 2 1 1 2 _ 2 2 2 _ 2 _ 3 _ 2 Получается так. К примеру. А это две ошибки. Или я все-таки неправильно тебя понял? Не бейте сильно, если что... Цитата Кроме того, ты рассматриваешь мель, как неправильный эллипс внутри поля (пусть 64*64) с замкнутой кривой периметра. Ну так, вроде так и спрашивалось... Цитата Снизу - сложнее. Во-первых нужно задать критический периметр из множества точек. Во-вторых количество этих рандомных точек должно быть достаточно большим с определёнными взаимовлияющими значениями. Это трудоёмко для случайной генерации. Ну квадратную систему я предложил. Периметр получается рандомный. Вот только квадратность. |
Текстовая версия | Сейчас: 19th April 2024 - 23:03 |