Jump to content


Photo

[1.7.10] ComputerCraft [1.74]


  • Please log in to reply
2863 replies to this topic

#1901 Lexor

Lexor

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

  • Пользователи
  • Active Posts399
  • Откуда: Иркутская область

Posted 29.03.2013 - 14:18

Модем из миксперифералс ? Или даже стандартный ? У меня-то нет этого аддона... Будет ли она чанк лоадится ?

Выполняет функции модема. Без аддона мискперифералс чанклоадер черепахе не сделать. У меня возникли затруднения со связью через модем: есть сервер и черепаха, черепаха когда готова шлет серверу свои координаты, шлет очень много раз, пока сервер не ответит. Сервер в ответ отвечает ей координатами следующей точки и удаляет эту точку из массива координат. Так задумано. Но происходит следующее: вместо отправки координат одной точки и ее удаления происходит отправка 3-4х точек меньше чем за секунду, они удаляются, но черепаха разумеется идет только к одной из 4х. Вопрос такой: помогите реализовать систему связи исключающую повторную отправку. Хотя бы примерно на словах. Сделал проверку на не повторение ID черепахи, но это плохое решение, одна черепаха не может два раза подряд связаться с сервером. функция связи на сервере:
Скрытый текст
функция связи на черепахе
Скрытый текст


#1902 Aquilo

Aquilo

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

  • Пользователи
  • Active Posts2338

Posted 29.03.2013 - 17:54

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

#1903 KaMaPuK

KaMaPuK

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

  • Пользователи
  • Active Posts681
  • Откуда: СПб

Posted 29.03.2013 - 19:03

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

#1904 ZashX

ZashX

    Странник

  • Пользователи
  • Active Posts34

Posted 29.03.2013 - 21:12

Заметил тут кое-что в статье:
Программирование на языке луа
Программа label

lebel get <сторона>

И у дисковода картинка умерла.

#1905 Lexor

Lexor

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

  • Пользователи
  • Active Posts399
  • Откуда: Иркутская область

Posted 30.03.2013 - 01:42

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

Все верно, сперва генерируется массив всех возможных координат "столбов" для квадрата заданной ширины, массив сохраняется в файл. Массив универсальный с центром в точке 0,0,0. Этот файл уже загружает сервер и использует поправку заданного реального центра координат карьера. Черепахи присылают свои текущие координаты, делается выборка из массива ближайшей координаты "столба" и посылается черепахе, после чего эта координата из массива удаляется, для исключения повторного копания старого "столба".

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

Благодарю за помощь, с выдержками пробовал, раньше толкового ничего не вышло, да повторов становилось меньше, но все равно были, а большие выдержки - не хорошо. С параллельным запуском идея хорошая, тем более у меня уже есть функция регистрации и сохранения в файл данных о всех работающих на этот сервер черепахах, достаточно будет добавить туда запись координат и состояния черепахи свободна/занята. Попробую сегодня это реализовать и протестировать. upd Решение найдено - в посылаемом черепахе массиве указал помимо координат номер выбранной из массива точки координат, которую необходимо удалить. Черепаха принимает массив и отправляет серверу в ответном сообщении только этот номер непосредственно перед началом выполнения команды. Сервер его принимает, сравнивает с отправленным и только тогда удаляет безошибочно нужную строчку из массива координат. Испытал пока с 8ю черепахами - копают бодро, сбоев нет, друг другу не мешают и друг друга не выкапывают :)

#1906 Storm Whisper

Storm Whisper

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

  • Пользователи
  • Active Posts1554
  • Откуда: Убежище 13

Posted 30.03.2013 - 07:51

Заметил тут кое-что в статье:
Программирование на языке луа
Программа label

lebel get <сторона>

И у дисковода картинка умерла.

спасибо!

#1907 Evgenio

Evgenio

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

  • Пользователи
  • Active Posts855
  • Откуда: Из пермабана

Posted 30.03.2013 - 11:37

for i=1,16 do
turtle.select(i)
turtle.dropUp()
end

Да не скажи:
Скрытый текст

I have been caught. Don't ban me please.
Если Вы хотите отблагодарить меня, дайте мне интернет:
Изображение
Уааау!
Скрытый текст

#1908 Aquilo

Aquilo

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

  • Пользователи
  • Active Posts2338

Posted 30.03.2013 - 11:44

Да скажи...циклов два, енд один...
Истинная гармония лежит между Абсолютной гармонией и Абсолютным хаосом

#1909 KaMaPuK

KaMaPuK

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

  • Пользователи
  • Active Posts681
  • Откуда: СПб

Posted 30.03.2013 - 11:55

Скрытый текст

