mirror of
https://github.com/QB64-Phoenix-Edition/QB64pe.git
synced 2024-09-28 07:37:47 +00:00
679 lines
14 KiB
QBasic
679 lines
14 KiB
QBasic
|
DECLARE SUB SetBOARD ()
|
|||
|
DECLARE SUB PlayAREA ()
|
|||
|
DECLARE SUB Opening ()
|
|||
|
DECLARE SUB GotoJAIL (GamePIECE$)
|
|||
|
DECLARE FUNCTION RollDICE% (Row%, Col%)
|
|||
|
|
|||
|
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 "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20>"
|
|||
|
DATA "<22> <20> <20> <20> <20> <20><> <20> <20> <20> <20> <20> <20> <20><><EFBFBD> <20><> <20>"
|
|||
|
DATA "<22> <20> <20> <20> <20> <20><> <20> <20> <20> <20> <20> <20> <20> <20><><EFBFBD><EFBFBD> <20>"
|
|||
|
DATA "<22> <20> <20> <20> <20> <20> <20><> <20> <20> <20><><EFBFBD> <20> <20> <20><><EFBFBD><EFBFBD><EFBFBD>"
|
|||
|
DATA "<22> <20> <20> <20> <20> <20><><EFBFBD><EFBFBD> <20> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>"
|
|||
|
DATA "<22> <20> <20> <20><><EFBFBD> <20> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20>"
|
|||
|
|
|||
|
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<><45> T O"
|
|||
|
LOCATE 30, 30: PRINT "PRESS ANY KEY TO BEGIN..."
|
|||
|
|
|||
|
a$ = "<22>*<2A><>*<2A><>*<2A><>*<2A><>*<2A><>*<2A><>*<2A><>*<2A><>*<2A><>*<2A><>*<2A><>*<2A><>*<2A><>*<2A><>*<2A><>*<2A><>*<2A><>*<2A><>*<2A><>*<2A><>*<2A><>*<2A><>*<2A><>*<2A><>*<2A><>*<2A>"
|
|||
|
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$ = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۰"
|
|||
|
t2$ = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۰<EFBFBD><DBB0><EFBFBD><EFBFBD>۰<EFBFBD><DBB0><EFBFBD>۰<EFBFBD>"
|
|||
|
t3$ = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۰<EFBFBD>۰<EFBFBD><DBB0><EFBFBD>۰<EFBFBD>"
|
|||
|
t4$ = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۰<EFBFBD>"
|
|||
|
t5$ = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۰<EFBFBD>"
|
|||
|
t6$ = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۰<EFBFBD>"
|
|||
|
t7$ = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۰"
|
|||
|
t8$ = "۱<><DBB1><EFBFBD><EFBFBD><EFBFBD>۱<EFBFBD><DBB1><EFBFBD>۱<EFBFBD><DBB1><EFBFBD>۰<EFBFBD>"
|
|||
|
t9$ = "<22>۰۰<DBB0>۲<EFBFBD><DBB2><EFBFBD>۲<EFBFBD><DBB2><EFBFBD>۲<EFBFBD><DBB2>"
|
|||
|
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$ = "<22><><EFBFBD><EFBFBD><EFBFBD>۰<EFBFBD><DBB0><EFBFBD><EFBFBD>"
|
|||
|
m2$ = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۰<EFBFBD><DBB0>"
|
|||
|
m3$ = "<22><><EFBFBD>۰۰۰<DBB0><DBB0>"
|
|||
|
m4$ = "<22><><EFBFBD>۰۰<DBB0><DBB0><EFBFBD><EFBFBD>"
|
|||
|
m5$ = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۰<EFBFBD><DBB0>"
|
|||
|
m6$ = "<22><><EFBFBD><EFBFBD><EFBFBD>۰۰<DBB0><DBB0>"
|
|||
|
m7$ = "<22><><EFBFBD>۰۰۰<DBB0><DBB0>"
|
|||
|
m8$ = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۰<EFBFBD><DBB0>"
|
|||
|
m9$ = "<22><><EFBFBD><EFBFBD><EFBFBD>۰<EFBFBD><DBB0><EFBFBD><EFBFBD>"
|
|||
|
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
|