[1.7.10] ComputerCraft [1.74]
#2601
Posted 21.10.2013 - 11:55
#2602
Posted 21.10.2013 - 13:21
ПопробуйКто-нибудь знает, есть ли в lua стандартная команда для того, чтобы узнать имя выполняемого файла с полным путем к нему? Заранее спасибо.
shell.getRunningProgram()
Вот один из многих способовПодскажите, как вывести число с разделением разрядов?
Т.е. 1234567890 вывести в виде 1 234 567 890 ?
function write_digit(x) x=tostring(x) local a,b=x:match('([paste][/paste]+)(%d%d%d)') if a then write_digit(a) write(' '[paste][/paste][paste][/paste]b) else write(x) endend
#2603
Posted 22.10.2013 - 09:22
#2605
Posted 25.10.2013 - 21:03
#2606
Posted 25.10.2013 - 21:20
while true doturtle[paste][/paste]attack()Я видел в летсплее Деоникса как он делал такую систему: стоит гриндер с черепашкой, которая крутит рукоятку а пыль по трубам идет в печь и переплавляется...
#2607
Posted 25.10.2013 - 21:30
#2608
Posted 26.10.2013 - 05:32
#2610
Posted 30.10.2013 - 18:29
#2612
Posted 03.11.2013 - 21:37
#2613
Posted 04.11.2013 - 14:27
Опыт показывает, что shell.exit() завершает работу оболочки после завершения работы программы, но не завершает саму программу. Лично я пользуюсь чем то вроде... И еще, не пашет shell.exit(). Думаю что и там и там проблема в хитрозадом parallel'е
local work=truefunction exit() work=falseendwhile work do[paste][/paste][paste][/paste][paste][/paste]endА по поводу вывода текста, я бы попробовал так
function recv()while true do id,msg = rednet[paste][/paste]receive() x,y = term[paste][/paste]getCursorPos() term[paste][/paste]setCursorPos(1,y+1) if msg ~= nil then print(msg) end term[paste][/paste]setCursorPos(x,y)endend
#2614
Posted 04.11.2013 - 19:32
function send() x,y = term[paste][/paste]getCursorPos() term[paste][/paste]setCursorPos(1,19) input = read() ss = "["[paste][/paste][paste][/paste]nick[paste][/paste][paste][/paste]"("[paste][/paste][paste][/paste]mid[paste][/paste][paste][/paste]")] "[paste][/paste][paste][/paste]input rednet[paste][/paste]broadcast(ss)endА за помощь с завершением спасибо.
#2615
Posted 18.11.2013 - 17:03
if a==y then print('done') os[paste][/paste]reboot()\\ был бы рад узнать, как можно остановить программу, не прибегая к ребуту или shutdown[paste][/paste] else for i=1,x do dig() end left() a = a+1 for i=1,x do dig() end right() a = a+1 endВсё, сделал.
for i=1,y do if a==y then print('done', a) else for i=1,x do dig() end left() a = a+1 for i=1,x do dig() end right() a = a+1 endendprint('width;', a)Не думал что это сработает. Осталось добавить функцию установки сундуков и факелов :3 Но всё таки, меня настораживает эта часть
if a==y then print('done', a) elseможет там можно как то исправить, чтобы она работала, а то черепаха по окончанию останавливается, а эту часть оставляет.
#2616
Posted 18.11.2013 - 17:34
Сегодня я узнал, что если использовать цикл типа for i=1,y do ... end, то проверка условия a==y внутри цикла абсолютно излишня. Цикл выполнится y раз и перейдет к оператору после end. Именно здесь и нужно поставить print('done')
#2617
Posted 18.11.2013 - 18:52
Да, это я не учла. Спасибо. Пойду правитьДорогая Принцесса Селестия!
Сегодня я узнал, что если использовать цикл типа for i=1,y do ... end, то проверка условия a==y внутри цикла абсолютно излишня. Цикл выполнится y раз и перейдет к оператору после end. Именно здесь и нужно поставить print('done')
#2619
Posted 19.11.2013 - 19:12
#2620
Posted 23.11.2013 - 00:58
Есть ли вообще такая возможность получить символ по заданному коду?
Знаю есть обратная возможность - код по символу string.byte(
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users