Chtěl bych poprosit místní programátory (ale i neprogramátory), až budou mít čas, potřeboval bych radu.. skriptovací jazyk v BMPWORK se vyvinul postupem času do této hrůzné podoby (tato sekvence má za následek generování křivící se lávové textury):
= @50 16 5 2
#mx @10
#my @11
= @20 @10 @11
+ @20 1 1
= @0 0 128 128
#do @5 @0 pp
= @98 @10 @11
/ @98 @50 @50
= @96 @98 @99
/ @96 2 2
#rand @100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
* @100 @51 @51 @51 @51 @51 @51 @51 @51 @51 @51 @51 @51 @51 @51 @51 @51
.
back
new 0 @20 @21 @5
= @0 @98 @99 @50 100 @52
__
#imov 90 @3
shrink 0 0 @1 @20 0 @90 256 @97 @4
shrink 0 @0 0 @21 1 @90 256 @96 @4
+ @0 @98 @99
+ @3 1 1
#loop @2
blur 0 12 12
disp 0 0 @128 @129 256 256
+ @100 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
Asi je nám všem jasné, že takhle teda ne.. A nerad bych do budoucího GUI zaváděl takovéhle prasárny
Mám v plánu, že přidám adresování báze+offset, pojmenované proměnné, argumenty funkcí a instrukcí v závorkách (volitelně s prefixem názvu) a struktury/záznamy (struct/record - záleží, v čem děláte). Nicméně pořád mi z toho vychází děsně nepřehledný mišmaš.. Analyzátor makrokódu typu A=B/(C+15)*50 bude určitě také součástí, ale stále mne nenapadá, jak to více zjednodušit (chtělo by to tak 2x).. Tak kdybyste měli nějaký nápad, moc prosím o radu
Zapojit se mohou i lidé, kterým programování nic neříká, protože bych byl rád, aby i oni byli schopni program používat..
(to opakované psaní argmentů mi mělo zpřehlednit kód (jde o zápis ve stylu SIMD).. v cyklu se to plní např. ve skriptu k vodě ve stylu
#mx @10
#my @11
+ @10 1 1
= @200 @10 @11
/ @200 11 11
= @99 10
= @21 150
__
#imov @21 20
+ @20 100 1
#loop @99
)
Další fáze testovací animace, která vznikla během celkem masivního testování hlavního programu (opravy chyb)..
Dole bump mapa, která se použije při výpočtu nasvětlení scény..
Poslední přidaná funkce.. tato provádí výpočty nad obrázkem dle vzorce (něco jako skript ve skriptu).. Využití mne napadá pro fraktály, FFT, a podobné blbinky..
#mx @10
#my @11
+ @10 1 1
new 0 @10 @11
.
comp 0 r=" @255 *10+xm256-y" g="s(xm360*100)*127" b="$(r(x-2;y-h/64))*10+s( @255 *1000)"
put 0
Takže konec práce na těchto programech konečně nastal.. teď začnu pracovat na grafické nadstavbě.. (a samozřejmě opravovat chyby, pokud je v těchto programech ještě najdu)
(uznávám, debilní příklad, takže v příloze něco užitečnějšího.. vytvoření palety do obrázku 256x256 pixelů při nulové modré: comp 0 r="x" g="y" b="0")
Dekadický časovač s použitím generátoru fontu (klasicky zadané konstanty jak se používaly dřív ve VGA tabulkách)
Martine, mohl bych se zeptat ... kdo tento program krom tebe ještě používá, o kom víš ?
Myslíš kromě pár bývalých betatesterů? Určitě by se dali spočítat na prstech jedné ruky, co mi lidi psali.. takže tak možná 10 lidí na planetě? Však já se ani nedivím
Jednak je to děsně složité a jednak tam jsou určitě ještě někde chyby.. Hlavně, že ho používám já
Uvidíme, kolik lidí bude používat druhou verzi, která už bude klikací.. ale kdy bude, to je otázka
Trochu mimo plán (mám "plné" ruce práce na jiném projektu mimo pořadí
, takže GUI zatím odkládám) jsem si hrál s BMPWORK a vytvořil dvě animace.. první je programátorská hra LIFE a druhá je generátor bludiště s vysoce primitním (a blbým) algoritmem na jeho projdutí.. A samozřejmě nesmí chybět typický HELLO program (používá bitmapovou ASCII tabulku).