⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 svgamod1.bas

📁 Quick Basic DOS Compilers
💻 BAS
📖 第 1 页 / 共 4 页
字号:
        IF Colr > 255 THEN
            Colr = 16
        END IF
    NEXT A
    DRWSTRING 1, 7, 0, TEXT$, X1 + SPCNG, Y1 + SPCNG
    DRWSTRINGLT 1, 7, 0, TEXT$, X1 + SPCNG, Y1 + SPCNG
    DRWSTRINGDN 1, 7, 0, TEXT$, X1 + SPCNG, Y1 + SPCNG
    DRWSTRINGRT 1, 7, 0, TEXT$, X1 + SPCNG, Y1 + SPCNG
    FOR A = 0 TO Num
        SCROLLUP X1, Y1, X2, Y2, SKIP, 0   '* HERE IT IS!
    NEXT A
    GETKEY RET$
    IF (RET$ = "S") OR (RET$ = "Q") THEN
        SETVIEW 0, 0, GETMAXX, GETMAXY
        EXIT SUB
    END IF
 
    '*************************************************************************
    '* SHOW SCROLLLT
    '*************************************************************************
    SETVIEW 0, 0, GETMAXX, GETMAXY
    A$ = "SCROLLLT (X1,Y1,X2,Y2,NumLines,FillColr)"
    DRWSTRING 1, 7, 0, A$, 10, 16
    SETVIEW X1, Y1, X2, Y2
    FILLVIEW 0
    NUMOF = GETMAXX \ 10
    FOR A = 0 TO NUMOF
        X = RND * GETMAXX
        Y = RND * GETMAXY
        I = RND * GETMAXX
        J = RND * GETMAXY
        DRWLINE 1, Colr, X, Y, I, J
        Colr = Colr + 3
        IF Colr > 255 THEN
            Colr = 16
        END IF
    NEXT A
    DRWSTRING 1, 7, 0, TEXT$, X1 + SPCNG, Y1 + SPCNG
    DRWSTRINGLT 1, 7, 0, TEXT$, X1 + SPCNG, Y1 + SPCNG
    DRWSTRINGDN 1, 7, 0, TEXT$, X1 + SPCNG, Y1 + SPCNG
    DRWSTRINGRT 1, 7, 0, TEXT$, X1 + SPCNG, Y1 + SPCNG
    FOR A = 0 TO Num
        SCROLLLT X1, Y1, X2, Y2, SKIP, 0   '* HERE IT IS!
    NEXT A
    GETKEY RET$
    IF (RET$ = "S") OR (RET$ = "Q") THEN
        SETVIEW 0, 0, GETMAXX, GETMAXY
        EXIT SUB
    END IF
 
    '*************************************************************************
    '* SHOW SCROLLDN
    '*************************************************************************
    SETVIEW 0, 0, GETMAXX, GETMAXY
    A$ = "SCROLLDN (X1,Y1,X2,Y2,NumLines,FillColr)"
    DRWSTRING 1, 7, 0, A$, 10, 16
    SETVIEW X1, Y1, X2, Y2
    FILLVIEW 0
    NUMOF = GETMAXX \ 10
    FOR A = 0 TO NUMOF
        X = RND * GETMAXX
        Y = RND * GETMAXY
        I = RND * GETMAXX
        J = RND * GETMAXY
        DRWLINE 1, Colr, X, Y, I, J
        Colr = Colr + 3
        IF Colr > 255 THEN
            Colr = 16
        END IF
    NEXT A
    DRWSTRING 1, 7, 0, TEXT$, X1 + SPCNG, Y1 + SPCNG
    DRWSTRINGLT 1, 7, 0, TEXT$, X1 + SPCNG, Y1 + SPCNG
    DRWSTRINGDN 1, 7, 0, TEXT$, X1 + SPCNG, Y1 + SPCNG
    DRWSTRINGRT 1, 7, 0, TEXT$, X1 + SPCNG, Y1 + SPCNG
    FOR A = 0 TO Num
        SCROLLDN X1, Y1, X2, Y2, SKIP, 0   '* HERE IT IS!
    NEXT A
    GETKEY RET$
    IF (RET$ = "S") OR (RET$ = "Q") THEN
        SETVIEW 0, 0, GETMAXX, GETMAXY
        EXIT SUB
    END IF
 
    '*************************************************************************
    '* SHOW SCROLLRT
    '*************************************************************************
    SETVIEW 0, 0, GETMAXX, GETMAXY
    A$ = "SCROLLRT (X1,Y1,X2,Y2,NumLines,FillColr)"
    DRWSTRING 1, 7, 0, A$, 10, 16
    SETVIEW X1, Y1, X2, Y2
    FILLVIEW 0
    NUMOF = GETMAXX \ 10
    FOR A = 0 TO NUMOF
        X = RND * GETMAXX
        Y = RND * GETMAXY
        I = RND * GETMAXX
        J = RND * GETMAXY
        DRWLINE 1, Colr, X, Y, I, J
        Colr = Colr + 3
        IF Colr > 255 THEN
            Colr = 16
        END IF
    NEXT A
    DRWSTRING 1, 7, 0, TEXT$, X1 + SPCNG, Y1 + SPCNG
    DRWSTRINGLT 1, 7, 0, TEXT$, X1 + SPCNG, Y1 + SPCNG
    DRWSTRINGDN 1, 7, 0, TEXT$, X1 + SPCNG, Y1 + SPCNG
    DRWSTRINGRT 1, 7, 0, TEXT$, X1 + SPCNG, Y1 + SPCNG
    FOR A = 0 TO Num
        SCROLLRT X1, Y1, X2, Y2, SKIP, 0   '* HERE IT IS!
    NEXT A
    GETKEY RET$
    IF (RET$ = "S") OR (RET$ = "Q") THEN
        SETVIEW 0, 0, GETMAXX, GETMAXY
        EXIT SUB
    END IF
 
    '*************************************************************************
    '* SHOW PAGING
    '*************************************************************************
    SETVIEW 0, 0, GETMAXX, GETMAXY

    '*************************************************************************
    '* CHECK TO SEE IF CARD SUPPORTS CHANGING THE DISPLAY OFFSET
    '*************************************************************************
    X1 = GETMAXX + 1
    Y1 = GETMAXY + 1
    IF PAGEDISPLAY(0, 0, 0) = 0 THEN
        FILLSCREEN 0
        SOUND 100, 5
        DRWSTRING 1, 7, 0, TITLE$, 10, 0
        A$ = "Sorry, This Video Card Does Not Support"
        DRWSTRING 1, 7, 0, A$, 10, 16
        A$ = "Changing The Display Offset In This"
        DRWSTRING 1, 7, 0, A$, 10, 32
        A$ = "Video Mode...Can Not Do The Paging Demo."
        DRWSTRING 1, 7, 0, A$, 10, 48
        A$ = "Press A Key..."
        DRWSTRING 1, 15, 0, A$, 10, 64
        WHILE INKEY$ = ""
        WEND
        FILLSCREEN 0
        EXIT SUB
    END IF
 
    '*************************************************************************
    '* CHECK TO SEE IF THERE IS ENOUGH MEMORY FOR MULTIPLE PAGES
    '*************************************************************************
    NUMBANKS = WHICHMEM / 64
    XSIZE& = GETMAXX + 1
    YSIZE& = GETMAXY + 1
    BANKSPERPAGE& = XSIZE& * YSIZE& / 65536
    NUMPAGES = INT((NUMBANKS / BANKSPERPAGE&) - 1)
 
    '* LIMIT THE TOTAL NUMBER OF PAGES TO 3 (0-2) FOR THIS DEMO
    IF NUMPAGES > 2 THEN
        NUMPAGES = 2
    END IF
 
    IF NUMPAGES = 0 THEN
        FILLSCREEN 0
        SOUND 100, 5
        DRWSTRING 1, 7, 0, TITLE$, 10, 0
        A$ = "Sorry, This Video Card Does Not Have Enough Video"
        DRWSTRING 1, 7, 0, A$, 10, 16
        A$ = "Memory To Support Multiple Video Pages In This Mode."
        DRWSTRING 1, 7, 0, A$, 10, 32
        A$ = "Press A Key..."
        DRWSTRING 1, 15, 0, A$, 10, 48
        WHILE INKEY$ = ""
        WEND
        FILLSCREEN 0
        EXIT SUB
    END IF
    NUMOF = GETMAXX \ 6
    FILLSCREEN 0
    FOR Page = 0 TO NUMPAGES
        SETVIEW 0, 0, GETMAXX, GETMAXY
        DUMMY = PAGEACTIVE(Page)
        DUMMY = PAGEDISPLAY(0, 0, Page)
        FILLPAGE 0
        DRWSTRING 1, 7, 0, TITLE$, 10, 0
        A$ = "PAGEACTIVE(Page)"
        DRWSTRING 1, 7, 0, A$, 10, 16
        A$ = "PAGEDISPLAY(StartX,StartY,Page)"
        DRWSTRING 1, 7, 0, A$, 10, 32
        DRWBOX 1, 15, 0, 48, GETMAXX, GETMAXY
        A$ = "THIS IS PAGE" + STR$(Page)
        FOR I = 0 TO 20
            DRWSTRING 1, 12 + Page, 0, A$, 10, 50 + I * 16
        NEXT I
        SETVIEW 150, 58, GETMAXX - 10, GETMAXY - 10
        FOR I = 0 TO NUMOF
            X1 = RND * GETMAXX
            Y1 = RND * GETMAXY
            X2 = RND * 100
            Y2 = RND * 100
            C = RND * 15
            SELECT CASE Page
                CASE IS = 0
                    DRWFILLCIRCLE 1, C, X1, Y1, X2
                CASE IS = 1
                    DRWLINE 1, C, X1, Y1, X1 + X2, Y1 + Y2
                    DRWELLIPSE 1, C + 1, X1, Y1, X2 / 4, Y2 / 4
                CASE IS = 2
                    DRWFILLBOX 1, C, X1, Y1, X1 + X2, Y1 + Y2
            END SELECT
        NEXT I
        DRWBOX 1, 15, 150, 58, GETMAXX - 10, GETMAXY - 10
        SDELAY 35
    NEXT Page
    DUMMY = PAGEACTIVE(0)
    DUMMY = PAGEDISPLAY(0, 0, 0)

    GETKEY RET$
    IF (RET$ = "S") OR (RET$ = "Q") THEN
        SETVIEW 0, 0, GETMAXX, GETMAXY
        EXIT SUB
    END IF
 
    FOR I = 0 TO 1
        FOR Page = 0 TO NUMPAGES
            DUMMY = PAGEDISPLAY(0, 0, Page)
            SDELAY 35
        NEXT Page
    NEXT I
    FOR I = 0 TO 20
        FOR Page = 0 TO NUMPAGES
            DUMMY = PAGEDISPLAY(0, 0, Page)
            SDELAY 1
        NEXT Page
    NEXT I
    DUMMY = PAGEDISPLAY(0, 0, 0)

    GETKEY RET$
    IF (RET$ = "S") OR (RET$ = "Q") THEN
        SETVIEW 0, 0, GETMAXX, GETMAXY
        EXIT SUB
    END IF

 
    END SUB

    SUB DOTEXT (RET$)
    DEFINT A-Z
    REM $DYNAMIC
 
    '*************************************************************************
    '* SET UP THE TITLE
    '*************************************************************************
    TITLE$ = "DEMO 6: Text functions"
    PALSET PAL, 0, 255
    

    '*************************************************************************
    '* SHOW DRWSTRING
    '*************************************************************************
    FILLSCREEN 0
    SETVIEW 0, 0, GETMAXX, GETMAXY
    A$ = "DRWSTRING(Mode,ForeGndColr,BackGndColr,Text$,X,Y)"
    DRWSTRING 1, 7, 0, TITLE$, 10, 0
    DRWSTRING 1, 7, 0, A$, 10, 16
    SETVIEW 0, 32, GETMAXX, GETMAXY
    Colr = 16
    A$ = "The Quick Brown Fox Jumped Over The Lazy Dog's Back! 0123456789"
    FOR Y = 32 TO GETMAXY STEP 20
        DRWSTRING 1, Colr, 0, A$, 0, Y
        Colr = Colr + 5
        IF Colr > 255 THEN
            Colr = 16
        END IF
    NEXT Y
    GETKEY RET$
    IF (RET$ = "S") OR (RET$ = "Q") THEN
        SETVIEW 0, 0, GETMAXX, GETMAXY
        FILLSCREEN 0
        EXIT SUB
    END IF

    '*************************************************************************
    '* SHOW DRWSTRINGLT
    '*************************************************************************
    FILLVIEW 0
    SETVIEW 0, 0, GETMAXX, GETMAXY
    A$ = "DRWSTRINGLT(Mode,ForeGndColr,BackGndColr,Text$,X,Y)"
    DRWSTRING 1, 7, 0, A$, 10, 16
    SETVIEW 0, 32, GETMAXX, GETMAXY
    A$ = "The Quick Brown Fox Jumped Over The Lazy Dog's Back! 0123456789"
    FOR X = 0 TO GETMAXX STEP 20
        DRWSTRINGLT 1, Colr, 0, A$, X, GETMAXY
        Colr = Colr + 5
        IF Colr > 255 THEN
            Colr = 16
        END IF
    NEXT X
    GETKEY RET$
    IF (RET$ = "S") OR (RET$ = "Q") THEN
        SETVIEW 0, 0, GETMAXX, GETMAXY
        FILLSCREEN 0
        EXIT SUB
    END IF

    '*************************************************************************
    '* SHOW DRWSTRINGDN
    '*************************************************************************
    FILLVIEW 0
    SETVIEW 0, 0, GETMAXX, GETMAXY
    A$ = "DRWSTRINGDN(Mode,ForeGndColr,BackGndColr,Text$,X,Y)"
    DRWSTRING 1, 7, 0, A$, 10, 16
    SETVIEW 0, 32, GETMAXX, GETMAXY
    A$ = "The Quick Brown Fox Jumped Over The Lazy Dog's Back! 0123456789"
    Colr = 16
    FOR Y = GETMAXY TO 32 STEP -20
        DRWSTRINGDN 1, Colr, 0, A$, GETMAXX, Y
        Colr = Colr + 5
        IF Colr > 255 THEN
            Colr = 16
        END IF
    NEXT Y
    GETKEY RET$
    IF (RET$ = "S") OR (RET$ = "Q") THEN
        SETVIEW 0, 0, GETMAXX, GETMAXY
        FILLSCREEN 0
        EXIT SUB
    END IF

    '*************************************************************************
    '* SHOW DRWSTRINGRT
    '*************************************************************************
    FILLVIEW 0
    SETVIEW 0, 0, GETMAXX, GETMAXY
    A$ = "DRWSTRINGRT(Mode,ForeGndColr,BackGndColr,Text$,X,Y)"
    DRWSTRING 1, 7, 0, A$, 10, 16
    SETVIEW 0, 32, GETMAXX, GETMAXY
    A$ = "The Quick Brown Fox Jumped Over The Lazy Dog's Back! 0123456789"
    FOR X = GETMAXX TO 0 STEP -20
        DRWSTRINGRT 1, Colr, 0, A$, X, 32
        Colr = Colr + 5
        IF Colr > 255 THEN
            Colr = 16
        END IF
    NEXT X
    GETKEY RET$
    IF (RET$ = "S") OR (RET$ = "Q") THEN
        SETVIEW 0, 0, GETMAXX, GETMAXY
        FILLSCREEN 0
        EXIT SUB
    END IF

    END SUB

 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -