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


Фотография

[1.7.10] ComputerCraft [1.74]


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

#1901 Lexor

Lexor

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

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

Написал 29.03.2013 - 14:18

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

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


#1902 Aquilo

Aquilo

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

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

Написал 29.03.2013 - 17:54

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

#1903 KaMaPuK

KaMaPuK

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

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

Написал 29.03.2013 - 19:03

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

#1904 ZashX

ZashX

    Странник

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

Написал 29.03.2013 - 21:12

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

lebel get <сторона>

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

#1905 Lexor

Lexor

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

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

Написал 30.03.2013 - 01:42

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

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

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

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

#1906 Storm Whisper

Storm Whisper

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

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

Написал 30.03.2013 - 07:51

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

lebel get <сторона>

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

спасибо!

#1907 Evgenio

Evgenio

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

  • Пользователи
  • Сообщений: 855
  • Откуда: Из пермабана

Написал 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

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

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

Написал 30.03.2013 - 11:44

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

#1909 KaMaPuK

KaMaPuK

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

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

Написал 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

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

  • Пользователи
  • Сообщений: 855
  • Откуда: Из пермабана

Написал 30.03.2013 - 12:00

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

#1911 ZashX

ZashX

    Странник

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

Написал 30.03.2013 - 20:55

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

#1912 Minik

Minik

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

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

Написал 30.03.2013 - 21:03

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

#1913 KaMaPuK

KaMaPuK

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

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

Написал 30.03.2013 - 21:43

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

используй

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

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

#1914 Minik

Minik

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

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

Написал 30.03.2013 - 21:47

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

#1915 _random

_random

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

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

Написал 30.03.2013 - 22:02

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

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

#1916 ZashX

ZashX

    Странник

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

Написал 31.03.2013 - 04:54

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

используй

#1917 Storm Whisper

Storm Whisper

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

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

Написал 31.03.2013 - 07:51

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

#1918 Dartolomey

Dartolomey

    Странник

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

Написал 01.04.2013 - 13:00

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

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

#1919 Zaxdo

Zaxdo

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

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

Написал 01.04.2013 - 13:04

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

#1920 GnomeEngi

GnomeEngi

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

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

Написал 01.04.2013 - 18:15

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


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

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