打印本文 打印本文 关闭窗口 关闭窗口
Q B a s i c N i b b l e s
作者:武汉SEO闵涛  文章来源:敏韬网  点击数5618  更新时间:2009/4/23 16:40:00  文章录入:mintao  责任编辑:mintao
my(2).score, sammy(1).lives, sammy(2).lives
    
    ''''Play next round, until either of snake''''s lives have run out.
    LOOP UNTIL sammy(1).lives = 0 OR sammy(2).lives = 0

END SUB

''''PointIsThere:
''''  Checks the global  arena array to see if the boolean flag is set
FUNCTION PointIsThere (row, col, acolor)
    IF row <> 0 THEN
        IF arena(row, col).acolor <> acolor THEN
            PointIsThere = TRUE
        ELSE
            PointIsThere = FALSE
        END IF
    END IF
END FUNCTION

''''PrintScore:
''''  Prints players scores and number of lives remaining
SUB PrintScore (NumPlayers, score1, score2, lives1, lives2)
    COLOR 15, colorTable(4)

    IF NumPlayers = 2 THEN
        LOCATE 1, 1
        PRINT USING "#,###,#00  Lives: #  <--JAKE"; score2; lives2
    END IF

    LOCATE 1, 49
    PRINT USING "SAMMY-->  Lives: #     #,###,#00"; lives1; score1
END SUB

''''Set:
''''  Sets row and column on playing field to given color to facilitate moving
''''  of snakes around the field.
SUB Set (row, col, acolor)
    IF row <> 0 THEN
        arena(row, col).acolor = acolor             ''''assign color to arena
        realRow = arena(row, col).realRow           ''''Get real row of pixel
        topFlag = arena(row, col).sister + 1 / 2    ''''Deduce whether pixel
                                                    ''''is on top? or bottom?
        sisterRow = row + arena(row, col).sister    ''''Get arena row of sister
        sisterColor = arena(sisterRow, col).acolor  ''''Determine sister''''s color

        LOCATE realRow, col

        IF acolor = sisterColor THEN                ''''If both points are same
            COLOR acolor, acolor                           ''''Print chr$(219) "?
            PRINT CHR$(219);
        ELSE
            IF topFlag THEN                         ''''Since you cannot have
                IF acolor > 7 THEN                  ''''bright backgrounds
                    COLOR acolor, sisterColor       ''''determine best combo
                    PRINT CHR$(223);                ''''to use.
                ELSE
                    COLOR sisterColor, acolor
                    PRINT CHR$(220);
                END IF
            ELSE
                IF acolor > 7 THEN
                    COLOR acolor, sisterColor
                    PRINT CHR$(220);
                ELSE
                    COLOR sisterColor, acolor
                    PRINT CHR$(223);
                END IF
            END IF
        END IF
    END IF
END SUB

''''SpacePause:
''''  Pauses game play and waits for space bar to be pressed before continuing
SUB SpacePause (text$)

    COLOR colorTable(5), colorTable(6)
    Center 11, "圻哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌?
    Center 12, "?" + LEFT$(text$ + SPACE$(29), 29) + " ?
    Center 13, "圮苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘?
    WHILE INKEY$ <> "": WEND
    WHILE INKEY$ <> " ": WEND
    COLOR 15, colorTable(4)

    FOR i = 21 TO 26            '''' Restore the screen background
        FOR j = 24 TO 56
            Set i, j, arena(i, j).acolor
        NEXT j
    NEXT i

END SUB

''''SparklePause:
''''  Creates flashing border for intro screen
SUB SparklePause

    COLOR 4, 0
    a$ = "*    *    *    *    *    *    *    *    *    *    *    *    *    *    *    *    *    "
    WHILE INKEY$ <> "": WEND ''''Clear keyboard buffer

    WHILE INKEY$ = ""
        FOR a = 1 TO 5
            LOCATE 1, 1                             ''''print horizontal sparkles
            PRINT MID$(a$, a, 80);
            LOCATE 22, 1
            PRINT MID$(a$, 6 - a, 80);

            FOR b = 2 TO 21                         ''''Print Vertical sparkles
                c = (a + b) MOD 5
                IF c = 1 THEN
                    LOCATE b, 80
                    PRINT "*";
                    LOCATE 23 - b, 1
                    PRINT "*";
                ELSE
                    LOCATE b, 80
                    PRINT " ";
                    LOCATE 23 - b, 1
                    PRINT " ";
                END IF
            NEXT b
    &n

上一页  [1] [2] [3] [4] [5] [6]  下一页

打印本文 打印本文 关闭窗口 关闭窗口