📄 svgademo.bas
字号:
PRINT "(6) Demo #6 The Text Routines"
PRINT "(7) Demo #7 The Scrolling and Paging Routines"
PRINT "(8) Demo #8 The PCX Routines"
PRINT "(9) Demo #9 The Mouse Routines"
PRINT "(10) Demo #10 The Joystick Routines"
PRINT "(11) Demo #11 The Two Dimensional Routines"
PRINT "(12) Demo #12 The Three Dimensional Routines"
PRINT "(13) The Grand Tour Of All Demos"
SELECT CASE VIDEOMEMORY
CASE IS > 2047
PRINT "(14) Use 320x200x256 Resolution"
PRINT "(15) Use 640x400x256 Resolution"
PRINT "(16) Use 640x480x256 Resolution"
PRINT "(17) Use 800x600x256 Resolution"
PRINT "(18) Use 1024x768x256 Resolution"
PRINT "(19) Use 1280x1024x256 Resolution"
MAX = 19
CASE IS > 1023
PRINT "(14) Use 320x200x256 Resolution"
PRINT "(15) Use 640x400x256 Resolution"
PRINT "(16) Use 640x480x256 Resolution"
PRINT "(17) Use 800x600x256 Resolution"
PRINT "(18) Use 1024x768x256 Resolution"
MAX = 18
CASE IS > 511
PRINT "(14) Use 320x200x256 Resolution"
PRINT "(15) Use 640x400x256 Resolution"
PRINT "(16) Use 640x480x256 Resolution"
PRINT "(17) Use 800x600x256 Resolution"
MAX = 17
CASE ELSE
PRINT "(14) Use 320x200x256 Resolution"
PRINT "(15) Use 640x400x256 Resolution"
MAX = 15
END SELECT
A$ = ""
INPUT "Your Choice"; A$
KY = VAL(A$)
IF (A$ > "9") OR (A$ < "0") THEN
KY = -1
END IF
IF KY > MAX THEN
KY = -1
END IF
IF KY > 0 AND KY < 13 THEN
SELECT CASE RES
CASE IS = 1
OK = RES320
CASE IS = 2
OK = RES640L
CASE IS = 3
OK = RES640
CASE IS = 4
OK = RES800
CASE IS = 5
OK = RES1024
CASE IS = 6
OK = RES1280
END SELECT
IF OK <> 1 THEN
DUMMY = RESTEXT
CLS
SOUND 100, 5
PRINT "Sorry, although your video card has enough memeory, it does"
PRINT "not support this video mode. PRESS A KEY."
GETKEY RET$
KY = -1
END IF
END IF
SELECT CASE KY
CASE IS = 0
ENDIT = 1
CASE IS = 1
'DEMO #1
DOPRIMS RetVal$
DUMMY = RESTEXT
CASE IS = 2
'DEMO #2
DOCLIP RetVal$
DUMMY = RESTEXT
CASE IS = 3
'DEMO #3
DOFILL RetVal$
DUMMY = RESTEXT
CASE IS = 4
'DEMO #4
DOPAL RetVal$
DUMMY = RESTEXT
CASE IS = 5
'DEMO #5
DOBLOCK RetVal$
DUMMY = RESTEXT
CASE IS = 6
'DEMO #6
DOTEXT RetVal$
DUMMY = RESTEXT
CASE IS = 7
'DEMO #7
DOSCROLL RetVal$
DUMMY = RESTEXT
CASE IS = 8
'DEMO #8
DOPCX RetVal$
DUMMY = RESTEXT
CASE IS = 9
'DEMO #9
DOMOUSE RetVal$
DUMMY = RESTEXT
CASE IS = 10
'DEMO #10
DOJOYSTICK RetVal$
DUMMY = RESTEXT
CASE IS = 11
'DEMO #11
DO2D RetVal$
DUMMY = RESTEXT
CASE IS = 12
'DEMO #12
DO3D RetVal$
DUMMY = RESTEXT
CASE IS = 13
'DO THE GRAND TOUR OF ALL DEMOS!
CLS
PRINT "Press 'Q' To End Grand Tour At Any Time. Press 'S' To Skip To The Next"
PRINT "Demo At Any Time. Press Any Other Key to Begin The Grand Tour..."
GETKEY RET$
IF RET$ = "Q" THEN
GOTO EXITGRANDTOUR
END IF
SELECT CASE RES
CASE IS = 1
OK = RES320
CASE IS = 2
OK = RES640L
CASE IS = 3
OK = RES640
CASE IS = 4
OK = RES800
CASE IS = 5
OK = RES1024
CASE IS = 6
OK = RES1280
END SELECT
IF OK <> 1 THEN
DUMMY = RESTEXT
CLS
SOUND 100, 5
PRINT "Sorry, although your video card has enough memeory, it does"
PRINT "not support this video mode. PRESS A KEY."
GETKEY RET$
GOTO EXITGRANDTOUR
END IF
'DEMO #1
DOPRIMS RetVal$
IF RetVal$ = "Q" THEN
GOTO EXITGRANDTOUR
END IF
'DEMO #2
DOCLIP RetVal$
IF RetVal$ = "Q" THEN
GOTO EXITGRANDTOUR
END IF
'DEMO #3
DOFILL RetVal$
IF RetVal$ = "Q" THEN
GOTO EXITGRANDTOUR
END IF
'DEMO #4
DOPAL RetVal$
IF RetVal$ = "Q" THEN
GOTO EXITGRANDTOUR
END IF
'DEMO #5
DOBLOCK RetVal$
IF RetVal$ = "Q" THEN
GOTO EXITGRANDTOUR
END IF
'DEMO #6
DOTEXT RetVal$
IF RetVal$ = "Q" THEN
GOTO EXITGRANDTOUR
END IF
'DEMO #7
DOSCROLL RetVal$
IF RetVal$ = "Q" THEN
GOTO EXITGRANDTOUR
END IF
'DEMO #8
DOPCX RetVal$
IF RetVal$ = "Q" THEN
GOTO EXITGRANDTOUR
END IF
'DEMO #9
DOMOUSE RetVal$
IF RetVal$ = "Q" THEN
GOTO EXITGRANDTOUR
END IF
IF RetVal$ = "Q" THEN
GOTO EXITGRANDTOUR
END IF
'DEMO #10
DOJOYSTICK RetVal$
IF RetVal$ = "Q" THEN
GOTO EXITGRANDTOUR
END IF
'DEMO #11
DO2D RetVal$
IF RetVal$ = "Q" THEN
GOTO EXITGRANDTOUR
END IF
'DEMO #12
DO3D RetVal$
EXITGRANDTOUR:
RetVal$ = ""
DUMMY = RESTEXT
CASE IS = 14
RES = 1
CASE IS = 15
RES = 2
CASE IS = 16
RES = 3
CASE IS = 17
RES = 4
CASE IS = 18
RES = 5
CASE IS = 19
RES = 6
CASE ELSE
SOUND 100, 5
END SELECT
IF RetVal$ = "Q" THEN
ENDIT = 1
END IF
WEND
'*************************************************************************
'* THAT'S ALL FOLKS! END THE PROGRAM
'*************************************************************************
DUMMY = RESTEXT '* FORCE THE VGA PALETTE TO RESET
VIDEOMODESET STARTVIDEOMODE '*RESTORE THE VIDEOMODE WE STARTED IN
DUMMY = RESTEXT '* FORCE THE VGA PALETTE TO RESET
CLEAR
END
'*************************************************************************
'* DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA
'*************************************************************************
REM *MAGNIFIER MOUSE CURSOR DATA
DATA 7,6
DATA 255,255,255,255,255,7 ,7 ,7 ,7 ,255,255,255,255,255,255,255
DATA 255,255,255, 7, 7,255,255,255,255,7 ,7, 255,255,255,255,255
DATA 255,255,7 ,255,255,255,255,255,255,255,255,7 ,255,255,255,255
DATA 255,7 ,255,255,255,255,255,255,255,255,255,255,7 ,255,255,255
DATA 255,7 ,255,255,255,255,255,255,255,255,255,255,7 ,255,255,255
DATA 7 ,255,255,255,255,255,255,255,255,255,255,255,255,7 ,255,255
DATA 7 ,255,255,255,255,255,255,255,255,255,255,255,255,7 ,255,255
DATA 7 ,255,255,255,255,255,255,255,255,255,255,255,255,7 ,255,255
DATA 7 ,255,255,255,255,255,255,255,255,255,255,255,255,7 ,255,255
DATA 255,7 ,255,255,255,255,255,255,255,255,255,255,7 ,255,255,255
DATA 255,7 ,255,255,255,255,255,255,255,255,255,255,7 ,255,255,255
DATA 255,7 ,7 ,255,255,255,255,255,255,255,255,7 ,7 ,255,255,255
DATA 255,255,7 ,7 ,7 ,255,255,255,255,7 ,7 ,7 ,255,255,255,255
DATA 255,255,255,7 ,7 ,7 ,7 ,7 ,7 ,8 ,8 ,255,255,255,255,255
DATA 255,255,255,255,255,7 ,7 ,7 ,7 ,7 ,8 ,8 ,255,255,255,255
DATA 255,255,255,255,255,255,255,255,255,7 ,8 ,8 ,255,255,255,255
DATA 255,255,255,255,255,255,255,255,255,255,7 ,8 ,8 ,255,255,255
DATA 255,255,255,255,255,255,255,255,255,255,7 ,8 ,8 ,255,255,255
DATA 255,255,255,255,255,255,255,255,255,255,255,7 ,8 ,8 ,255,255
DATA 255,255,255,255,255,255,255,255,255,255,255,7 ,8 ,8 ,255,255
DATA 255,255,255,255,255,255,255,255,255,255,255,255,7 ,8 ,8 ,255
DATA 255,255,255,255,255,255,255,255,255,255,255,255,7 ,8 ,8 ,255
DATA 255,255,255,255,255,255,255,255,255,255,255,255,255,7 ,8 ,8
DATA 255,255,255,255,255,255,255,255,255,255,255,255,255,7 ,7 ,7
REM *BIG ARROW MOUSE CURSOR DATA
DATA 1,1
DATA 0 ,0 ,0 ,255,255,255,255,255,255,255,255,255,255,255,255,255
DATA 0 ,15 ,15 ,0 ,0 ,255,255,255,255,255,255,255,255,255,255,255
DATA 0 ,15 ,15 ,15 ,15 ,0 ,0 ,0 ,255,255,255,255,255,255,255,255
DATA 0 ,15 ,15 ,15 ,15 ,15 ,15 ,15 ,0 ,0 ,255,255,255,255,255,255
DATA 0 ,15 ,15 ,15 ,15 ,15 ,15 ,15 ,15 ,15 ,0 ,0 ,0 ,255,255,255
DATA 0 ,15 ,15 ,15 ,15 ,15 ,15 ,15 ,15 ,15 ,15 ,15 ,15 ,0 ,0 ,255
DATA 0 ,15 ,15 ,15 ,15 ,15 ,15 ,15 ,15 ,15 ,15 ,15 ,15 ,15 ,0 ,255
DATA 0 ,15 ,15 ,15 ,15 ,15 ,15 ,15 ,15 ,15 ,15 ,15 ,0 ,0 ,255,255
DATA 0 ,15 ,15 ,15 ,15 ,15 ,15 ,15 ,15 ,15 ,15 ,0 ,255,255,255,255
DATA 0 ,15 ,15 ,15 ,15 ,15 ,15 ,15 ,15 ,0 ,0 ,255,255,255,255,255
DATA 0 ,15 ,15 ,15 ,15 ,15 ,15 ,15 ,15 ,0 ,255,255,255,255,255,255
DATA 0 ,15 ,15 ,15 ,15 ,15 ,0 ,15 ,15 ,15 ,0 ,255,255,255,255,255
DATA 0 ,15 ,15 ,15 ,15 ,0 ,0 ,15 ,15 ,15 ,0 ,255,255,255,255,255
DATA 0 ,15 ,15 ,0 ,0 ,255,255,0 ,15 ,15 ,15 ,0 ,255,255,255,255
DATA 0 ,15 ,0 ,255,255,255,255,0 ,15 ,15 ,15 ,0 ,255,255,255,255
DATA 0 ,0 ,255,255,255,255,255,255,0 ,15 ,15 ,15 ,0 ,255,255,255
DATA 255,255,255,255,255,255,255,255,255,0 ,15 ,15 ,15 ,0 ,255,255
DATA 255,255,255,255,255,255,255,255,255,0 ,15 ,15 ,15 ,0 ,255,255
DATA 255,255,255,255,255,255,255,255,255,255,0 ,15 ,15 ,15 ,0 ,255
DATA 255,255,255,255,255,255,255,255,255,255,255,0 ,15 ,15 ,15 ,0
DATA 255,255,255,255,255,255,255,255,255,255,255,0, 15 ,15 ,15 ,0
DATA 255,255,255,255,255,255,255,255,255,255,255,255,0 ,15 ,15 ,0
DATA 255,255,255,255,255,255,255,255,255,255,255,255,255,0 ,0 ,0
DATA 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
REM *STOPWATCH MOUSE CURSOR DATA
DATA 8,11
DATA 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
DATA 255,255,255,255,255,255,15 ,15 ,15 ,15 ,255,255,255,255,255,255
DATA 255,255,255,255,255,255,15 ,15 ,15 ,15 ,255,255,255,255,255,255
DATA 255,255,255,255,255,255,255,15 ,15 ,255,255,255,255,255,255,255
DATA 255,255,255,255,255,255,15 ,15 ,15 ,15 ,255,255,255,255,255,255
DATA 255,255,255,255,15 ,15 ,15 ,7 ,7 ,15 ,15 ,15 ,255,255,255,255
DATA 255,255,255,15 ,15 ,7 ,7 ,7 ,7 ,7 ,7 ,15 ,15 ,255,255,255
DATA 255,255,15 ,15 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,15 ,15 ,255,255
DATA 255,15 ,15 ,7 ,0 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,15 ,15 ,255
DATA 255,15 ,7 ,7 ,7 ,0 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,15 ,255
DATA 15 ,15 ,7 ,7 ,7 ,7 ,0 ,7 ,7 ,7 ,0 ,0 ,7 ,7 ,15 ,15
DATA 15 ,7 ,7 ,7 ,7 ,7 ,7 ,0 ,0 ,0 ,7 ,7 ,7 ,7 ,7 ,15
DATA 15,7 ,7 ,7 ,7 ,7 ,7 ,0 ,0 ,7 ,7 ,7 ,7 ,7 ,7 ,15
DATA 15,15 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,15 ,15
DATA 255,15 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,15 ,255
DATA 255,15 ,15 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,15 ,15 ,255
DATA 255,255,15 ,15 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,15 ,15 ,255,255
DATA 255,255,255,15 ,15 ,7 ,7 ,7 ,7 ,7 ,7 ,15 ,15 ,255,255,255
DATA 255,255,255,255,15 ,15 ,15 ,7 ,7 ,15 ,15 ,15 ,255,255,255,255
DATA 255,255,255,255,255,255,15 ,15 ,15 ,15 ,255,255,255,255,255,255
DATA 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
DATA 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
DATA 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
DATA 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
SUB GETKEY (KEY$)
REM $DYNAMIC
DEFINT A-Z
'*************************************************************************
'* THIS ROUTINE WAITS FOR A KEY STROKE
'*************************************************************************
FOR A = 0 TO 7 '* CLEAR THE KBD BUFFER
A$ = INKEY$
NEXT A
SOUND 700, .75
A$ = ""
WHILE A$ = ""
A$ = INKEY$
IF A$ = "q" THEN
A$ = "Q"
END IF
IF A$ = "s" THEN
A$ = "S"
END IF
WEND
KEY$ = A$
END SUB
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -