QB64 Phoenix Edition
Monopoly Game Board - Based on the Parker Brothers Classic Game. - Printable Version

+- QB64 Phoenix Edition (https://qb64phoenix.com/forum)
+-- Forum: QB64 Rising (https://qb64phoenix.com/forum/forumdisplay.php?fid=1)
+--- Forum: Code and Stuff (https://qb64phoenix.com/forum/forumdisplay.php?fid=3)
+---- Forum: Games (https://qb64phoenix.com/forum/forumdisplay.php?fid=57)
+---- Thread: Monopoly Game Board - Based on the Parker Brothers Classic Game. (/showthread.php?tid=2315)



Monopoly Game Board - Based on the Parker Brothers Classic Game. - Pete - 04-26-2022

Monopoly.bas by Bob Seguin

[Image: Screenshot-634.png]
[Image: Screenshot-635.png]
Description: Monopoly Game Board and display area for two players.


Code: (Select All)
_TITLE "Monopoly Board by Bob Seguin"

TYPE CharTYPE
    Char AS INTEGER
    Colr AS STRING * 2
END TYPE
DIM SHARED Board(1 TO 3000) AS CharTYPE
DIM SHARED BackCOLOR%
DIM SHARED Doubles%
BackCOLOR% = 7

CONST FALSE = 0: CONST TRUE = NOT FALSE

WIDTH 80, 50
CLS

SetBOARD
Opening
PlayAREA
LOCATE 5, 54: COLOR 4, 7: PRINT CHR$(21)
InJAIL = FALSE

RANDOMIZE TIMER

DO
    k$ = UCASE$(INKEY$)
    SELECT CASE k$
        CASE "D"
            LOCATE 5, 54: COLOR 4, 7: PRINT CHR$(21)
            LOCATE 45, 6: COLOR 8, 7: PRINT CHR$(186)
            InJAIL = FALSE
            LOCATE 22, 66: COLOR 1
            PRINT STRING$(8, 219)
            Doubles% = FALSE
            DiceTOTAL% = RollDICE%(14, 14)
            COLOR 15, 1: LOCATE 28, 64
            PRINT "You rolled"; DiceTOTAL%
            IF Doubles% = TRUE THEN COLOR 13, 1: LOCATE 22, 66: PRINT "DOUBLES!"
        CASE "J"
            'GO TO JAIL routine (set game piece value to suit sentenced player)
            IF InJAIL = FALSE THEN
                GamePIECE$ = CHR$(21) 'for example
                GotoJAIL GamePIECE$
                InJAIL = TRUE
            END IF
        CASE CHR$(27)
            SYSTEM
    END SELECT
LOOP

TitleDATA:
DATA "ÛÛÿÛÛ ÛÛÛ ÛÿÿÛ ÛÛÛ ÛÛÛ ÛÛÛ ÛÿÿÛ Û"
DATA "Û Û Û Û Û ÛÛ Û Û Û Û Û Û ÛÿÛ ÿÛ Û"
DATA "Û Û Û Û Û ÛÛ Û Û Û Û Û Û Û ÛÿÿÛ Û"
DATA "Û Û Û Û Û Û ÛÛ Û Û ÛÛÛ Û Û ÛÿÿÿÛ"
DATA "Û Û Û Û Û ÛÿÛÛ Û Û ÛÿÿÿÛ Û ÛÿÿÿÛ"
DATA "Û Û Û ÛÛÛ Û ÿÛ ÛÛÛ ÛÿÿÿÛÛÛ ÛÛÛ Û"

SUB GotoJAIL (GamePIECE$)
    Row = 5: Col = 54 'go to jail square

    LOCATE 5, 54: COLOR 7, 7: PRINT CHR$(219)

    DO
        IF OldCHAR <> 0 THEN
            Fore% = VAL("&H" + MID$(OldCOLR$, 2, 1))
            Back% = VAL("&H" + MID$(OldCOLR$, 1, 1))
            COLOR Fore%, Back%
            LOCATE OldROW, OldCOL: PRINT CHR$(OldCHAR)
        END IF
        IF Col MOD 6 THEN Row = Row + 1
        Col = Col - 1

        OldCHAR = SCREEN(Row, Col)
        OldCOLR$ = HEX$(SCREEN(Row, Col, 1))
        OldROW = Row: OldCOL = Col

        LOCATE Row, Col: COLOR 4, 7: PRINT GamePIECE$
        WAIT &H3DA, 8
        WAIT &H3DA, 8, 8
    LOOP UNTIL Col = 6 'player in jail

END SUB

SUB Opening

    COLOR 1, 7
    LOCATE 19, 32: PRINT "W E L C O M Eÿÿ T O"
    LOCATE 30, 30: PRINT "PRESS ANY KEY TO BEGIN..."

    a$ = "ÿ*ÿÿ*ÿÿ*ÿÿ*ÿÿ*ÿÿ*ÿÿ*ÿÿ*ÿÿ*ÿÿ*ÿÿ*ÿÿ*ÿÿ*ÿÿ*ÿÿ*ÿÿ*ÿÿ*ÿÿ*ÿÿ*ÿÿ*ÿÿ*ÿÿ*ÿÿ*ÿÿ*ÿÿ*ÿÿ*ÿ"
    COLOR 14, 1
    DO
        k$ = INKEY$
        IF LEN(k$) THEN EXIT DO
        FOR a = 1 TO 3
            LOCATE 1, a
            PRINT a$;
            LOCATE 50, 4 - a
            PRINT a$;
            FOR y = 50 - a TO 4 - a STEP -3
                LOCATE y, 1: PRINT "*";
                LOCATE y + 1, 1: PRINT " ";
                LOCATE 50 - y, 80: PRINT " ";
                LOCATE 51 - y, 80: PRINT "*";
            NEXT y
            FOR Reps = 1 TO 5
                WAIT &H3DA, 8
                WAIT &H3DA, 8, 8
            NEXT Reps
        NEXT a
        LOCATE 2, 1: PRINT " ": LOCATE 49, 80: PRINT " ";
        LOCATE 1, 79: PRINT " ": LOCATE 50, 2: PRINT " ";
    LOOP

END SUB

SUB PlayAREA

    COLOR , 1
    CLS
    FOR Row = 2 TO 48
        FOR Col = 2 TO 59
            Count = Count + 1
            LOCATE Row, Col
            Colr$ = Board(Count).Colr
            Fore% = VAL("&H" + MID$(Colr$, 2, 1))
            Back% = VAL("&H" + MID$(Colr$, 1, 1))
            COLOR Fore%, Back%
            PRINT CHR$(Board(Count).Char);
        NEXT Col
    NEXT Row

    COLOR 7, 1
    FOR Row = 2 TO 48
        LOCATE Row, 1: PRINT CHR$(179);
        LOCATE Row, 80: PRINT CHR$(179);
    NEXT Row
    LOCATE 1, 2: PRINT STRING$(78, 196);
    LOCATE 49, 2: PRINT STRING$(78, 196);

    LOCATE 1, 1: PRINT CHR$(218);
    LOCATE 1, 80: PRINT CHR$(191);
    LOCATE 49, 1: PRINT CHR$(192);
    LOCATE 49, 80: PRINT CHR$(217);

    COLOR 5
    FOR Row = 3 TO 19
        LOCATE Row, 60: PRINT CHR$(186)
        LOCATE Row, 79: PRINT CHR$(186)
    NEXT Row
    LOCATE 2, 61: PRINT STRING$(18, 205)
    LOCATE 20, 61: PRINT STRING$(18, 205)

    LOCATE 2, 60: PRINT CHR$(201)
    LOCATE 2, 79: PRINT CHR$(187)
    LOCATE 20, 60: PRINT CHR$(200)
    LOCATE 20, 79: PRINT CHR$(188)

    LOCATE 17, 61: PRINT CHR$(179);
    LOCATE 17, 78: PRINT CHR$(179);
    LOCATE 16, 62: PRINT STRING$(16, 196);
    LOCATE 18, 62: PRINT STRING$(16, 196);
    LOCATE 16, 61: PRINT CHR$(218);
    LOCATE 16, 78: PRINT CHR$(191);
    LOCATE 18, 61: PRINT CHR$(192);
    LOCATE 18, 78: PRINT CHR$(217);

    COLOR 7
    FOR Row = 22 TO 28
        LOCATE Row, 60: PRINT CHR$(179)
        LOCATE Row, 79: PRINT CHR$(179)
    NEXT Row
    LOCATE 21, 61: PRINT STRING$(18, 196)
    LOCATE 29, 61: PRINT STRING$(18, 196)

    LOCATE 21, 60: PRINT CHR$(218)
    LOCATE 21, 79: PRINT CHR$(191)
    LOCATE 29, 60: PRINT CHR$(192)
    LOCATE 29, 79: PRINT CHR$(217)

    COLOR 5
    FOR Row = 31 TO 47
        LOCATE Row, 60: PRINT CHR$(186)
        LOCATE Row, 79: PRINT CHR$(186)
    NEXT Row
    LOCATE 30, 61: PRINT STRING$(18, 205)
    LOCATE 48, 61: PRINT STRING$(18, 205)

    LOCATE 30, 60: PRINT CHR$(201)
    LOCATE 30, 79: PRINT CHR$(187)
    LOCATE 48, 60: PRINT CHR$(200)
    LOCATE 48, 79: PRINT CHR$(188)

    LOCATE 33, 61: PRINT CHR$(179);
    LOCATE 33, 78: PRINT CHR$(179);
    LOCATE 32, 62: PRINT STRING$(16, 196);
    LOCATE 34, 62: PRINT STRING$(16, 196);
    LOCATE 32, 61: PRINT CHR$(218);
    LOCATE 32, 78: PRINT CHR$(191);
    LOCATE 34, 61: PRINT CHR$(192);
    LOCATE 34, 78: PRINT CHR$(217);

    COLOR 15, 1
    LOCATE 19, 65: PRINT "-PLAYER 1-"
    LOCATE 31, 65: PRINT "-PLAYER 2-"
    COLOR 10, 1
    LOCATE 17, 65: PRINT "$1,500.00"
    LOCATE 33, 65: PRINT "$1,500.00"

    COLOR 13, 7
    LOCATE 10, 38: PRINT "PRESS [D]"
    LOCATE 11, 38: PRINT "TO ROLL DICE"
    LOCATE 12, 38: PRINT "(RESETS JAIL)"
    LOCATE 14, 38: PRINT "PRESS [J]"
    LOCATE 15, 38: PRINT "TO GO TO JAIL"
    LOCATE 17, 38: PRINT "PRESS [ESC]"
    LOCATE 18, 38: PRINT "TO EXIT"




END SUB

FUNCTION RollDICE% (RRow%, CCol%)

    FOR ROLL = 1 TO 24
        Row = RRow% + FIX(RND * 2) - 1
        Col = CCol% + FIX(RND * 2) - 1
        Number1 = FIX(RND * 6) + 1
        Number = Number1
        GOSUB ShowDIE
        GOSUB Sides
        Row = RRow% + FIX(RND * 2) - 1
        Col = CCol% + 7 + FIX(RND * 2) - 1
        Number2 = FIX(RND * 6) + 1
        Number = Number2
        GOSUB ShowDIE
        GOSUB Sides
        PLAY "MBT160L64O6b"
        FOR Slow = 1 TO 6
            WAIT &H3DA, 8
            WAIT &H3DA, 8, 8
        NEXT Slow
    NEXT ROLL
    RollDICE% = Number1 + Number2
    IF Number1 = Number2 THEN Doubles% = TRUE

    EXIT FUNCTION

    ShowDIE:
    COLOR BackCOLOR%
    FOR x = Col - 2 TO Col + 4
        FOR y = Row - 1 TO Row + 4
            LOCATE y, x
            PRINT CHR$(219)
        NEXT y
    NEXT x
    COLOR 15, 4
    SELECT CASE Number
        CASE 1
            LOCATE Row, Col: GOSUB NoDOTS
            LOCATE Row + 1, Col: GOSUB OneDOT
            LOCATE Row + 2, Col: GOSUB NoDOTS
            LOCATE
        CASE 2
            LOCATE Row, Col: GOSUB Dot
            FOR Reps = 1 TO 2: GOSUB Blank: NEXT Reps
            LOCATE Row + 1, Col: GOSUB NoDOTS
            LOCATE Row + 2, Col
            FOR Reps = 1 TO 2: GOSUB Blank: NEXT Reps
            GOSUB Dot
        CASE 3
            LOCATE Row, Col: GOSUB Dot
            FOR Reps = 1 TO 2: GOSUB Blank: NEXT Reps
            LOCATE Row + 1, Col: GOSUB OneDOT
            LOCATE Row + 2, Col
            FOR Reps = 1 TO 2: GOSUB Blank: NEXT Reps
            GOSUB Dot
        CASE 4
            LOCATE Row, Col: GOSUB TwoDOTS
            LOCATE Row + 1, Col: GOSUB NoDOTS
            LOCATE Row + 2, Col: GOSUB TwoDOTS
        CASE 5
            LOCATE Row, Col: GOSUB TwoDOTS
            LOCATE Row + 1, Col: GOSUB OneDOT
            LOCATE Row + 2, Col: GOSUB TwoDOTS
        CASE 6
            LOCATE Row, Col: GOSUB TwoDOTS
            LOCATE Row + 1, Col: GOSUB TwoDOTS
            LOCATE Row + 2, Col: GOSUB TwoDOTS
    END SELECT
    RETURN

    OneDOT:
    GOSUB Blank
    GOSUB Dot
    GOSUB Blank
    RETURN

    TwoDOTS:
    GOSUB Dot
    GOSUB Blank
    GOSUB Dot
    RETURN

    NoDOTS:
    FOR Reps = 1 TO 3: GOSUB Blank: NEXT Reps
    RETURN

    Blank:
    PRINT CHR$(32);
    RETURN

    Dot:
    PRINT CHR$(254);
    RETURN

    Sides:
    COLOR 4, BackCOLOR%
    LOCATE Row, Col - 1: PRINT CHR$(222)
    LOCATE Row + 1, Col - 1: PRINT CHR$(222)
    LOCATE Row + 2, Col - 1: PRINT CHR$(222)
    LOCATE Row, Col + 3: PRINT CHR$(221)
    LOCATE Row + 1, Col + 3: PRINT CHR$(221)
    LOCATE Row + 2, Col + 3: PRINT CHR$(221)
    RETURN

END FUNCTION

SUB SetBOARD

    PALETTE 4, 36
    PALETTE 5, 29

    OUT &H3C8, 1
    OUT &H3C9, 0
    OUT &H3C9, 0
    OUT &H3C9, 32

    OUT &H3C8, 7
    OUT &H3C9, 50
    OUT &H3C9, 63
    OUT &H3C9, 50

    OUT &H3C8, 20
    OUT &H3C9, 63
    OUT &H3C9, 48
    OUT &H3C9, 10

    OUT &H3C8, 56
    OUT &H3C9, 35
    OUT &H3C9, 35
    OUT &H3C9, 35

    OUT &H3C8, 59
    OUT &H3C9, 45
    OUT &H3C9, 60
    OUT &H3C9, 45

    COLOR , 1
    CLS
    COLOR 7
    FOR Row = 2 TO 47
        FOR Col = 12 TO 68
            LOCATE Row, Col
            PRINT CHR$(219)
        NEXT Col
    NEXT Row

    COLOR 8, 7
    FOR Col = 13 TO 68
        LOCATE 2, Col
        PRINT CHR$(205);
        LOCATE 48, Col
        PRINT CHR$(205);
    NEXT Col
    FOR Row = 3 TO 47
        LOCATE Row, 12
        PRINT CHR$(186);
        LOCATE Row, 69
        PRINT CHR$(186);
    NEXT Row

    LOCATE 2, 12: PRINT CHR$(201)
    LOCATE 48, 12: PRINT CHR$(200)
    LOCATE 2, 69: PRINT CHR$(187)
    LOCATE 48, 69: PRINT CHR$(188)

    FOR Row = 8 TO 42
        LOCATE Row, 18
        PRINT CHR$(186)
        LOCATE Row, 63
        PRINT CHR$(186)
    NEXT Row
    FOR Col = 19 TO 62
        LOCATE 7, Col
        PRINT CHR$(205)
        LOCATE 43, Col
        PRINT CHR$(205)
    NEXT Col

    LOCATE 7, 18: PRINT CHR$(201)
    LOCATE 43, 18: PRINT CHR$(200)
    LOCATE 7, 63: PRINT CHR$(187)
    LOCATE 43, 63: PRINT CHR$(188)

    RESTORE TitleDATA
    COLOR 4, 7
    FOR Row = 21 TO 28
        FOR Col = 24 TO 58
            LOCATE Row, Col
            PRINT CHR$(219)
        NEXT Col
    NEXT Row


    COLOR 15, 4
    FOR y = 22 TO 27
        READ a$
        LOCATE y, 25: PRINT a$
    NEXT y

    COLOR 8, 7
    FOR Row = 44 TO 47
        FOR Col = 18 TO 63 STEP 5
            LOCATE Row, Col: PRINT CHR$(179)
            LOCATE Row - 41, Col: PRINT CHR$(179)
        NEXT Col
    NEXT Row
    FOR Row = 7 TO 43 STEP 4
        FOR Col = 13 TO 17
            LOCATE Row, Col: PRINT CHR$(196)
            LOCATE Row, Col + 51: PRINT CHR$(196)
        NEXT Col
    NEXT Row

    COLOR 4, 7
    LOCATE 47, 64: PRINT CHR$(27); CHR$(27); CHR$(27); "GO"
    COLOR 3, 7
    FOR Col = 59 TO 62
        LOCATE 44, Col: PRINT CHR$(219)
        LOCATE 44, Col - 10: PRINT CHR$(219)
        LOCATE 45, Col: PRINT CHR$(223)
        LOCATE 45, Col - 10: PRINT CHR$(223)
    NEXT Col
    COLOR 5, 7
    FOR Col = 19 TO 22
        LOCATE 44, Col: PRINT CHR$(219)
        LOCATE 44, Col + 5: PRINT CHR$(219)
        LOCATE 44, Col + 15: PRINT CHR$(219)
        LOCATE 45, Col: PRINT CHR$(223)
        LOCATE 45, Col + 5: PRINT CHR$(223)
        LOCATE 45, Col + 15: PRINT CHR$(223)
    NEXT Col
    COLOR 4, 7
    FOR Col = 19 TO 22
        LOCATE 5, Col: PRINT CHR$(220)
        LOCATE 5, Col + 10: PRINT CHR$(220)
        LOCATE 5, Col + 15: PRINT CHR$(220)
        LOCATE 6, Col: PRINT CHR$(219)
        LOCATE 6, Col + 10: PRINT CHR$(219)
        LOCATE 6, Col + 15: PRINT CHR$(219)
    NEXT Col
    COLOR 14, 7
    FOR Col = 44 TO 47
        LOCATE 5, Col: PRINT CHR$(220)
        LOCATE 5, Col + 5: PRINT CHR$(220)
        LOCATE 5, Col + 15: PRINT CHR$(220)
        LOCATE 6, Col: PRINT CHR$(219)
        LOCATE 6, Col + 5: PRINT CHR$(219)
        LOCATE 6, Col + 15: PRINT CHR$(219)
    NEXT Col

    COLOR 6
    FOR Row = 8 TO 10
        LOCATE Row, 16: PRINT CHR$(219)
        LOCATE Row, 17: PRINT CHR$(219)
        LOCATE Row + 4, 16: PRINT CHR$(219)
        LOCATE Row + 4, 17: PRINT CHR$(219)
        LOCATE Row + 12, 16: PRINT CHR$(219)
        LOCATE Row + 12, 17: PRINT CHR$(219)
    NEXT Row
    COLOR 13
    FOR Row = 28 TO 30
        LOCATE Row, 16: PRINT CHR$(219)
        LOCATE Row, 17: PRINT CHR$(219)
        LOCATE Row + 4, 16: PRINT CHR$(219)
        LOCATE Row + 4, 17: PRINT CHR$(219)
        LOCATE Row + 12, 16: PRINT CHR$(219)
        LOCATE Row + 12, 17: PRINT CHR$(219)
    NEXT Row
    COLOR 2
    FOR Row = 8 TO 10
        LOCATE Row, 64: PRINT CHR$(219)
        LOCATE Row, 65: PRINT CHR$(219)
        LOCATE Row + 4, 64: PRINT CHR$(219)
        LOCATE Row + 4, 65: PRINT CHR$(219)
        LOCATE Row + 12, 64: PRINT CHR$(219)
        LOCATE Row + 12, 65: PRINT CHR$(219)
    NEXT Row

    COLOR 1
    FOR Row = 32 TO 34
        LOCATE Row, 64: PRINT CHR$(219)
        LOCATE Row, 65: PRINT CHR$(219)
        LOCATE Row + 8, 64: PRINT CHR$(219)
        LOCATE Row + 8, 65: PRINT CHR$(219)
    NEXT Row

    COLOR 8, 7
    FOR Col = 15 TO 17
        LOCATE 44, Col
        PRINT CHR$(210)
        LOCATE 45, Col
        PRINT CHR$(186)
        LOCATE 46, Col
        PRINT CHR$(208)
    NEXT Col
    COLOR 1: LOCATE 47, 13: PRINT "JAIL"
    LOCATE 3, 65: PRINT "GOTO"
    LOCATE 6, 65: PRINT "JAIL"
    LOCATE 3, 13: PRINT "FREE"
    LOCATE 6, 13: PRINT "PKNG"
    COLOR 9
    LOCATE 36, 16: PRINT "EL"
    LOCATE 37, 16: PRINT "CO"
    LOCATE 38, 16: PRINT "MP"
    COLOR 6
    LOCATE 44, 29: PRINT "????"
    LOCATE 6, 24: PRINT "????"
    LOCATE 28, 64: PRINT "??"
    LOCATE 29, 64: PRINT "??"
    LOCATE 30, 64: PRINT "??"
    COLOR 0
    LOCATE 6, 39: PRINT "B&OR"
    LOCATE 44, 39: PRINT "R-RR"
    LOCATE 24, 64: PRINT "SH"
    LOCATE 25, 64: PRINT "LN"
    LOCATE 26, 64: PRINT "RR"
    LOCATE 24, 16: PRINT "PE"
    LOCATE 25, 16: PRINT "NN"
    LOCATE 26, 16: PRINT "RR"
    COLOR 1
    LOCATE 16, 17: PRINT "C"
    LOCATE 17, 17: PRINT "O"
    LOCATE 18, 17: PRINT "M"
    LOCATE 16, 64: PRINT "C"
    LOCATE 17, 64: PRINT "O"
    LOCATE 18, 64: PRINT "M"
    LOCATE 44, 54: PRINT "COMM"
    COLOR 8
    LOCATE 6, 54: PRINT "WATR"
    LOCATE 44, 44: PRINT "ITAX"
    COLOR 13
    LOCATE 36, 64: PRINT "L"
    LOCATE 37, 64: PRINT "U"
    LOCATE 38, 64: PRINT "X"
    COLOR 6
    LOCATE 36, 65: PRINT "T"
    LOCATE 37, 65: PRINT "A"
    LOCATE 38, 65: PRINT "X"

    COLOR 8
    LOCATE 3, 19: PRINT "KTY"
    LOCATE 3, 29: PRINT "IND"
    LOCATE 3, 34: PRINT "ILL"
    LOCATE 3, 44: PRINT "ATL"
    LOCATE 3, 49: PRINT "VEN"
    LOCATE 3, 59: PRINT "MAR"

    LOCATE 47, 19: PRINT "CON"
    LOCATE 47, 24: PRINT "VER"
    LOCATE 47, 34: PRINT "ORI"
    LOCATE 47, 49: PRINT "BAL"
    LOCATE 47, 59: PRINT "MED"

    LOCATE 8, 68: PRINT "P"
    LOCATE 9, 68: PRINT "A"
    LOCATE 10, 68: PRINT "C"
    LOCATE 12, 68: PRINT "N"
    LOCATE 13, 68: PRINT "C"
    LOCATE 14, 68: PRINT "L"
    LOCATE 20, 68: PRINT "P"
    LOCATE 21, 68: PRINT "E"
    LOCATE 22, 68: PRINT "N"
    LOCATE 32, 68: PRINT "P"
    LOCATE 33, 68: PRINT "K"
    LOCATE 34, 68: PRINT "P"
    LOCATE 40, 68: PRINT "B"
    LOCATE 41, 68: PRINT "W"
    LOCATE 42, 68: PRINT "K"

    LOCATE 8, 13: PRINT "N"
    LOCATE 9, 13: PRINT "E"
    LOCATE 10, 13: PRINT "W"
    LOCATE 12, 13: PRINT "T"
    LOCATE 13, 13: PRINT "E"
    LOCATE 14, 13: PRINT "N"
    LOCATE 20, 13: PRINT "S"
    LOCATE 21, 13: PRINT "T"
    LOCATE 22, 13: PRINT "J"
    LOCATE 28, 13: PRINT "V"
    LOCATE 29, 13: PRINT "I"
    LOCATE 30, 13: PRINT "R"
    LOCATE 32, 13: PRINT "S"
    LOCATE 33, 13: PRINT "A"
    LOCATE 34, 13: PRINT "V"
    LOCATE 40, 13: PRINT "S"
    LOCATE 41, 13: PRINT "T"
    LOCATE 42, 13: PRINT "C"

    COLOR 3
    FOR Row = 9 TO 41
        LOCATE Row, 19: PRINT CHR$(179)
        LOCATE Row, 62: PRINT CHR$(179)
    NEXT Row
    FOR Col = 20 TO 61
        LOCATE 8, Col: PRINT CHR$(196)
        LOCATE 42, Col: PRINT CHR$(196)
    NEXT Col
    LOCATE 8, 19: PRINT CHR$(218)
    LOCATE 8, 62: PRINT CHR$(191)
    LOCATE 42, 19: PRINT CHR$(192)
    LOCATE 42, 62: PRINT CHR$(217)


    t1$ = "°°°°°°°°°°°ÛÛÛÛÛÛÛÛ°"
    t2$ = "°°°ÛÛÛÛ°°°°°Û°°°°Û°°"
    t3$ = "°°°°²²°°ÛÛ°°Û°°°°Û°°"
    t4$ = "°°°ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ°°"
    t5$ = "°ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ°°"
    t6$ = "°°²²²²²²²²²²ÛÛÛÛÛÛ°°"
    t7$ = "°ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ°"
    t8$ = "Û±±±±ÛÛÛ±±ÛÛÛ±±ÛÛÛ°°"
    t9$ = "°Û°Û°²Û²°°²Û²°°²Û²°°"
    COLOR 11, 7
    LOCATE 32, 32: PRINT t1$
    LOCATE 33, 32: PRINT t2$
    LOCATE 34, 32: PRINT t3$
    LOCATE 35, 32: PRINT t4$
    LOCATE 36, 32: PRINT t5$
    LOCATE 37, 32: PRINT t6$
    LOCATE 38, 32: PRINT t7$
    LOCATE 39, 32: PRINT t8$
    LOCATE 40, 32: PRINT t9$

    m1$ = "°°°°°Û°°°°°"
    m2$ = "°°°ÛÛÛÛÛ°°°"
    m3$ = "°°°Û°Û°Û°°°"
    m4$ = "°°°Û°Û°°°°°"
    m5$ = "°°°ÛÛÛÛÛ°°°"
    m6$ = "°°°°°Û°Û°°°"
    m7$ = "°°°Û°Û°Û°°°"
    m8$ = "°°°ÛÛÛÛÛ°°°"
    m9$ = "°°°°°Û°°°°°"
    LOCATE 10, 36: PRINT m1$
    LOCATE 11, 36: PRINT m2$
    LOCATE 12, 36: PRINT m3$
    LOCATE 13, 36: PRINT m4$
    LOCATE 14, 36: PRINT m5$
    LOCATE 15, 36: PRINT m6$
    LOCATE 16, 36: PRINT m7$
    LOCATE 17, 36: PRINT m8$
    LOCATE 18, 36: PRINT m9$

    FOR Row = 2 TO 48
        FOR Col = 12 TO 69
            Count = Count + 1
            Board(Count).Char = SCREEN(Row, Col)
            Board(Count).Colr = HEX$(SCREEN(Row, Col, 1))
        NEXT Col
    NEXT Row

END SUB