ошибки: 1 - могу ошибиться, но вроде у него нету типа переменных integer.... в твоем случае объявление i:Integer - не обязательно... а если хочешь описать переменную, используй или i=0....(ну или i:Number)
2 - turtle.dropUp - пишется с большой буквы... луа чувствителен к регистру
3 - ты используешь 2 функции которые надо закрывать, а end у тебя стоит 1 раз...
а sleep(0.2) не обязательно описывать в цикле for... лучше уж в самом конце цикла while его поставить, не такая инертная черепашка будет
рандом он такой рандом....а если корейский так вообще забей)

#1910 Evgenio

Evgenio

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

  • Пользователи
  • Active Posts855
  • Откуда: Из пермабана

Posted 30.03.2013 - 12:00

Спасибо огромное, помогло
I have been caught. Don't ban me please.
Если Вы хотите отблагодарить меня, дайте мне интернет:
Изображение
Уааау!
Скрытый текст

#1911 ZashX

ZashX

    Странник

  • Пользователи
  • Active Posts34

Posted 30.03.2013 - 20:55

Вы вот тут писали про отправку сообщения от туртли на пк, как это реализовать проще ?Есть у меня условие, но что за код для этого нужен на черепахе и на самом компе? [bricks]

#1912 Minik

Minik

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

  • Пользователи
  • Active Posts2908
  • Откуда: Rivendell

Posted 30.03.2013 - 21:03

Созрел вопрос. Есть у Луа возможность распознавать день и ночь? То есть, если уровень освещения => a, то черепашка делает один набор операций. Если уровень освещения < а, то черепашка делает другой набор операций. Не скажу зачем мне это надо, но пример могу привести: включение/выключение источников света, в зависимости от освещения.

#1913 KaMaPuK

KaMaPuK

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

  • Пользователи
  • Active Posts681
  • Откуда: СПб

Posted 30.03.2013 - 21:43

Вы вот тут писали про отправку сообщения от туртли на пк, как это реализовать проще ? Есть у меня условие, но что за код для этого нужен на черепахе и на самом компе? [bricks]

используй

Созрел вопрос. Есть у Луа возможность распознавать день и ночь? То есть, если уровень освещения => a, то черепашка делает один набор операций. Если уровень освещения < а, то черепашка делает другой набор операций. Не скажу зачем мне это надо, но пример могу привести: включение/выключение источников света, в зависимости от освещения.

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

#1914 Minik

Minik

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

  • Пользователи
  • Active Posts2908
  • Откуда: Rivendell

Posted 30.03.2013 - 21:47

У РП есть свой датчик света:) Меня интересует, именно, возможность черепашек реагировать на уровень освещенности:) Безо всяких аддонов. жаль, если окажется, что нужно использовать сторонние модификации или аддоны%)

#1915 _random

_random

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

  • Пользователи
  • Active Posts151

Posted 30.03.2013 - 22:02

Созрел вопрос. Есть у Луа возможность распознавать день и ночь?

Черепашки могут определять внутриигровое время. os.time() вроде бы возвращает время в секундах (или в тиках, непомню) от начала суток (или от запуска мира, непомню). Освещенность без модов черепашки определять не могут.

#1916 ZashX

ZashX

    Странник

  • Пользователи
  • Active Posts34

Posted 31.03.2013 - 04:54

Вы вот тут писали про отправку сообщения от туртли на пк, как это реализовать проще ? Есть у меня условие, но что за код для этого нужен на черепахе и на самом компе? [bricks]

используй

#1917 Storm Whisper

Storm Whisper

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

  • Пользователи
  • Active Posts1554
  • Откуда: Убежище 13

Posted 31.03.2013 - 07:51

1) timeout это время в секундах, которое комп будет принимать сигнал. по истечению времени он продолжит работу не зависимо от того, принял ли он сигнал.2) "В ту, где модем ?" именно3) есть прога id или же команда os.getComputerID()

#1918 Dartolomey

Dartolomey

    Странник

  • Пользователи
  • Active Posts77

Posted 01.04.2013 - 13:00

Тыакк. А что за чудо-черепашки с зелёно-сапфировыми кирочками? А с сапфировыми?

Для создания черепашек можно использовать рубиновые сапфировые и изумрудные инструменты и мечи (те что добавляют RP2 и GregTech) . Правда это из основного мода или Misc Peripherals я не знаю.

#1919 Zaxdo

Zaxdo

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

  • Пользователи
  • Active Posts650
  • Откуда: Jita IV/ Moon 4/ Caldari Navy Assembly Plant

Posted 01.04.2013 - 13:04

Это из MiscPeripherials
Quidquid latine dictum sit, altum videtur.
Omnis Vestri Substructio Es Servus Ad Nobis.

#1920 GnomeEngi

GnomeEngi

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

  • Пользователи
  • Active Posts109

Posted 01.04.2013 - 18:15

Не-а, я помню, их кто-то использовал в летсплее Дайрвульфа ещё когда Форджкрафт был Пахикрафтом, то бишь на 1.2.5, а тогда MiscPeripherals ещё не было.
Posted Image


3 user(s) are reading this topic

0 members, 3 guests, 0 anonymous users