TIP: Click on subject to list as thread! ANSI
echo: apple
to: comp.sys.apple2.programmer,comp.sys
from: John B. Matthews
date: 2008-08-27 13:25:40
subject: Re: GScript widget for Mac OS X released

In article 
,
 limtc  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
--- SBBSecho 2.12-Win32
* Origin: Derby City Gateway (1:2320/100.2008)
SEEN-BY: 10/1 3 34/999 106/1 120/228 123/500 140/1 222/2 226/0 236/150 249/303
SEEN-BY: 250/306 261/20 38 100 1404 1406 1410 1418 266/1413 280/1027 320/119
SEEN-BY: 393/11 396/45 633/260 267 712/848 800/432 801/161 189 2222/700
SEEN-BY: 2320/100 105 200 2905/0
@PATH: 2320/100 261/38 633/260 267

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.