$INCLUDE "BIOSPORT.INC" $INCLUDE "MEMORY.INC" $LINK "BIOSPORT.PBU" DIM ux AS INTEGER, uy AS INTEGER, dx AS INTEGER, dy AS INTEGER ux = 10 uy = 10 dx = 619 dy = 459 SetVideo &H12 FillBox ux, uy, dx, uy + 20, 1, 0 FillBox ux, uy + 20, dx, uy + 37, 7, 0 Box ux, uy, dx, dy, 7, 0 Box ux - 1, uy - 1, dx + 1, dy + 1, 8, 0 FillBox ux + 2, uy + 2, ux + 18, uy + 18, 2, 0 FillBox dx - 16, uy + 4, dx - 4, uy + 16, 7, 0 PutLine dx - 15, uy + 5, dx - 5, uy + 15, 0, 0 PutLine dx - 15, uy + 15, dx - 5, uy + 5, 0, 0 PutLine dx - 15, uy + 6, dx - 6, uy + 15, 0, 0 PutLine dx - 15, uy + 14, dx - 6, uy + 5, 0, 0 PutLine dx - 14, uy + 5, dx - 5, uy + 14, 0, 0 PutLine dx - 14, uy + 15, dx - 5, uy + 6, 0, 0 FillBox dx - 16 - 16, uy + 4, dx - 4 - 16, uy + 16, 7, 0 Box dx - 16 - 15, uy + 5, dx - 4 - 17, uy + 15, 0, 0 PutLine dx - 16 - 15, uy + 6, dx - 4 - 17, uy + 6, 0, 0 FillBox dx - 16 - 32, uy + 4, dx - 4 - 32, uy + 16, 7, 0 Box dx - 16 - 31, uy + 14, dx - 4 - 33, uy + 15, 0, 0 XYStr ux + 3, uy + 2, "PB", 0, 0, "COMPUTER.FNT" XYStr ux + 22, uy + 2, LEFT$("ParalelBASIC for DOS 4.00 - SVGABALL.BAS", (dx - 16 - 52 - ux) \ 8 - 1), 7, 0, "ANTIQUE.FNT" XYStr ux + 3 + 8, uy + 2 + 20, LEFT$("F E S R C O T D W H", (dx - 8 - ux) \ 8 - 1), 4, 0, "BREEZE.FNT" XYStr ux + 3 + 8, uy + 2 + 20, LEFT$(" ile dit earch un ompile ptions ools ebug indow elp", (dx - 8 - ux) \ 8 - 1), 0, 0, "BREEZE.FNT" XYStr ux + 3 + 0 * 8, uy + 40 + 0 * 16, LEFT$("REM SVGABALL.BAS Public Domain by Dreamland Software 12-24-2002", (dx - 8 - ux) \ 8 - 1), 7, 0, "STANDARD.FNT" XYStr ux + 3 + 1 * 8, uy + 40 + 2 * 16, LEFT$("$CPU 486 'smaller, faster, efficient", (dx - 8 - ux) \ 8 - 1), 7, 0, "STANDARD.FNT" XYStr ux + 3 + 1 * 8, uy + 40 + 3 * 16, LEFT$("$COMPILE COM 'smaller than .EXE", (dx - 8 - ux) \ 8 - 1), 7, 0, "STANDARD.FNT" XYStr ux + 3 + 1 * 8, uy + 40 + 4 * 16, LEFT$("'$COMPILE OBJ, DOS16 'much flexible form", (dx - 8 - ux) \ 8 - 1), 7, 0, "STANDARD.FNT" XYStr ux + 3 + 1 * 8, uy + 40 + 5 * 16, LEFT$("$PLATFORM DOS16", (dx - 8 - ux) \ 8 - 1), 7, 0, "STANDARD.FNT" XYStr ux + 3 + 1 * 8, uy + 40 + 6 * 16, LEFT$("DEFINT A-Z", (dx - 8 - ux) \ 8 - 1), 7, 0, "STANDARD.FNT" XYStr ux + 3 + 1 * 8, uy + 40 + 7 * 16, LEFT$("SCREEN &H5E '1024x768x256 SVGA", (dx - 8 - ux) \ 8 - 1), 7, 0, "STANDARD.FNT" XYStr ux + 3 + 1 * 8, uy + 40 + 8 * 16, LEFT$("VIEW", (dx - 8 - ux) \ 8 - 1), 7, 0, "STANDARD.FNT" XYStr ux + 3 + 1 * 8, uy + 40 + 9 * 16, LEFT$("WINDOW (0, 0)-(1023, 767)", (dx - 8 - ux) \ 8 - 1), 7, 0, "STANDARD.FNT" XYStr ux + 3 + 1 * 8, uy + 40 + 10 * 16, LEFT$("x = 200 'ball starting coordinates", (dx - 8 - ux) \ 8 - 1), 7, 0, "STANDARD.FNT" XYStr ux + 3 + 1 * 8, uy + 40 + 11 * 16, LEFT$("y = 200", (dx - 8 - ux) \ 8 - 1), 7, 0, "STANDARD.FNT" XYStr ux + 3 + 1 * 8, uy + 40 + 12 * 16, LEFT$("r = 50 'radius of the ball", (dx - 8 - ux) \ 8 - 1), 7, 0, "STANDARD.FNT" XYStr ux + 3 + 1 * 8, uy + 40 + 13 * 16, LEFT$("s = 10 'velocity vectors", (dx - 8 - ux) \ 8 - 1), 7, 0, "STANDARD.FNT" XYStr ux + 3 + 1 * 8, uy + 40 + 14 * 16, LEFT$("z = 10", (dx - 8 - ux) \ 8 - 1), 7, 0, "STANDARD.FNT" XYStr ux + 3 + 1 * 8, uy + 40 + 15 * 16, LEFT$("DO", (dx - 8 - ux) \ 8 - 1), 7, 0, "STANDARD.FNT" XYStr ux + 3 + 5 * 8, uy + 40 + 16 * 16, LEFT$("WAIT &H3DA, 8 'waiting for electronbeam", (dx - 8 - ux) \ 8 - 1), 7, 0, "STANDARD.FNT" XYStr ux + 3 + 5 * 8, uy + 40 + 17 * 16, LEFT$("WAIT &H3DA, 8, 8", (dx - 8 - ux) \ 8 - 1), 7, 0, "STANDARD.FNT" XYStr ux + 3 + 5 * 8, uy + 40 + 18 * 16, LEFT$("CIRCLE (x, y), r, 0 'erasing previous ball", (dx - 8 - ux) \ 8 - 1), 7, 0, "STANDARD.FNT" XYStr ux + 3 + 5 * 8, uy + 40 + 19 * 16, LEFT$("IF x < 0 + r OR x > 1023 - r THEN s = -s 'bouncing on the wall", (dx - 8 - ux) \ 8 - 1), 7, 0, "STANDARD.FNT" XYStr ux + 3 + 5 * 8, uy + 40 + 20 * 16, LEFT$("IF y < 0 + r OR y > 767 - r THEN z = -z", (dx - 8 - ux) \ 8 - 1), 7, 0, "STANDARD.FNT" XYStr ux + 3 + 5 * 8, uy + 40 + 21 * 16, LEFT$("x = x + s 'changing coordinates", (dx - 8 - ux) \ 8 - 1), 7, 0, "STANDARD.FNT" XYStr ux + 3 + 5 * 8, uy + 40 + 22 * 16, LEFT$("y = y + z", (dx - 8 - ux) \ 8 - 1), 7, 0, "STANDARD.FNT" XYStr ux + 3 + 5 * 8, uy + 40 + 23 * 16, LEFT$("CIRCLE (x, y), r 'drawing the ball", (dx - 8 - ux) \ 8 - 1), 7, 0, "STANDARD.FNT" XYStr ux + 3 + 1 * 8, uy + 40 + 24 * 16, LEFT$("LOOP UNTIL LEN(INKEY$) <> 0", (dx - 8 - ux) \ 8 - 1), 7, 0, "STANDARD.FNT" a$ = INPUT$(1) SetVideo &H03