Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Web Analytics
Cookie Policy Terms and Conditions Pixilang — Википедия

Pixilang

Материал из Википедии — свободной энциклопедии

Для улучшения статьи желательно:
  • Привести стиль в соответствие с нормами современного русского языка

Pixilang — пиксельно-ориентированный язык программирования

Pixilang logo
Pixilang logo

Концепция Pixilang разработана в 2006 году Александром Золотовым [1] и Михаилом Разуваевым. В основу языка заложены следующие принципы:

  • универсальная буквенная визуализация графики, анимации и звука в исходном коде;
  • ориентация на идеологию демосцены;
  • простой синтаксис, минималистичность внутренней структуры;
  • межплатформенность;
  • отсутствие объектной ориентации;
  • минимальное использование внешних библиотек;
  • формат хранения программ - TXT.

Текущая версия интерпретатора языка работает в операционных системах Windows, Linux и PalmOS. Исходные коды интерпретатора распространяются под лицензией GNU GPL.

Содержание

[править] Возможности

  • быстрое написание небольших демок/игрушек/открыток и других графических приложений;
  • создание, редактирование и запуск программ на различных платформах;
  • простой синтаксис и малое количество команд;
  • использование универсального контейнера (pixi) для хранения различных данных (текст, картинки, шрифт);
  • пиксельная графика (в том числе анимация) описывается непосредственно в исполняемом TXT-файле при помощи ASCII символов;
  • прозрачность (простая и через альфа-канал);
  • поворот и масштабирование;
  • удобные команды синхронизации;
  • отсутствие математических floating point операций для повышения скорости выполнения программ;
  • проигрывание трекерной музыки в форматах MOD и XM (используется движок PsyTexx);
  • загрузка картинок из форматов GIF (анимированных) и JPG;
  • преобразование любой анимированной картинки в моноширный шрифт (каждый кадр - отдельный символ);
  • реал-тайм экспорт видеоряда в анимированный GIF;
  • сохранение области экрана в TXT-файл с pixilang-кодом внутри (оптимальное преобразование цветных пикселей в ASCII коды производится при помощи нейросети);

[править] Технические детали

Pixilang - интерпретатор. Интерпретируемая программа выбирается пользователем через графический диалог при старте. Если в папке с интерпретатором имеется файл boot.txt, то он выбирается автоматически. Перед запуском происходит генерация байт-кода.

Основа Pixilang - это pixi-контейнер. Он может содержать в себе картинку, строку текста, числовой массив и ссылку на другой pixi-контейнер с альфа-каналом. То есть, в pixi-контейнере может хранится любой набор данных, к которому можно обращаться, как к массиву.

Далее под терминами "картинка", "текстовая строка", "числовой массив" будет пониматься обычное число - номер pixi-контейнера. Пример:

//Считывание значения второго пикселя в картинке image:
pixel_value = image[ 2 ]

[править] С чего начать? Пример программы

Откройте любимый текстовый редактор и создайте новый файл со следующим содержимым:

Pixilang example 01
Pixilang example 01
//Простой анимационный пример
//Запишем цвет #003050 в переменную o
o = #003050
//Опишем анимированную картинку (pixi), 
//состоящую из двух кадров:
logo = "
.o...ooo...o.
..o..o.o..o..
...ooooooo...
...ooooooo...
.ooooooooooo.
.o.ooooooo.o.
oo.........oo
+
.o...ooo...o.
..o..o.o..o..
...ooo.ooo...
...ooooooo...
.ooooooooooo.
.o.ooooooo.o.
oo.........oo
"
//Теперь заставим язык преобразовать эту картинку 
//из текстового вида в графический:
make_pixi( logo ) 
//В этой переменной будем хранить коэфицент увеличения:
zm = 20 
//Метка:
start: 
//Устанавливаем прозрачность 64:
transp( 64 ) 
//Стираем экран белым цветом. Слегка стираем, 
//так как установлена прозрачность 64:
clear( #FFFFFF )
//Устанавливаем прозрачность 256 (непрозрачный):
transp( 256 ) 
//Рисуем нашу картинку logo по координатам 0,0 с увеличением zm:
pixi( logo, 0, 0, zm ) 
//Уменьшаем увеличение на единицу:
zm - 1 
//Выводим результат на экран и ждем 100 миллисекунд:
frame( 100 ) 
//Переходим на метку start:
go start 

Далее запустите Pixilang интерпретатор и укажите созданный вами файл.

[править] Демки (результаты работы некоторых pixilang-приложений)

Изображение:Mondrian.gif Изображение:Muxa best.gif‎ Изображение:Plasma hires.gif‎

[править] Планы

  • исправить искажение пикселей при плавном увеличении и повороте;
  • добавить возможность работы с бинарными файлами;
  • добавить возможность создавать и редактировать звук используя pixi-контейнеры;
  • ввести циклические операторы;
  • добавить 3D пиксели.

[править] Ссылки

 
На других языках
Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu