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

N1nt3nd0

Пользователи
  • Публикации

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

  • Посещение

Репутация

0 Обычный

N1nt3nd0

  • Звание
    Посетитель

Посетители профиля

174 просмотра профиля
  1. Осмелюсь предложить более удобный "алгоритм" вычисления для данного скрипта, в одну строчку и без условных операторов: local success, result = pcall(load('return ' .. cmd)) При нажатии на кнопки, формируется строка в переменную cmd, и после нажатия "=", если success, на экранчик выводится result.
  2. этот код я набросал для примера. Я хотел реализовать выход из цикла нажатием кнопки Q и возврат в главное меню main(). В оригинале в "меню" вместо "test" намного больше "ссылок" на разные функции из скрипта. А фукцию main() после else я вызываю повторно для того чтобы скрипт не крашнулся если я введу другие варианты кроме предложенных ("test" и "exit"). Я даже убрал main() из функции main() после else, и всеравно возник тот же баг... Как то так...
  3. Здравствуйте! Делая выход из цикла нажатием на клавишу я столкнулся с непонятным мне багом. Опишу его таким вот кодом для примера: local c = require('component') local term = require('term') local event = require('event') local keyboard = require('keyboard') local gpu = c.gpu function main() term.clear() io.write('exit >> ') local text = io.read() if text == 'exit' then term.clear() os.exit() elseif text == 'test' then event.listen('key_down',test) test() else main() end end function test(name,adress,char,code,player) term.clear() while true do key = tostring(keyboard.keys[code]) gpu.set(1,1,'for stop press Q') os.sleep(0.0000000001) if key == 'q' then break end end event.ignore('key_down',test) term.clear() print('test') os.sleep(2) main() end main() Суть бага: я запускаю скрипт, пишу exit и он закрывается, как положено, но когда я напишу exit после того как запущу и остановлю цикл test, то на экране снова высвечивается 'test' на 2 секунды и возвращается в main() вместо того чтобы закрыться. Почему?? А второй раз когда я пишу exit, то скрипт уже закрывается... Как избавиться от этого??
  4. Спасибо, помогло) лойс в карму! Понял насчёт listen.ignore() Спасибо за совет! Я кстати использовал как пример код твоей игрухи OpenClicker, но os.sleep() упустил видимо
  5. Есть следующий код для примера: local event = require("event") local component = require('component') local computer = require('computer') local gpu = component.gpu local check = true function test() store = computer.energy() gpu.set(10,10,''..store..'') end function touch(_,_, x, y) if x >= 1 and y >= 1 then check = false os.exit() end end function run() while check do pcall(test) end end event.listen('touch', touch) run() Вопрос 1: в коде присутствует event.listen(), но он не работает. Почему?? Что я делаю не так? И как изменить код, чтобы он заработал? Вопрос 2: когда я делаю тачскрин через event.pull('touch') то все циклы в программе останавливаются. Как этого избежать? И вообще, дайте совет пожалуйста как лучше всего реализовывать систему тачскрина, чтобы в дальнейшем не наступать на те же грабли... Спасибо!
×
×
  • Создать...