'===========================================================================
' Subject: PERCENTAGE DEMO                    Date: 03-19-97 (19:16)       
'  Author: Mark Glenn                         Code: QB, QBasic, PDS        
'  Origin: fglenns@ix.netcom.com            Packet: EGAVGA.ABC
'===========================================================================
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''                             PERCENTAGE DEMO                              ''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''                   For More information, Press (F5)                       ''
''               If you want, go to my page for more stuff                  ''
''               http://www.geocities.com/TimesSquare/4940/                 ''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

DECLARE SUB BoxDraw (x1, y1, x2, y2, UpDown)
DECLARE SUB Percent (x1, y1, x2, y2, Percentage, Colors)

Bkgn = 3
SCREEN 12

WIDTH 80, 60

PAINT (1, 1), Bkgn, 8
BoxDraw 10, 100, 629, 400, 1
BoxDraw 15, 105, 624, 395, 2

LINE (16, 106)-(622, 394), 0, BF
LOCATE 16, 4: PRINT "Welcome to a simple Percentage program.  It is pretty easy to use and does"
LOCATE 18, 4: PRINT " multitasking and multicolor.  I added the Box drawing sub also for easy"
LOCATE 20, 4: PRINT " usage on any of your programs.  Also come to my homepage for more stuff."
LOCATE 23, 17: COLOR 12: PRINT "http://www.geocities.com/TimesSquare/4940/": COLOR 15
LOCATE 25, 4: PRINT "Usage:"
LOCATE 27, 4: PRINT " BoxDraw x1, y1, x2, y2, UpDown            (UpDown=1 [up] UpDown=2 [down])"
LOCATE 29, 4: PRINT " Percent x1, y1, x2, y2, Percentage, Colors"
LOCATE 38, 30: PRINT "Look out Microsoft!"
LOCATE 40, 30: PRINT "Press (ESC) to quit"

begin:
x1 = 5
y1 = 5
x2 = 280
y2 = 40

v1 = 5 + 300
w1 = 5
v2 = 280 + 300
w2 = 40


BoxDraw x1, y1, x2, y2, 1
BoxDraw v1, w1, v2, w2, 1
x1 = x1 + 5
x2 = x2 - 5
y1 = y1 + 5
y2 = y2 - 5
v1 = v1 + 5
v2 = v2 - 5
w1 = w1 + 5
w2 = w2 - 5
BoxDraw x1, y1, x2, y2, 2
BoxDraw v1, w1, v2, w2, 2

RANDOMIZE TIMER
DO
   aa = INT(RND(1) * 15) + 1
   bb = INT(RND(1) * 15) + 1

LOOP WHILE aa = 7 OR bb = 7 OR aa = 15 OR bb = 15 OR aa = bb OR aa = 3 OR bb = 3

FOR a = 1 TO 150
   IF a <= 100 THEN Percent x1, y1, x2, y2, a, aa
   Percent v1, w1, v2, w2, a / 1.5, bb
   FOR b = 1 TO 250: IF INKEY$ = CHR$(27) THEN END
   NEXT
   IF a <= 100 THEN LOCATE 7, 11: PRINT a; "%  "
   LOCATE 7, 54: PRINT INT(a / 2); "%  "
NEXT
GOTO begin

SUB BoxDraw (x1, y1, x2, y2, UpDown)
   SELECT CASE UpDown
      CASE 1
         LINE (x1, y1)-(x2, y2), 7, BF
         LINE (x1, y1)-(x2 - 1, y1), 15
         LINE (x1, y1)-(x1, y2 + 1), 15
         LINE (x1, y2 + 1)-(x2 + 1, y2 + 1), 8
         LINE (x2 + 1, y2 + 1)-(x2 + 1, y1), 8
      CASE 2
         LINE (x1, y1)-(x2, y2), 7, BF
         LINE (x1, y1)-(x2 - 1, y1), 8
         LINE (x1, y1)-(x1, y2 + 1), 8
         LINE (x1, y2 + 1)-(x2 + 1, y2 + 1), 15
         LINE (x2 + 1, y2 + 1)-(x2 + 1, y1), 15
   END SELECT
END SUB

SUB Percent (x1, y1, x2, y2, Percentage, Colors)
   Size = x2 - x1
   ThePerc = Size / 100
   LINE (x1 + 1, y1 + 1)-(x1 + ThePerc * Percentage, y2), Colors, BF
END SUB
