[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GScript widget for Mac OS X released
In article
<160a9ae0-a525-40c7-9446-21f478078d10@i20g2000prf.googlegroups.com>,
limtc <thyechean@gmail.com> wrote:
> I have put GScript BASIC 1.1 for download here:
>
> http://virtualgs.larwe.com/gsbasic.zip
>
> As long as you have Safari or Firefox 3 browser, you should be able to
> run GScript BASIC standalone on the PC or Mac. To write a script, just
> write in any text file and drop into the script folder and run GScript
> BASIC. You can also package your script as a standalone web
> application.
>
> Please read the Readme.html for instructions.
Excellent! Here's implementations for the lores functions plot(),
hlin(), & vlin(), as well as a small demo:
// Lores test by John B. Matthews
blockWidth = 16; // screenWidth / 40
blockHeight = 10; // screenHeight / 40
hgr();
print("Lores test");
draw1();
animate(draw2);
function draw1() {
for (p = 0; p < 39; p++) {
hcolor = rnd(15) + 1;
plot(0, p);
plot(p, 0);
plot(39, p);
plot(p, 39);
plot(p, p);
plot(39 - p, p);
}
}
function draw2() {
x1 = rnd(40);
y1 = rnd(40);
x2 = rnd(40);
y2 = rnd(40);
hcolor = rnd(15) + 1;
hlin(x1, x2, y1); hlin(x1, x2, y2);
vlin(y1, y2, x1); vlin(y1, y2, x2);
}
function plot(x, y) {
rect(x * blockWidth, y * blockHeight,
blockWidth, blockHeight)
}
function hlin(x1, x2, y) {
if (x1 <= x2) rect(x1 * blockWidth, y * blockHeight,
(x2 - x1 + 1) * blockWidth, blockHeight);
else rect(x2 * blockWidth, y * blockHeight,
(x1 - x2 + 1) * blockWidth, blockHeight);
}
function vlin(y1, y2, x) {
if (y1 <= y2) rect(x * blockWidth, y1 * blockHeight,
blockWidth, (y2 - y1 + 1) * blockHeight);
else rect(x * blockWidth, y2 * blockHeight,
blockWidth, (y1 - y2 + 1) * blockHeight);
}
--
John B. Matthews
trashgod at gmail dot com
home dot woh dot rr dot com slash jbmatthews