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


Фотография

Digital rain

opencomputers lua digital rain the matrix

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 17

#1 Оффлайн   Doob

Doob
  • Пользователи
  • Сообщений: 814
  • Уровень сигнала: 17,94%
  • В игре: 146 час. 10 мин.

Награды

                                   

Отправлено 17 Июль 2015 - 13:54

Немного кривое и медлительное поделие в стиле дождя на мониторах в The Matrix.
Ускорить никак не получается из-за отжирания времени циклами и ограничением производительности мониторов, можно воспользоваться библиотекой thread, но она иногда приводит к FATAL EГГОГ, который можно исправить только уничтожив жесткий диск.
 
pastebin get Lsb5YMjg rain

 

1ciSGhs.png


  • Totoro и Black15 это нравится

#2 Оффлайн   LeshaInc

LeshaInc
  • Пользователи
  • Сообщений: 1 212
  • Уровень сигнала: 14,44%
  • В игре: 117 час. 41 мин.
  • ГородЛуна

Награды

                       

Отправлено 17 Июль 2015 - 13:59

FATAL EГГОГ


Фатальный Еггог? Кто такой еггог? Хм... [й' э г г о г]

#3 Оффлайн   Zer0Galaxy

Zer0Galaxy
  • Гуру
  • Сообщений: 1 229
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

   5                              

Отправлено 17 Июль 2015 - 14:27

Думаю станет лучше, если за каждым символом будет тянуться шлейф из менее ярких, постепенно гаснущих символов.

1408585204396id342921.gif



#4 Оффлайн   swg2you

swg2you
  • Пользователи
  • Сообщений: 268
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

              

Отправлено 17 Июль 2015 - 14:27

Фатальный Еггог? Кто такой еггог? Хм... [й' э г г о г]

Понимание ЕГГОГ недоступно неофитам программирования )


  • Alex, Fingercomp и davial это нравится

#5 Оффлайн   unknown

unknown
  • Пользователи
  • Сообщений: 63
  • Уровень сигнала: 14,92%
  • В игре: 121 час. 36 мин.

Награды

        

Отправлено 17 Июль 2015 - 14:30

Посмотрите Еггогология на Википедии - я не шучу!


  • MineUbuntu, davial и dases это нравится

#6 Оффлайн   Doob

Doob
  • Автор темы
  • Пользователи
  • Сообщений: 814
  • Уровень сигнала: 17,94%
  • В игре: 146 час. 10 мин.

Награды

                                   

Отправлено 17 Июль 2015 - 15:39

Думаю станет лучше, если за каждым символом будет тянуться шлейф из менее ярких, постепенно гаснущих символов.

 

 

Да, я так и делал, но это замедляет процесс отрисовки в десятки раз, поэтому сделал чтобы только новые символы были 00FF00, остальные 008800, только из-за странных пустых символов теперь иногда замирают символы с лаймовым цветом.

Хорошо было на CC, там нету вымышленных ограничений - можно каждые пол-секунды перерисовывать весь экран.



#7 Оффлайн   swg2you

swg2you
  • Пользователи
  • Сообщений: 268
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

              

Отправлено 17 Июль 2015 - 17:41

Да, я так и делал, но это замедляет процесс отрисовки в десятки раз, поэтому сделал чтобы только новые символы были 00FF00, остальные 008800, только из-за странных пустых символов теперь иногда замирают символы с лаймовым цветом.

Хорошо было на CC, там нету вымышленных ограничений - можно каждые пол-секунды перерисовывать весь экран.

Палитру юзай. Она позволяет менять цвет без перерисовки.

gifki-58535609_orig_.gif


  • dases это нравится

#8 Оффлайн   LeshaInc

LeshaInc
  • Пользователи
  • Сообщений: 1 212
  • Уровень сигнала: 14,44%
  • В игре: 117 час. 41 мин.
  • ГородЛуна

Награды

                       

Отправлено 17 Июль 2015 - 17:58

gifki-58535609_orig_.gif


Ух какой красивый муравьишка!
  • dases это нравится

#9 Оффлайн   Doob

Doob
  • Автор темы
  • Пользователи
  • Сообщений: 814
  • Уровень сигнала: 17,94%
  • В игре: 146 час. 10 мин.

Награды

                                   

Отправлено 17 Июль 2015 - 18:16

Палитру юзай. Она позволяет менять цвет без перерисовки.

gifki-58535609_orig_.gif

 

Эм... А как оно ускорит работу? Все-равно беда в циклах.



#10 Оффлайн   Zer0Galaxy

Zer0Galaxy
  • Гуру
  • Сообщений: 1 229
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

   5                              

Отправлено 17 Июль 2015 - 18:17

Палитру юзай. Она позволяет менять цвет без перерисовки.

Что это за палитра и как ей пользоваться?  На вики вскользь про какие то индексы сказано.



#11 Оффлайн   swg2you

swg2you
  • Пользователи
  • Сообщений: 268
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

              

Отправлено 17 Июль 2015 - 18:42

все что выводится таким методом:

gpu.setForeground(i, true), где i = 0..15 - индекс цвета в палитре 

 

можно поменять сделав:

gpu.SetPaletteColor(i, 0x654321) - изменив цвет индекса

 

палитра, по сути, таблица цветов, а индекс - номер цвета.

 

зы1

не забывайте сохранять палитру и восстанавливать после.

 

зы2 

типичное применение плавное появление/затухание изображения (фейдинг)

local c1=gpu.getPaletteColor(1) --сохраняем значение первого цвета

gpu.setPaletteColor(1, 0x000000) --гасим первый цвет
gpu.setForeground(1, true) -- задаем его для вывода
print('Hello World') -- выводим текст

for c=0,0xFF do
  gpu.setPaletteColor(1, c + c*0x100 + c*0x10000) --проявляем цвет
  sleep(0.01)
end

sleep(5) --ждем чтоб прочитали

for c=0xFF,0,-1 do
  gpu.setPaletteColor(1, c + c*0x100 + c*0x10000) --гасим цвет
  sleep(0.01)
end

gpu.setPaletteColor(1, с) -- восстанавливаем исходный цвет


Сообщение отредактировал swg2you: 17 Июль 2015 - 18:55

  • Fingercomp и SergOmarov это нравится

#12 Оффлайн   Doob

Doob
  • Автор темы
  • Пользователи
  • Сообщений: 814
  • Уровень сигнала: 17,94%
  • В игре: 146 час. 10 мин.

Награды

                                   

Отправлено 17 Июль 2015 - 18:53

Хм.. Надо попробовать генерировать рандомный текст на весь экран, а потом палитрой рисовать линии, но вряд-ли это что-то изменит, кроме смазливости изображения.

 

P.S. Можно ускорить убрав в генераторе линий os.sleep() изменив число в генераторе новых позиций с 6 на 30, но тогда дождь будет идти волнами.


Сообщение отредактировал Doob: 17 Июль 2015 - 19:41


#13 Оффлайн   Alex

Alex
  • Администраторы
  • Сообщений: 3 767
  • Уровень сигнала: 48,58%
  • В игре: 395 час. 50 мин.

Награды

                 

Отправлено 17 Июль 2015 - 21:46

Я когда-то такую фиговину сделал на сервер наш старый на спавн на КК. Грузит оно сильно, эти принтилки в бесконечных циклах. И там не перепринчивался экран весь. Там только рандомился 'y' первой  строки и падал символ, меняясь на ходу, а затухание осуществлялось рандомными чистильщиками(то ли пустым символом, то ли чем, уже не помню)

 

Такие проги надо прятать, так как почти каждый бибигон запустит их у себя  в домике для красоты, а выхлопа полезного с них нет. Но так то да, Матрица повсюду, спору нет, смотрится оно культово.



#14 Оффлайн   davial

davial
  • Пользователи
  • Сообщений: 450
  • Уровень сигнала: 14,83%
  • В игре: 120 час. 52 мин.
  • ГородТроон в системе Канопуса.

Награды

                       

Отправлено 18 Июль 2015 - 12:23

Фатальный Еггог? Кто такой еггог? Хм... [й' э г г о г]

Не было у тебя МК-52 :giggle:


Сообщение отредактировал davial: 05 Февраль 2016 - 22:43


#15 Оффлайн   LeshaInc

LeshaInc
  • Пользователи
  • Сообщений: 1 212
  • Уровень сигнала: 14,44%
  • В игре: 117 час. 41 мин.
  • ГородЛуна

Награды

                       

Отправлено 18 Июль 2015 - 12:25

Небыло у тебя МК-52 :giggle:

К большому сожалению...

Сообщение отредактировал LeshaInc: 18 Июль 2015 - 12:26


#16 Оффлайн   davial

davial
  • Пользователи
  • Сообщений: 450
  • Уровень сигнала: 14,83%
  • В игре: 120 час. 52 мин.
  • ГородТроон в системе Канопуса.

Награды

                       

Отправлено 18 Июль 2015 - 12:29

Понимание ЕГГОГ недоступно неофитам программирования )

ММ-52(61) - рулит :D


Посмотрите Еггогология на Википедии - я не шучу!

У нас тоже тут ЕГГОГология творится, только с Луа.


Сообщение отредактировал davial: 18 Июль 2015 - 12:41

  • dases это нравится

#17 Оффлайн   LeshaInc

LeshaInc
  • Пользователи
  • Сообщений: 1 212
  • Уровень сигнала: 14,44%
  • В игре: 117 час. 41 мин.
  • ГородЛуна

Награды

                       

Отправлено 18 Июль 2015 - 12:40

У нас тоже тут ЕГГОГолигия творится, только с Луа.

Скорее спам. :giggle:

Сообщение отредактировал LeshaInc: 18 Июль 2015 - 12:41


#18 Оффлайн   swg2you

swg2you
  • Пользователи
  • Сообщений: 268
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

              

Отправлено 18 Июль 2015 - 16:26

ММ-52(61) - рулит :D


У нас тоже тут ЕГГОГология творится, только с Луа.

Угу. Я на 61-м много кодил ) 

 

Как еггоголог могу сказать, что описание мониторов и гпу, в официальной вики, не соответствует действительности.

  • Монитор тир2 умеет 16 переопределяемых цветов
  • Монитор тир3 умеет 16 переопределяемых и 240 фиксированных (всего 256).
  • 16 переопределяемых цветов в тир3 занимают место градации серого, из стандартной палитры 6*8*5+16, поэтому их изменение портит оттенки серого.
  • Цвет в виде 0xRRGGBB - фикция, при записи, цвет будет приведен к ближайшему из палитры монитора (16 для тир2 и 256 для тир3)

Поэтому, в любом случае, для хранения цвета знакоместа (фон/символ) в тир2 достаточно 1 байт, тир3 -2 байта.

 

Еще одна особенность. Запись "широкого" юникод-символа в знакоместо, затирает следующее знакоместо пробелом.


  • Doob и davial это нравится





Темы с аналогичным тегами opencomputers, lua, digital, rain, the matrix

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных