Перейти к содержимому


Фотография

[1.7.10] ComputerCraft [1.74]


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2863

#1981 Lexor

Lexor

    Добытчик угля

  • Пользователи
  • Сообщений: 399
  • Откуда: Иркутская область

Написал 28.04.2013 - 02:41

Удачи. Ради интереса, как будешь на практике это применять?

Пока что хочу сделать что-то вроде универсального апи для передвижения любой черепахи в заданную точку с использованием координат GPS, даже если она не оборудована киркой для прокладки прямого маршрута. Сейчас просто интересно реализовать эту цель. А вообще вариантов применения алгоритму поиска пути можно найти массу: рубка деревьев в лесу, без затрагивания слоя земли, сбор каких-либо полезных ископаемых или растений с поверхности. UPD. Насочинял кое-что.. Правда довольно далеко от совершенства: в двухмерном лабиринте черепаха довольно стабильно находит выход, но вот найти вход в пещеру в скале ей весьма сложно, в некоторых случаях вообще не находит. В лесу конечно очень легко обходит деревья и прочие простые препятствия. Вообще было бы интересно провести что-то вроде конкурса по написанию программы для черепахи для прохождения какого-либо лабиринта, расположенного не в одной плоскости.

#1982 Aquilo

Aquilo

    Тонущий в песках душ

  • Пользователи
  • Сообщений: 2338

Написал 28.04.2013 - 09:13

Вариант для теста: Незер.
Истинная гармония лежит между Абсолютной гармонией и Абсолютным хаосом

#1983 Minik

Minik

    Опечаленный гастами

  • Пользователи
  • Сообщений: 2908
  • Откуда: Rivendell

Написал 28.04.2013 - 09:33

А нельзя в данном алгоритме правило левой/правой руки применять одновременно к обеим плоскостям? Пусть, к примеру, черепашка идет по левому краю стены и по полу. Если возникнет ситуация, что черепахе можно будет идти и налево и вниз, то исходить из координат пункта назначения. (но опять же решение не всегда будет эффективным, ибо иногда более длинный путь можно пройти за меньшее количество шагов, чем короткий))

#1984 Lexor

Lexor

    Добытчик угля

  • Пользователи
  • Сообщений: 399
  • Откуда: Иркутская область

Написал 28.04.2013 - 11:09

Вариант для теста: Незер.

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

А нельзя в данном алгоритме правило левой/правой руки применять одновременно к обеим плоскостям? Пусть, к примеру, черепашка идет по левому краю стены и по полу. Если возникнет ситуация, что черепахе можно будет идти и налево и вниз, то исходить из координат пункта назначения. (но опять же решение не всегда будет эффективным, ибо иногда более длинный путь можно пройти за меньшее количество шагов, чем короткий))

Что-то вроде этого я и использую. У меня черепаха всегда старается идти по полу, если более 2х блоков под ней пустота, то идет вниз, при столкновении с препятствием пытается обойти его сверху. Если это не удается (дерево или потолок мешает) то тогда уже используется алгоритм трассировки - обход препятствия справа или слева в зависимости от того какое направление ближе к точке назначения. Код там довольно простой: цикл со счетчиком не более 30 повторов, если вперед false тогда поворачиваем направо, если вперед true, то поворачиваем налево, если направление совпадает с первоначальным, то return true. Так же есть еще проверка, если во время трассировки был всегда потолок или пол, а потом вдруг внезапно исчез, то черепаха полезет в эту дыру.

#1985 Minik

Minik

    Опечаленный гастами

  • Пользователи
  • Сообщений: 2908
  • Откуда: Rivendell

Написал 28.04.2013 - 11:31

