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

Totoro

Гуру
  • Публикации

    1 950
  • Зарегистрирован

  • Посещение

  • Победитель дней

    289

Сообщения, опубликованные пользователем Totoro


  1. Вообще, как только возникает место, где копипастится дважды один и тот же кусок кода, стоит сразу задуматься - "а правильно ли я делаю?" =)

     

    Например тут можно переписать код так:

    for i = 1, #t do 
      if t[i] == 9 then
        wX = wXst
        wY = wY + 1
      else
        term.setCursor(wX, wY)
        term.write(draw[t[i]])
        wX = wX + 1
      end
    end
    
    

    P.S. К слову, для переноса строки лучше юзать число 0.

    На случай, если у тебя будет бульше восьми символов для рисования.

    А вот 0 никак не будет конфликтовать, т.к. индексы начинаются с 1.

    • Нравится 1

  2. @qwertyMAN, нет, не из-за этого.

    Боб инициализирует массив не указывая ключи, а значит, Луа им сам выставляет ключи от 1 до N.

    А цикл for k, v in pairs(t) do пройдёт по ним по порядку.

     

    Но ты прав в том, что по индексированному массиву стоит перемещаться юзая индексы. =)

    • Нравится 2

  3. Не вчитывался в код, но мне кажется это из-за того, что ты сначала рисуешь символ, а потом перемещаешь курсор.

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


  4. Создать чат бота на опен компах, который по возможностям хотябы на 50% будет достоен siri, сродни великому мазахизму. Более менее нормальная либа для написания НС на луа это torch. Даже если она вдруг запустится, в чём я мало уверен, то всё равно самые простетские сети прямого распространения будут обучаться неделями. До кучи, нужно где-то найти данные для обучения, не думаю, что яблочные ими поделятся. Хотя я не писал им.

     

    Ты ведь обратил внимание, что Наполеон из первого поста УЖЕ пишет чатбота "аналогичного Siri" на Lua и при том на ComputerCraft?

    Но мне кажется что на деле тут планы так далеко не пойдут. Максимум что мы увидим - это простейший switch с набором заготовленных ответов.

    И это если что-то вообще будет написано. =)

    • Нравится 1

  5. Я бы рад напечатать, только как это сделать? Те же знаки псевдографики?

     

    Сейчас буду с юникодом разбираться. 

     

    Так проще парёной репы.

     

    1) Идёшь сюда: https://ru.wikipedia.org/wiki/%D0%9F%D1%81%D0%B5%D0%B2%D0%B4%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D0%BA%D0%B0

    2) Копипастишь нужные символы.

    3) ...

    4) Профит!

    • Нравится 1

  6. Ну, во-первых можно просто взять и напечатать.  :)

    print("▓")
    

    CP437 лучше не юзай, юзай Юникод. OpenComputers поддерживает огромное количество символов Юникода.

     

    Для этого предусмотрена специальная либа.

    local unicode = require('unicode')
    
    print(unicode.char(12345))  -- переводим код символа в строку и распечатываем его
    
    • Нравится 1

  7. кто-то на дриме грабил банк, поместив апгрегд поршня в планшет)

     

    Вот вот =)

    А со стороны собственно софта никто не зашёл.

     

    Я скромно полагаю, что это по причине его несокрушимости и неприступности.  :D


  8. то нужно писать чтото вроде беспалевной кражи и изменения инфы или же найти уязвимость в какой-то сложной системе и своим вирусом ее положить)

     

    Вот как бы да, вирус ообычно этим и занимается.

    А поскольку основная "сложная система" OC - это OpenOS, то все вирусы под неё выглядят примерно так:

    Я – Чукотский вирус. 
    В связи с очень плохим развитием информационных технологий на моей родине, я не могу причинить вред вашему компьютеру. 
    Пожалуйста, будьте любезны, сотрите самостоятельно один из файлов с вашего компьютера, а затем перешлите меня другим. 
     
    Заранее благодарен.
    Чукотский вирус
    • Нравится 1

  9.   if n == 1 then
        print(1) -- не написал n, потому что в данной части кода он всегда равен 1
      else
        print(n) -- здесь я не знаю чему равен n
      end

     

    Я наверное что-то пропустил, но какой сакральный смысл в этом куске кода?  :)

     

    Можно же просто print(n).

    • Нравится 2

  10.  if n==1 then print(1)

    Я правильно пронимаю, что print выведет первое значение из таблицы args?

     

    Нет.

    Этот кусок кода означает:

    если переменная n равна 1, напечатать в консоль цифру 1
    

    Если ты хочешь напечатать первое значение из args, ты должен явно это указать:

    print(args[1])
    
    • Нравится 1

  11. Сразу два скролла в таблице символов - неудобно.

    Оставь только по вертикали, или только по горизонтали.

     

    Ну и вообще, мне кажется, можно кнопки поуменьшить. Потому что места много занимают зря. Идеально - это просто таблица символов, с расстоянием между соседними в пару-тройку пикселей.

     

    Панелька с последними использовавшимися символами будет тоже кстати.


  12. Ошибку to long without yielding выдает

     

    Замени read на os.sleep(), или на event.pull().

     

    Ввод данных с клавиатуры - блокирующая операция. Во время нее эвенты не обрабатываются.

    Если тебе надо одновременно слушать клавиатуру и эвенты,

    то пиши кастомный ввод данных, на основе эвента key_down.


  13. Надо развернуть палитру, чтобы цветовое колесо было всегда видно, а внизу запоминались использованные цвета.

    А таблицу символов засунуть в основное окно.

     

    Потому что свернутая палитра, и отдельная таблица - это способы экономии места.

    А у тебя места полно, и это только создаёт лишние  неудобства.


  14. Как насчёт самого простого? Сделать несколько скринов, как набираешь текст на компе с названием сайта и склеить это всё в анимацию?

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

     

    Это будет скучно.


  15. Мы знаем, что новички не умеют программировать, а некоторые даже не горят желанием заняться этим вообще. Предпочитая устанавливать MineOS и воображать себя крутыми хакерами.

     

    Мне кажется основная проблема заключена как раз в этом факте.

    А вовсе не в том, что OC сложный.

    • Нравится 5
×
×
  • Создать...