Seryoga
Пользователи-
Публикации
100 -
Зарегистрирован
-
Посещение
-
Победитель дней
6
Тип публикации
Блоги
Профили
Форум
Багтрекер
Магазин
Все публикации пользователя Seryoga
-
pixel.lua удалён. Изменена структура матрицы. Теперь она одномерная.
-
Хорошо, в ближайшие дни добавлю анализ соседних пикселей.
-
Если тебе захочется нарисовать огромный прямоугольник, то можно сделать это за 1 операцию XD Упор идёт на динамические структуры. Я не спорю можно сделать анализ соседних пикселей, это в среднем сократит количество операций вдвое, хотя не факт. Так для рисования больших прямоугольников лучше использовать скомпилированные функции. Над чем я и работаю, просто сюда не добавил. Так как очень сырые. Ты нарисуешь один раз кучу объектов, подождёшь 0.1 сек, а дальше будет изменение 1 - 10 пикселей. Преимущества векторизации: Возможность создания view-портов, что позволит только перемещать матрицу в мире, а не объекты. Сейчас работаю над созданием матрицы у которой контур не прямоугольник, а полигон, что позволит создавать необычные сцены. Код легко расширяем, например чтобы сделать анализ соседних пикселей, я могу сопенсорсить твою функцию draw.
-
Added an description of color Added an description of pixel Added an description of matrix Added an description of painter
-
Added an description of vector2d Added an description of section2d Added an description of line2d Added an description of polyline2d Added an description of polygon2d
-
Попробуй запустить файл painter.test. Там ты увидишь два двигающихся объекта и много статических. + один из этих объектов полупрозрачный. Когда перемещаются эти объекты экран не мигает. Простота анализа пересечений объектов. Например чтобы проверить пересекаются ли два прямоугольника, нужно написать кучу проверок. Здесь тебе нужно задать два прямоугольника и в цикле проверить входят ли углы одного прямоугольника в другой. При помощи метода isInside(Vector): Boolean. В будущем я добавлю функции по типу intersectionFF(Polygon2d, Polygon2d): Boolean и intersectFF(Polygon2d, Polygon2d): Polygon2d Объекты заданные векторно легко масштабируются, перемещаются, искривляются, поворачиваются и мн. др. Это всё упростит разработку редакторов и игр на луа и др... Все тесты с циферками приведу позже, пока что все оценки скорости на глазок. Очевидно, что полное перерисовывание экрана каждый такт менее производительно, чем частичное перерисовывание.
-
Последнее время пишется очень много GUI библиотек для open computers. Я решил не отставать от моды и начал разрабатывать свою библиотеку. Так как все гонятся за красивостью и универсальностью, я решил сделать упор на скорость рисования 2D объектов и их математических представлениях. В этой библиотеке содержится описание примитивных математических объектов: https://gist.github.com/DeveloperHacker/18e08fdfc2269f1ad5c8 Вектор Отрезок Линия Ломаная Многоугольник А также есть классы, которые участвуют в рисовании: https://gist.github.com/DeveloperHacker/c54e3442202274b0ca9a Цвет RGBA Matrix для рисования низкоуровневых объектов Painter для рисования высокоуровневых объектов Вспомогательные программки без которых сложно, что либо проектировать: https://gist.github.com/DeveloperHacker/5f4925b04a9524790036 Расширение gpu Программа для быстрой смены цвета текста и фона консоли, можно добавить изменение разрешения Программы для запуска файлов с расширением Пример работы с моей библиотекой: https://gist.github.com/DeveloperHacker/cc84c09a0980fcd21472 Рисование при помощи матрицы Рисование при помощи painter'а В планах: Написать документацию Добавить проверку соседних пикселей Добавить закрашивание фигур Добавить рисование растровых изображений Добавить класс Intersector, он будет специализироваться на обнаружении наложений объектов и их пересечении Добавить сохранение матрицы в растровом и векторном виде Добавить закрашивание фона фигур и матрицы растровым изображением Попробовать уменьшить пиксели до половины, как это сделал Zer0Gelaxy http://computercraft.ru/topic/1451-graficheskaia-biblioteka-graffiti/?do=findComment&comment=20699 Добиться максимальной производительности Написать небольшой проект использующий эту библиотеку Реализовать 3D Писал это библиотеку максимально гибко, поэтому возможна интеграция с другими Gui lib'ами. Если вам она понравиться, то я продолжу разработку в ускоренном темпе. Не откажусь от чьей либо помощи. Надеюсь вам понравится. P.s моя реализация похожей библиотеки на языке java https://github.com/DeveloperHacker/2DEngine
-
Если бы lua компилировался, то он бы замечал ошибки типа: print(unresolvedReference.field), во время компиляции, а не во время исполнения.
-
А почему не сделать 10 кабинок? Поставить сканер, который будет смотреть кто, когда, и куда вошёл или вышел. Например, Петя приходит в банк, занимает одну кабинку и разлогинивается. Потом приходит Вася и видит: "В кабинке №3 уснул Петя...". Исходя из этого он решает пойти в другую кабинку. Если Петя будет часто спать в кабинке, то его больше в банк не пустят =) Пусть ходит к банкомату, на территории которого разрешён pvp.
-
Мне один из преподавателей сказал: "Нужно ли искать ответ задачи, если она не применима на практике? Мы же не математики. " Можно подождать пока появится Ethernet или AlexCC закончит писать банк, а потом уже начинать ломать какие-либо системы.
-
Эти три вируса бессмысленны, так как если программа серьёзная, то всегда есть копия на дискете, иначе комп в утиль и новый скрафтить. Благо крафт лёгкий =) Я придумал только один адекватный вирус, но если узнать исходник, то он контрится за пару сек. =( Есть ещё одна идея, но для её реализации мне нужен SEMORO, а точнее исходник одной его прожки. p.s. Это моё мнение и оно может отличаться от вашего =) надо юзербаб запилить =)
-
Для чего нужен вирус в minecraft? 1.Если для того чтобы удалить всё с компа, то проще подойти к нему и удалить всё ручками, чем писать какую-то прогу. Вы скажете: "Интересно бы сделать автоматическое заражение", а смысл? всё равно связаны между собой компов 1-2 и те у одного хозяина. 2. Если для того чтобы просто испортить комп, то такой вирус снести дело 5-ти минут. Как бы вы не старались написать убер-крутой вирус всё равно в приоритете будет дискета. А исходники CC os не изменить.((( 3. Если для того чтобы украсть данные с компа, то ... А что воровать, исходник с: "printf("Hello world");" ? Секретными разработками никто не занимается(((( Напишите свои предпосылки написания вируса? p.s. Это моё мнение и оно может отличаться от вашего =)
-
А можно мне такую почту??? =)
-
Есть в программировании такой раздел, называется он "Метапрограммирование" Вот это самая настоящая магия. http://habrahabr.ru/post/137446/
-
Jet, а можете написать поподробнее, в чём заключается ошибка??
-
Программа помогает вам сделать сенсорную дверь... Дверь определяет хозяев и открывается только перед ними. Система сделана так чтобы при перезагрузке сервера или выгрузке чанков, дверь была закрыта. Чтобы добавить человека, нужно изменить ники в строке: local white_list = {'Your_name', 'Guest_1', 'Guest_2'} Количество людей в списке ограничено только оперативкой компа... Код программы. http://pastebin.com/25zd3SF0 Hotfix Door v 1.2. http://pastebin.com/5gu6XVgX Оптимизировал поиск людей из white list. Из-за бага с redstone пришлось уменьшить отклик двери. При увеличении значения перемененной distance_locate долгий отклик будет не заметен.
-
Данная программа отслеживает игроков, находящихся в поле зрения локатора. Она выводит на монитор полную информацию о игроке: ник, координаты, id, расстояние от локатора до игрока; записывает в файл время прихода и ухода гостей (пока что записывается время mine-мира); когда игрок появляется в области действия локатора, срабатывает сирена. Настройка сирены. Есть одна проблема: если подключить сирену напрямую к компьютеру, то при выгрузке чанков сирена начинает сходить с ума. Поэтому нужно подключить сирену через следующую схему (придумано Desectus -ом): Настройка интерфейса. В этой программе можно настроить информацию для вывода на экран. Просто закомментируйте блок кода с выводом. По дефолту стоит: Ник, координаты, расстояние. Можно изменить количество столбцов вывода, расстояние между ними и тп., используя блок переменных, написанных в начале. Код программы. http://pastebin.com/cussCqiu