[ Если это не удается (дерево или потолок мешает) то тогда уже используется алгоритм трассировки - обход препятствия справа или слева в зависимости от того какое направление ближе к точке назначения.

А если потолок в 1-2 блока? Из-за этого сразу в сторону отходить? Как-то так, где красная шерсть - это препятствие, сундук - черепашка (которая по схеме идет влево) [snowman] : [red] [red] [red] [red] [red] [red] [red] [red] [red] [red] [woolwhite] [woolwhite] [woolwhite] [woolwhite] [woolwhite] [woolwhite] [woolwhite] [woolwhite] [red] [red] [red] [red] [red] [red] [woolwhite] [woolwhite] [red] [red] [woolwhite] [woolwhite] [big-chest2] [red] [red] [red] [red] [red] [red] [red] [red] [red] [red] Допустим, если смотреть спереди: слева и справа стена, куда пойдет черепашка, если упрется в потолок? Логично же, чтобы она отошла по потолку назад на два блока, поднялась и продолжила движение вперед.

#1986 Lexor

Lexor

    Добытчик угля

  • Пользователи
  • Сообщений: 399
  • Откуда: Иркутская область

Написал 28.04.2013 - 11:57

Да, у меня она пойдет в обход, налево или направо, даже если "козырек" будет в 1 блок.. Обходить сразу вверх с возвращением назад... Я думаю что это может очень удлинить путь в более банальных ситуациях, при встрече с более обычным деревом например. Вообще конечно идея хорошая, думаю добавить этот алгоритм для использования в крайнем случае, если черепаха начнет гонять кругами не находя выхода.

#1987 Gromwild

Gromwild

    Странник

  • Пользователи
  • Сообщений: 65

Написал 29.04.2013 - 09:44

Написал простую программку для зачарования с помощью черепахи, но не чарует. в rez False что я делаю не так? в слоте текущем лежат книги.xp = peripheral.wrap("left")level = xp.getLevels()print(level)rez = xp.enchant(30)print(rez)

#1988 Zaxdo

Zaxdo

    Добытчик алмазов

  • Пользователи
  • Сообщений: 650
  • Откуда: Jita IV/ Moon 4/ Caldari Navy Assembly Plant

Написал 29.04.2013 - 09:48

Сколько книг в слоте? Должна быть одна.
Quidquid latine dictum sit, altum videtur.
Omnis Vestri Substructio Es Servus Ad Nobis.

#1989 Gromwild

Gromwild

    Странник

  • Пользователи
  • Сообщений: 65

Написал 29.04.2013 - 10:45

Сколько книг в слоте? Должна быть одна.

спасибо

#1990 Riukus

Riukus

    Добытчик угля

  • Пользователи
  • Сообщений: 302

Написал 04.05.2013 - 17:11

Эм... А можно запилить систему из какого-либо типа сундуков/бочек/DSU из MFR и каким-то образом подсоединить к ним мониторы, чтобы отображался тип и количество хранимых предметов? Нубский вопрос, но в CC не смыслю, а полностью разбираться в моде ради одной функции (которой может и нет) не хочется. AE, как альтернативы, нет и не будет в сборке.

#1991 Storm Whisper

Storm Whisper

    Зачарователь

  • Пользователи
  • Сообщений: 1554
  • Откуда: Убежище 13

Написал 04.05.2013 - 17:16

Черепашки могут сравнивать один предмет с другим, но самостоятельно узнать конкретное название или что-либо другое о нём не могут. Больше способов я не знаю.

#1992 Riukus

Riukus

    Добытчик угля

  • Пользователи
  • Сообщений: 302

Написал 04.05.2013 - 19:13

Понятно, спасибо... Я думал, что как реактор из IC2 мониторить можно, в каком-то видео было. Вроде в позапрошлом серверном сезоне Дайервульфа. Буду дальше думать, или может Эло что в новой версии добавит...

#1993 Apokalypsys

Apokalypsys

    Добытчик дерева

  • Пользователи
  • Сообщений: 183

Написал 04.05.2013 - 20:22

CC здесь не поможет, тут NuclearControl нужен. Там и реактор и сундуки и грегтеховские штуки мониторить можно.

#1994 Cyxapuk

Cyxapuk

     

  • Главные модераторы
  • Сообщений: 8706
  • Ник в Minecraft:
    Meegoo

Написал 04.05.2013 - 20:24

1. Контролить реактор компютером позволяет аддон MiscPeripherals на пару с NuclearControl2. При чем тут Эло?

V6xCzSN.png


#1995 Riukus

Riukus

    Добытчик угля

  • Пользователи
  • Сообщений: 302

Написал 04.05.2013 - 21:44

CC здесь не поможет, тут NuclearControl нужен. Там и реактор и сундуки и грегтеховские штуки мониторить можно.

Для NuclearControl нужен IC2, который в сборке отсутствует. Сам по себе он уже приелся, ГрегТех в последнее время превратился в перекормленного мутанта, поэтому всю эту связку решил заменить на один TE. Ну и чрезмерный индустриализм портит впечатление от TConstruct. ) AE убрал, т.к. с помощью него не трудно уместить все хранилища, переработку и крафты в одной среднего размера коробке, а это скучно. CC, по сути, более похож на инструмент, который будет к месту в любой сборке (если не злоупотреблять черепахами). Поэтому выбор пал на него.

1. Контролить реактор компютером позволяет аддон MiscPeripherals на пару с NuclearControl 2. При чем тут Эло?

1. Понятно... 2. Это было, так сказать, к слову. Мало ли что она добавит в новой версии, и возможно это "что-то" поможет решить задачу. Ведь если CC не справиться, нужно будет искать альтернативу. Или забить на проект. :-/

#1996 Aquilo

Aquilo

    Тонущий в песках душ

  • Пользователи
  • Сообщений: 2338

Написал 04.05.2013 - 22:10

Я думал, что как реактор из IC2 мониторить можно...

Для NuclearControl нужен IC2, который в сборке отсутствует.

0_0 Так еще раз для кокой задачи нужно... Может есть что...
Истинная гармония лежит между Абсолютной гармонией и Абсолютным хаосом

#1997 Riukus

Riukus

    Добытчик угля

  • Пользователи
  • Сообщений: 302

Написал 04.05.2013 - 22:18

В целом хочу что-то типа

#1998 Lexor

Lexor

    Добытчик угля

  • Пользователи
  • Сообщений: 399
  • Откуда: Иркутская область

Написал 05.05.2013 - 01:46

В целом хочу что-то типа


#1999 Riukus

Riukus

    Добытчик угля

  • Пользователи
  • Сообщений: 302

Написал 05.05.2013 - 10:13

Что-то типа как на видео в целом возможно, но это довольно трудоемко, особенно если без РП2. Стандартными средствами CC считать содержимое сундука нельзя, есть аддон для компкрафта


#2000 Lexor

Lexor

    Добытчик угля

  • Пользователи
  • Сообщений: 399
  • Откуда: Иркутская область

Написал 05.05.2013 - 10:25

Сейчас посмотрел на результат запроса у данного вида сенсора, из ванильного одиночного деревянного сундука со смешанным содержимым получилась вот такая табличка:
["-2,0,0"]={["RawName"]="tile[paste][/paste]chest",["DamageValue"]=3,["Name"]="Chest",["Position"]={["Y"]=71,["X"]=20,["Z"]=1295,},["InventoryPercentFull"]=10[paste][/paste]185185,["TotalSpace"]=1728,["ItemCount"]=176,}
Отсюда видно, что сенсор не может считывать что именно находится внутри, но может сказать тип, объем хранилища, процент его заполнения и количество айтемов внутри. Назначение "DamageValue" честно говоря не ясно.


Количество пользователей, читающих эту тему: 3

0 пользователей, 3 гостей, 0 анонимных