home *** CD-ROM | disk | FTP | other *** search
- ' +----------------------------------------------------------------------+
- ' | |
- ' | PBWIZ Copyright (c) 1991-1992 Thomas G. Hanlin III |
- ' | |
- ' | PowerBASIC Wizard's Library |
- ' | |
- ' +----------------------------------------------------------------------+
-
- $INCLUDE "pbwiz.inc"
-
- $LINK "equipmen.obj"
- $LINK "g13a.obj"
- $LINK "g13b.pbu"
- $LINK "gn0a.obj"
- $LINK "gn0b.pbu"
-
- DEFINT A-Z
-
- RANDOMIZE TIMER
-
- CALL GetDisplay (Adapter, Mono)
-
- IF Adapter <> 6 THEN
- PRINT "Sorry. VGADEMO requires a VGA to run."
- END
- END IF
-
- CALL G13Mode (1) ' ...put into low-res VGA mode
- CALL G13Color (4, 2)
- CALL G13WriteLn ("PBWiz gives you access to 256-color VGA")
- CALL G13Color (0, 3)
- CALL G13WriteLn ("modes from 320x200 to 360x480 on any ")
- CALL G13Color (7, 1)
- CALL G13WriteLn ("standard VGA. This is 320x200. The ")
- CALL G13Color (5, 8)
- CALL G13WriteLn ("360x480 mode is shown on the next page.")
- CALL G13WriteLn ("")
- CALL G13Color (4, 14)
- CALL G13WriteLn ("Full text & graphics support included. ")
- FOR Y = 0 TO 31
- CALL G13Color (Y + 16, 0)
- CALL G13Box (Y, Y + 64, 319 - Y, (64 - Y) + 120, (Y = 100))
- IF Y > 15 THEN
- CALL G13Polygon (Y * 15 - 194, 112, 5, INT(RND * 6 + 1) + 2, .75 * 3.141593)
- CALL G13Color (64 - Y, 0)
- CALL G13Polygon (Y * 15 - 194, 136, 5, INT(RND * 6 + 1) + 2, 0)
- END IF
- NEXT
- CALL G13Locate (25, 14)
- CALL G13Color (15, 4)
- CALL G13Write ("Press any key")
-
- DO
- LOOP WHILE LEN(INKEY$)
- DO
- ky$ = INKEY$
- LOOP UNTIL LEN(ky$)
- IF ky$ = CHR$(27) THEN GOTO Done
-
- CALL GN0Mode (1)
-
- CALL GN0Color (C, 0)
- CALL GN0Cls
- CALL GN0Locate (60, 1)
- CALL GN0Color (30, 4)
- CALL GN0Write ("360x480 graphics mode. Press any key to exit")
-
- MaxX = 359
- MaxY = 479 - 9
- MaxColor = 255
-
- X = INT(RND * MaxX \ 2)
- Y = INT(RND * MaxY \ 2)
- C = INT(RND * (MaxColor - 1) + 1)
-
- DO
- CALL GN0Plot (X, Y)
- CALL GN0Plot (MaxX - X, Y)
- CALL GN0Plot (MaxX - X, MaxY - Y)
- CALL GN0Plot (X, MaxY - Y)
- SELECT CASE INT(RND * 3)
- CASE 0: X = X - 1: IF X < 0 THEN X = MaxX \ 2
- CASE 1: X = X + 1: IF X > MaxX \ 2 THEN X = 0
- CASE ELSE
- END SELECT
- SELECT CASE INT(RND * 3)
- CASE 0: Y = Y - 1: IF Y < 0 THEN Y = MaxY \ 2
- CASE 1: Y = Y + 1: IF Y > MaxY \ 2 THEN Y = 0
- CASE ELSE
- END SELECT
- IF INT(RND * 20) = 1 THEN
- C = INT(RND * (MaxColor - 1) + 1)
- CALL GN0Color (C, 0)
- END IF
- LOOP UNTIL LEN(INKEY$)
-
- Done:
- CALL GN0Mode (0) ' restore text mode
-