bob558
-
Публикации
95 -
Зарегистрирован
-
Посещение
-
Победитель дней
1
Сообщения, опубликованные пользователем bob558
-
-
Вот такой пример программы:
s = "privet" a = string.len(s) for l=1, a do m = string.byte(s,l) print (m) end
На выходе получим 112, 114, 105, 118, 101, 116
Но если текст будет русским, то на каждый символ будет по два трехзначных числа. А это уже не очень удобно.
Читал, что можно как-то разделить с помощью string.gmatch(s, "%w+"), но как это сделать я не понял.
-
tt = alf["p"][ (tx-1)*8+ty ]Этот код - это здорово и просто!!!!
Спасибо!
-
У тебя x 48 раз прибавляется. Хотя бы для приличия вот этот костыль поставил бы if x>6 then x=x-6 end
А то x уходит далеко-далеко.
А в лучшем случае надо бы переписать код на основе двух циклов x и y.
И читаемость кода будет лучше и производительность.
Да, теперь вижу - спасибо огромное!!!!!! Вечером поправлю код.
-
local function print_txt() local x = 5 -- фиксирование начальных координат local z = 23 for at=1, 48 do -- цикл отрисовки буквы - 48 - кол-во символов в букве local y = 30 -- зафиксировать начальный уровень буквы по высоте x = x + 1 -- сделать отступ в право для каждого вертикального слоя for ty=1, 8 do -- цикл для прорисовки вертикального слоя буквы высотой в 8 y = y-ty -- спуститься на 1 пиксель вниз tt = alf["p"][at] -- получить значение hologram.set(x, y, z, tt) -- отрисовка end end end
С циклами, вроде я ни чего не напутал.
-
-
Блин, не alf[p], а alf["p"], кавычки, капитан, кавычки!!
Не работает!!!
Ошибка прежняя
-
-
Не работает. Ошибка та же, и она где-то глубже.
-
Написал программу для голопроектора. Она должна выводить букву "п" 6х8 точек с вертикальной прорисовкой. Но программа даже не успевает очистить проэкцию и выдает ошибку.
Вроде все сделал правильно, но ошибка -то есть!
local component = require("component") local hologram = component.hologram hologram.setPaletteColor(1, 0xFFFFFF) -- белый hologram.setPaletteColor(0, 0x000000) local alf = {} alf[p]= {0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} -- п -- alf[101] = {00111110, 00101000, 00101000, 00010000, 00000000, 00000000} -- р local function print_txt() local x = 5 local z = 23 for at=1, 48 do -- цикл отрисовки буквы local y = 30 x = x + 1 for ty=1, 8 do y = y-ty tt = alf[p][at] hologram.set(x, y, z, tt) -- отрисовка end end end ----== Тело программы ==---- hologram.clear() print_txt()Сама ошибка:
-
да)
Не могу зайти со своими данными - пишет: неверный пароль
Куда установился лаунчер, не могу найти. У меня МАС. Лаунчер скачал для линукса.
-
Еще странный вопрос, регистрация для игры и регистрация на форуме это одни и те же данные?
-
Вывод?=))) Бросай нахрен тот инфиникТеч2 и играй на ИТ. У нас роботы нормально работают)
Не нашел информацию про моды на вашем сервере.
Есть ли Ender IO? Chisel? Galacticraft? ....
-
На "этом же" каком? На каком сервере играешь? Где это все происходит?
Скачивается лаунчер и он уже дает возможность играть или в онлайн, или соло, со сборкой Infitech2. В соло проблем нет - все идет штатно, по программе.
Как робота в приват добавить?
Расприватил территорию, отбежал от дома на всякий случай и посадил около воды растения - эффект тот же - с растений ничего не собрал. Приват тут нипричем.
-
Сейчас на этом же сервере в творческом режиме в сингле робот работает как надо. Проверил в режиме прямого управления интерпретатора LUA.
На этом же сервере в многопользовательской игре робот не работает должным образом.
В чем может быть проблема? Лаг? Задержка какая-то?
-
Проблема такая, робот не собирает с жердочек плоды растения. Но если в робота в первый слот положить хотя бы один плод, то начнет собирать. Правда, как только соберет стак, опять будет разбрасывать плоды, не собирая их.
Играю на сервере со сборкой Infitech 2. Там многие конфиги изменены, но не думаю, что влезли в эту область жизни робота.
Раньше эта программа работала правильно.
Может какие изменения в OpenComputers произошли?
Моя программа: http://pastebin.com/qUQuEvx5
Это видео , как работает робот: https://youtu.be/6yjjiMwcF2g -
Спасибо хоть, что не написали в заголовке "ПОМОГИТЕ!!!", но переименовал тему всё равно. Думайте над названием чуть больше.
Спасибо. Буду внимательней
-
Ищи поиском "bufferChanges" замени значение на false)
Спасибо! Раньше видел статью, как разными способами можно залить программы и не нашел.
-
Здравствуйте! Систему переставлял и забыл, что нужно изменить в конфиге мода, чтобы заливать программы в носители внутри мода: дискеты, винчестеры...
Я искал поиском и не нашел. А эта инфа где-то была.
-
Извините за оффтоп, но Квант, есть такой BB тег, называется code. В квадратных скобках напиши code, потом свой код, а потом в квадратных скобках /code. Не надо мучать себя и раскрашивать код, этот тег сам все раскрасит.
function abcde(...) print("Синяя или красная?") end local a = 228Спасибо, сделал
) -
Еще раз спасибо вам за подсказки - читать код стало в разы проще и понятней!!!
Разбираясь с программой для карьера, я наткнулся на функцию:
withg=(generator~=nil) function clearinv() alreadyhave=false for invcounter=1,slots do robot.select(invcounter) if withg then suc,error=generator.insert() if (error=="selected slot does not contain fuel" or alreadyhave) then robot.drop() else alreadyhave=true end else robot.drop() end end robot.select(1) sort() end
Эта функция связана с заправкой генератора. Я не понимаю вот эту строчку:
suc,error=generator.insert()
В другом месте заправка выглядит несколько иначе и понятнее:if(computer.energy()/computer.maxEnergy())<0.01 then for i = 1, 16 do component.generator.insert(64) end end
-
проверка выполняется так, robot.detectDown()
Спасибо!
-
Спасибо! Я раньше предполагал, что while not robot.down() do это только проверка под роботом, а не само перемещение роботаВот она: robot.down()
И в твоем цикле она встречается целых два раза:
здесь: while not robot.down() do
и здесь: print(robot.down())
В первом случае выполняется проверка, выполнено ли движение. И цикл будет выполняться до тех пор, пока этой строчкой кода не будет выполнено реальное перемещение вниз. Потому и программа завершается только после смещения вниз.
-
Лирическое отступление.
В далекие 90-е у меня был комп "Радио 86-РК" на intel 8080 и по редким статьям я совсем немного научился программировать в ассемблере. Правда дело, чтоб разобраться в прерываниях, не дошло - забрали в армию. После армии появились другие интересы.
Сейчас я хотел попросить дружный коллектив этого сайта помочь мне разобраться с движением робота.
Робота ставлю на каменный блокКак я понимаю эту программу.robot=require("robot")while not robot.down() do -- проверяет что под роботом. если не вернулось true - начать цикл - внизу препятствиеprint(robot.down())robot.swingDown() -- копать вниз--print(robot.down())endКак я думаю, робот должен копнуть под собой и останавливить выполнение программы. Но робот копает и смещается вниз и только затем программа останавливается.Где команда смещения робота вниз?Я не понимаю почему, если раскомментировать строку--print(robot.down())программа зацикливается до бесконечности - копает вниз - смещается вниз - копает вниз - смещается вниз...?Буду благодарен, если кто поможет разобраться. -
А зачем в коде по 2 раза r.useDown() r.useDown()?
И одного раза хватит.

Описание сервера Sky-Tech
в Sky-Tech [ откл. ]
Опубликовано: · Изменено пользователем bob558
Идея с пищей интересная, но реализована плохо. Если что- то хоть раз поел, то эта пища больше не будет уталять голод. Надо есть каждый раз что-то новое!
Попробуйте некоторое время поиграть в Terra Firma Punk - там потребление пищи очень интересно реализовано: Для хорошего самочувствия нужно употреблять что-то белковое, зерновое и молочное. Если долго что-то не употреблял - идут штрафы.
Здесь же все стопятьсот раз умерли от голода!