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


Фотография

[1.7.10] ComputerCraft [1.74]


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

#1701 Nazdar

Nazdar

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

  • Пользователи
  • Сообщений: 112
  • Откуда: Круговерть Пустоты

Написал 20.02.2013 - 20:47

кто-то вызывал.. рекурсию?)

#1702 Princess Celessia

Princess Celessia

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

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

Написал 21.02.2013 - 12:46

кто-то вызывал.. рекурсию?)

Ну если у кого нибудь получится написать копию майна на LUA, то да =D Хмм, как мне запихнуть проверку блоков в слотах и если =0 то выбрать следующий слот? Можно сделать 2 цикла? Один while true do, 2 for i=1,9 do чтобы 1 проверял слоты, а второй строил? И вобще, как мне сказать черепахе чтобы она ставила значение слота типо - предидущийслот + 1?
Использую тампоны для удовлетворения голода.

#1703 Nazdar

Nazdar

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

  • Пользователи
  • Сообщений: 112
  • Откуда: Круговерть Пустоты

Написал 21.02.2013 - 23:06

есть ведь квестовый майн в стандартных прогах, вместе со змейкой, может и smp добавит кто-нибудь)

#1704 Lexor

Lexor

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

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

Написал 22.02.2013 - 02:23

Хмм, как мне запихнуть проверку блоков в слотах и если =0 то выбрать следующий слот?

Например так, используй вызов функции PD() вместо стандартного туртл.плейс
Скрытый текст


#1705 KaMaPuK

KaMaPuK

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

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

Написал 22.02.2013 - 03:18

Хмм, как мне запихнуть проверку блоков в слотах и если =0 то выбрать следующий слот?

для это существует метод turtle.getItemCount(n), который возвращает кол-во предметов в слоте n.

Можно сделать 2 цикла? Один while true do, 2 for i=1,9 do чтобы 1 проверял слоты, а второй строил?

я бы сделал не 2 цикла, а функцию, которая бы следила бы за предметом в выделенном слоте, и если там пусто, выбирала след слот...

И вобще, как мне сказать черепахе чтобы она ставила значение слота типо - предидущийслот + 1?

к сожалению в АПИ черепашек нету метода возвращающего номер выделенного слота(я его нигде не встречал), по этому приходится пользоваться отдельной переменной(например slot=1 или s=1), которая задается в самом начале программы.

Хмм, как мне запихнуть проверку блоков в слотах и если =0 то выбрать следующий слот?

Например так, используй вызов функции PD() вместо стандартного туртл.плейс
Скрытый текст

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

#1706 Lexor

Lexor

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

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

Написал 22.02.2013 - 06:08

Пожалуй лучше будет так:
Скрытый текст
turtle.select(slot) пропустил. Да, if был лишний.

#1707 KaMaPuK

KaMaPuK

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

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

Написал 22.02.2013 - 18:46

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

#1708 Lexor

Lexor

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

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

Написал 23.02.2013 - 02:17

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

Есть пара известных мне вариантов для вычисления местоположения компа/черепахи после перезагрузки мира: 1. Использовать Скрытый текст


#1709 KaMaPuK

KaMaPuK

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

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

Написал 23.02.2013 - 02:34

gps не справится т.к. станция порой движется между базами, находящимися на расстоянии 5к блоков. и управление осуществляется с помощью компьютеров на этих базахподскажи, зачем открывать фаил в режиме "a" и потом его сразу закрывать?
рандом он такой рандом....а если корейский так вообще забей)

#1710 Lexor

Lexor

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

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

Написал 23.02.2013 - 02:40

Чтобы программа не вылетела, если такового файла нет. Если файла нет, просто создаст пустой файл, а если есть открывает в режиме защиты от изменений.

#1711 KaMaPuK

KaMaPuK

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

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

Написал 23.02.2013 - 04:39

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

#1712 Storm Whisper

Storm Whisper

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

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

Написал 23.02.2013 - 08:49

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

#1713 Lexor

Lexor

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

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

Написал 23.02.2013 - 09:53

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

Это понятно, что потом файл будет, ну вот написал ты программу, первый раз запустил ее на компе, файла еще нет, комп пытается прочитать и программа вылетает. А при наличии этих сток файл будет создан, программа не вылетит, продолжит работу и в дальнейшем будет сохранять координаты туда. Потом эти строчки будут уже не нужны. Т.е используются только для первого запуска программы, когда файл с координатами еще не создан. Можно конечно создать его вручную, в таком случае строки будут не нужны, но ИМХО так проще.

#1714 Storm Whisper

Storm Whisper

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

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

Написал 23.02.2013 - 10:42

Разбираться не буду, просто скажу: при первом запуске программы я делаю так:
nX=nVar1nY=nVar2nZ=nVar3nAngle=nVar4save()
Присваиваю всем переменным стартовые значения и сразу же сохраняю файл. Наличие файла можно, если не ошибаюсь, проверить командой shell.resolveProgram(path)

#1715 Princess Celessia

Princess Celessia

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

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

Написал 26.02.2013 - 18:38

Странная ошибка вылетает при установке miscperipherals, на сборку с idresolver и divinerpg.
Скрытый текст
Как этот маппинг ему сделать? MiscPeripherals в coremods и в mods кидал. Может ли черепаха\компьютер выполнять 2 цикла while ... do одновременно? Или будет выполнятся только первый цикл?
Использую тампоны для удовлетворения голода.

#1716 KaMaPuK

KaMaPuK

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

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

Написал 26.02.2013 - 20:12

можно вставить один while ... do в другой, и будут выполняться оба...
рандом он такой рандом....а если корейский так вообще забей)

#1717 Princess Celessia

Princess Celessia

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

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

Написал 26.02.2013 - 20:19

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

#1718 KaMaPuK

KaMaPuK

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

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

Написал 26.02.2013 - 21:14

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

#1719 Princess Celessia

Princess Celessia

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

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

Написал 26.02.2013 - 23:57

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

Да не норм, серверу 2гб вполне хватает, отдельный комп для хоста есть =)
Использую тампоны для удовлетворения голода.

#1720 KaMaPuK

KaMaPuK

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

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

Написал 27.02.2013 - 00:20

Оффтопик
в чем отличие объявления функции и переменной с использованием слова local и без него?
рандом он такой рандом....а если корейский так вообще забей)


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

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