Zer0Galaxy
-
Публикации
1 220 -
Зарегистрирован
-
Посещение
-
Победитель дней
189
Сообщения, опубликованные пользователем Zer0Galaxy
-
-
Вот только кто всё это юзать будет. Мы с Крутым это проходили
Или возрождаем OpenNet?
-
Мы про ОС говорим? Какие там еще шрифты?
-
А что, предполагается этот браузер будет странички из реального Интернета тянуть и отображать? А как быть с графикой?
Я б присоединился если задачу сформулируешь.
return s:match"^%s*(.*)":match"(.-)%s*$" эквивалентно return s:match"^%s*(.-)%s*$"
function nextWord(str) local word = '' while pos <= str_len do local char = string.sub(str, pos, pos) if char ~= ' ' and char ~= '>' then word = word .. char else return word, char == ' ' end pos = pos + 1 end return nil end эквивалентно function nextWord(str) local word word,pos=str:match("([^%s>]*)()",pos) -- или как-то так return word endЭто я умничаю
-
3
-
-
Так Тоторо это уже делал? А как же я пропустил это на форуме?
-
На нашем форуме уже поднималась тема об использовании шрифта Брайля для создания графики повышенного разрешения.
Я тоже решил не оставаться в стороне. Действительно, такой способ дает возможность получить на мониторе 3-его уровня разрешение 320 х 200 точек, что в сочетании с 16-ю (а если точнее, 18-ю) градациями серого, может обеспечить весьма приемлемое качество растровых изображений.
Проблема, с которой я столкнулся, состояла в том, что ОС-компьютер довольно длительное время обрабатывает изображения такого размера. Поэтому я принял решение переконвертировать изображение в формат удобный для чтения ОС-компьютером.
Конвертирование выполняется программой, написанной на LOVE2D. В результате получается vga-файл, который может последовательно считываться и выводиться на экран ОС-компьютера при помощи простенькой программки:
local gpu = require("component").gpu local unicode=require("unicode") local filename = ... if not filename then print("Use: vga <vga-filename>") return end local file=require("filesystem").open("home/"..filename) -- открываем файл local oldW,oldH = gpu.getResolution() -- сохраняем текущее разрешение local H = string.byte(file:read(1)) local W = string.byte(file:read(1)) gpu.setResolution(W,H) -- устанавливаем новое разрешение for y=1,H do for x=1,W do gpu.setForeground(string.byte(file:read(1))*0x010101) -- устанавливаем цвет чернил ... gpu.setBackground(string.byte(file:read(1))*0x010101) -- ... цвет фона ... gpu.set(x,y,unicode.char(0x2800+string.byte(file:read(1)))) -- ... и выводим очередной символ шрифта Брайля end os.sleep(0) -- на всякий случай, что бы не подвиснуть end file:close() require("event").pull("touch") -- ждем клика gpu.setForeground(0xffffff) -- возвращаем исходные настройки gpu.setBackground(0x000000) gpu.setResolution(oldW,oldH)Как нетрудно видеть из приведенного выше кода, структура vga-файла такова:
- первый и второй байты: высота и ширина картинки (в знакоместах);
- группы из трех байт, каждая из которых определяет цвет и заполнение очередного знакоместа.
Интересно, что хотя я не стремился минимизировать размер vga-файла, он получился в несколько раз меньше исходного png-файла.
И вот, что у меня вышло:
-
10
-
1
-
-
У тебя интересно реализовано получение значения переменных из исполняемого кода, хоть и только из одной строки.
Я пытался получать через окружение, но так доступны только глобальные переменные. Может ты знаешь способ достучаться извне к локальным? Может какое то локальное окружение есть?
-
Так брекпойнты не брекпойнты вовсе, а просто еррорыЧетвертая наиболее полезная функция - это отладчик. Он позволяет вам выставлять так называемые "брейкпоинты" путем нажатия на кнопку "*" и узнавать, какое значение принимает та или иная переменная в исполняемом скрипте:
. А если я хочу после брекпойнта продолжить выполнение?
-
Нашёл самое просто решение, качайте последний билд эмулятора, он рабочий.
Спасибо, загрузилось.
Вот только в этом эмуляторе MineCode зачем то странным образом сжимает экран
и некоторые кнопки становятся недоступны.
-
Эх, начинал я когда то делать игруху про компьютерные взломы. Но она заглохла из-за отсутствия сюжетной линии.
-
-
Ты не представляешь, сколько людей в мире ежедневно редактируют файлы, вообще ничего не зная об OpenOS.Как редактировать их без опеноси?-
1
-
-
Не знаю как остальные форумчане, а я не возражаю. Редактируй.
-
11
-
-
А это еще почему? У меня получалось. Я только не помню, что бы больше трех раз пробовал.а вот записать таблицу в переменную, чтоб потом её можно было прочитать, у меня так и не вышло. -
Я знаком. У меня всё работало. Код не покажу, ты же не показываешь.
-
1
-
-
А как эти символы выводить. При помощи string.char у меня не получилось.
-
Итого - что мы имеем. Онлайн на сервере 10-15 человек, которые жаждут OpenNet. Команда возрождения, собранная в 2к16 и теперь от неё не сном ни духом (да, сморозил ересь, терпите, господа лингвисты) и мои попытки разузнать инфу. Исходники есть, инструкция +-, люди жаждущие OpenNet'а и команда которой нету. Или я что-то не так понял? Опять.
Я, как не последний человек, принимавший участие в поднятии старого ОпенНета, торжественно заявляю: второй раз я этого делать не буду. Править старый ON-код или писать новый я не буду. Для меня это пройденный этап.
Я готов ответить на ЛЮБОЙ вопрос касательно ОпенНет, но беда в том, что я пока не услышал ни одного вразумительного вопроса.
-
6
-
-
Зашибись! Эта библеотека немногим более установщика, который требуется для ее установки. Она просто повторяет функции модема. Обязательно буду ее использовать, поскольку она может "целые функции передовать".
-
5
-
-
Что значит "запускать мониторы через RedNet"? В СС подключить монитор к системнику можно при помощи двух проводных модемов и достаточного количества провода, если мне память не изменяет. Только когда шаришь его, указывать надо не сторону подключения, а сетевое имя.
-
Да я уж давно сделал и забыл про это.легче создать proxy диска компьютера, который сам будет обращаться к другому компу и получать с него данные, а потом возвращать. потом через fs.mount смонтировать, или работать напрямую через прокси -
В OpenOS имеется нечто на подобии RAM-диска. Этот диск, если ничего не менять в настройках, монтируется как папка /tmp/. Только вот загрузиться с него вряд ли получится. Он очищается при рестарте.
-
Я уже 1 год не могу понять! Как вытащить текст из edit чтобы он записался в переменную?
Edit может работать в двух режимах: редактор строки и редактор текста. По умолчанию он настроен на редактирование строки. В этом случае строка вытаскивается из редактора просто чтением поля text
var = Edit1.text
Если перед началом редактирования полю text присвоить пустую (или не пустую) таблицу
Edit1.text = {}то редактор переходит в режим редактирования многострочного текста. В этом случае каждая строка текста доступна как элемент таблицы
var = Edit1.text[1]
-
Вышла версия 1.2 отладчика.
Новая версия позволяет:
1) Запускать на отладку программу с параметрами. Если Ваша программа требует параметров при вызове, после слова debugger и имени программы укажите параметры. Например:
debugger digger.lua 20 40
2) В процессе отладки программы выполнять дополнительный код, которого нет в исходнике отлаживаемой программы. Это может быть полезным, если по ходу отладки необходимо изменить значение какой либо переменной. Для выполнения дополнительного кода нажмите клавишу Enter и в открывшемся окне "Выполнить" введите требуемый код.
После чего нажмите кнопку ОК.
-
6
-
-
А не могли бы вы, когда будете доделывать, реализовать свою программу следующим образом:+ нужно там будет еще кое-что доделывать(не все прореживания реализованы в программе).- функция load(filename) - загружает jpg-файл и возвращает объект pic (таблицу или строку), содержащий картинку.
- функция getSize(pic) - возвращает ширину и высоту картинки.
- функция getPixel(pic,x,y) - возвращает цвет пикселя.
Подобные функции у вас уже есть, но они или внутренние или заданы неявно.
-
В таком случае мне нужно знать ники всех разработчиков программы.

Возрождаем OpenNet?
в Флудилка
Опубликовано:
в смысле?