Перейти к публикации
Форум - ComputerCraft
Гость opera

Программа для решения лабиринта

Рекомендованные сообщения

Гость opera

Идея для конкурса - лабиринт для черепашек. Цель игры - добраться первым до финиша. Изображение

Правила: не ломать блоки( выдаётся черепашка без инструментов и модема ), можно ставить блоки( кроме тех, которые разрушают блоки ), когда черепашка дойдёт до финиша( зелёная шерсть ) подать redstone сигнал во всех направлениях.

Изображение

Примерный код для черепашки, ищет путь методом обхвата правой руки:

turtle.select(16)
turtle.refuel(64)
turtle.select(1)
while not turtle.compareDown() do
    turtle.turnRight()
    while turtle.detect() do
        turtle.turnLeft()
    end
    turtle.forward()
end
for i, j in ipairs( redstone.getSides() ) do
    redstone.setOutput( j, true )
end
Но он не подойдёт для случаев где финиш не примыкает к стене, из-за этого нужно написать код, который построит карту и сможет найти кратчайший путь( http://ru.wikipedia.org/wiki/A* ) в ней за минимальное время.

Некоторые критерии для карты:

* Карта должна быть большой

* Найти выход нельзя простыми методами

* Возможно добавление третьего измерения для 3D карты

тут - КАРТА

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Сам лабиринт можно дополнить еще одной шерстью в начале и поставить компьютер, который будет считать время от подачи сигнала в начале до прохождения лабиринта.

Плюс можно делать лабиринт высотой в 2 блока и давать черепашке шерсть для установки меток.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну и победит тупо та черепашка, которой повезет. Даже супер-пупер алгоритм не даст особого преимущества перед "обхватом правой руки" (с небольшими фиксами), так как черепашке в любом случае нужно пройти число клеток, которое стремится к количеству проходимых клеток вообще.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

можно нейросеточки организовать и потренировать на лабиринтах сделанных человеком. Фантазия у людей не резиновая.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

нейросеточки

Угу, нейросеть на 16мб оперативы компкрафта строить =) А потом в конце победит черепашка, которая не думая двигалась в рандомные стороны и сделала больше действий\мин.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

на атмеге было всего 16кб и это не помешало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ардуинка это не чистая атмега,

помню то время когда на атмеги писали прошивки на асемблере,

тогда про ардуин даже и в идее не был, 

16 кило для асемблера это много,

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×