PLua - programowanie od ręki
- obsługę łącza szeregowego
- funkcje graficzne niskiego poziomu - tzn. rysowanie pikseli, kresek, okręgów, wyświetlanie bitmap, etc. - również w kolorze
- generowanie interfejsu użytkownika - przyciski, listy rozwijane, formy, itd.
- obsługę głośniczka
- obsługę zdarzeń - prostych zdarzeń generowanych przez użytkownika - tapnięcia, naciśnięcia klawiszy, etc.
- wykorzystuje bibliotekę MathLib
W pobranej paczce znajdziemy dokumentację w pliku HTML, kilka przykładowych źródeł oraz plik PRC, który jest jednocześnie biblioteką run-time, środowiskiem IDE, konsolą i kompilatorem. Wszystko upchane w 117KB.
Programy przygotowywujemy bezpośrednio na Palmie. Źródła można wczytywać z Memo lub dokumentów DOC bądź wprowadzać bezpośrednio z konsoli. Wczytany program możemy przeedytować, uruchomić lub skompilować! Program kompiluje się do postaci pliku PRC, który bezpośrednio po tej operacji pojawia się w Luncherze pośród innych aplikacji, opatrzony własną (PLua) ikoną i własnym Creator ID. Jednakże pod taką postacią nadal nie jest samowystarczalny - potrzebuje aplikacji PLua jaku run-time'u do swojego uruchomienia. Warto pamiętać, że PLua może pracować w trybie konsoli. Dzięki temu można w wygodny sposób wypisywać wyniki na ekran.
Teraz przyjrzyjmy się dostarczonym przykładom.
Tu przedstawiam rekurencyjnie rysowane drzewko.
Oto kod:
-- Tree.lua
-- Copyright (c) 2001 Marcio M. Andrade
-- Draws a recursive tree.
-- Try different sizes, angles and shrink factors to draw different trees.
size = 50
angle = 20
shrink = 0.65 -- must be less than 1
w,h,depth,hasColor = pmode()
function tree(d)
if d >= 2 then
if hasColor == 1 then
pcolor(prgb(0,255-4*d,0))
end
pwalk(d)
local x,y = ppos()
pturn(-angle)
tree(shrink*d)
pmoveto(x,y)
pturn(2*angle)
tree(shrink*d)
pturn(-angle)
end
end
w,h = pmode()
pmoveto(w/2,h-1)
pheading(90)
tree(size)
I jego wynik po uruchomieniu:
PLua sprawia bardzo sympatyczne wrażenie prostego, ale dopracowanego programu. Jest stosunkowo drobnym programem. Język PLua będzie łatwy do nauczenia dla osób, które programować dopiero się uczą i nie wymaga od nich głębszej znajomości specyfiki systemu PalmOS. Program jest dostępny bezpłatnie - teraz również z naszego serwera.