DECLARE SUB charselect () DECLARE SUB drawlevel (lvl!) DECLARE SUB levelintro (lvl!, title$) DECLARE SUB credits () DECLARE SUB instructions (file$) DECLARE SUB dinput (a!, B!, b2!, c!, d$) DECLARE SUB options () DECLARE SUB codes () DIM SHARED difficulty, snd$, msc$ msc$ = "yes": snd$ = "yes": difficulty = 2 CLS SCREEN 8 FOR a = 20 TO 80 CIRCLE (20, a / 2), 20, 2 PAINT (20, a / 2), 2, 2 CIRCLE (28, a / 2), 20, 2 PAINT (28, a / 2), 2, 2 NEXT a CIRCLE (15, 23 / 2), 5, 15 PAINT (15, 23 / 2), 15, 15 CIRCLE (15, 23 / 2), 1, 1 PAINT (15, 23 / 2), 1, 1 CIRCLE (33, 23 / 2), 5, 15 PAINT (33, 23 / 2), 15, 15 CIRCLE (33, 23 / 2), 1, 1 PAINT (33, 23 / 2), 1, 1 LINE (18, 35 / 2)-(30, 37 / 2), 4, BF DIM down%(2000) GET (0, 0)-(50, 95 / 2), down% DIM SHARED playwho$ DIM SHARED output$ DIM SHARED startlevel startlevel = 1 playwho$ = "characterselect" CLS loadyet$ = "no" returning: CLS COLOR 2 PRINT PRINT " лллллллл лл лллллллл лллм мллл ллллллл" PRINT " лл п лл п лл п лл лл лл лл лл п" PRINT " лллллллл лл лл лл лллл лл ллллл" PRINT " п лл лл лл лл лл лл лл п" PRINT " лллллллл лллллл лллллллл лл п лл ллллллл" PRINT " п п п п п п п п п" PRINT PRINT " лллм мллл лллллл лллм лл" PRINT " лл лл лл лл лл п лл лл лл лл" PRINT " лл лллл лл лллллллл лл лл лл" PRINT " лл лл лл лл п лл лл лл лл" PRINT " лл п лл лл лл лл пллл" PRINT " п п п п п п" PUT (110, 60), down% PRINT PRINT IF loadyet$ = "no" THEN PLAY "MBMN t200L8 <<>>" LOCATE 17, 1 PRINT " " LOCATE 16, 1 PRINT " START GAME" PRINT " LOAD SAVED GAME" PRINT " OPTIONS" PRINT " STORY" PRINT " INSTRUCTIONS" PRINT " CODES" PRINT " QUIT" arrow = 16 LOCATE arrow, 32: PRINT "-"; CHR$(26) DO SELECT CASE INKEY$ CASE IS = CHR$(0) + "H" LOCATE arrow, 32: PRINT " " arrow = arrow - 1 IF arrow = 15 THEN SOUND (100), 1: SOUND (194), 1: arrow = arrow + 1 LOCATE arrow, 32: PRINT "-"; CHR$(26) CASE IS = CHR$(0) + "P" LOCATE arrow, 32: PRINT " " arrow = arrow + 1 IF arrow = 23 THEN SOUND (100), 1: SOUND (194), 1: arrow = arrow - 1 LOCATE arrow, 32: PRINT "-"; CHR$(26) CASE IS = CHR$(13) GOTO choose END SELECT ' **** CTRL-BREAK KILLER **** 'KEY 15, CHR$(4 + 128 + 32 + 64) + CHR$(70) 'ON KEY(15) GOSUB nobreak: KEY(15) ON 'KEY 16, CHR$(4 + 128) + CHR$(70): ON KEY(16) GOSUB nobreak: KEY(16) ON 'KEY 17, CHR$(4 + 128 + 32) + CHR$(70): ON KEY(17) GOSUB nobreak 'KEY(17) ON: KEY 18, CHR$(4 + 128 + 64) + CHR$(70): ON KEY(18) GOSUB nobreak 'KEY(18) ON: KEY 19, CHR$(4) + CHR$(70): ON KEY(21) GOSUB nobreak 'KEY(21) ON: KEY 22, CHR$(4 + 64) + CHR$(70) 'ON KEY(22) GOSUB nobreak: KEY(22) ON: KEY 23, CHR$(4 + 32) + CHR$(46) 'ON KEY(23) GOSUB nobreak: KEY(23) ON: KEY 24, CHR$(4 + 64) + CHR$(46) 'ON KEY(24) GOSUB nobreak: KEY(24) ON 'KEY 25, CHR$(4 + 32 + 64) + CHR$(46): ON KEY(25) GOSUB nobreak: KEY(25) ON ' *************************** LOOP nobreak: RETURN choose: loadyet$ = "yes" SELECT CASE arrow CASE IS = 16 charselect levelintro 1, "NEW YORK CITY, CHRISTMAS" drawlevel 1 levelintro 2, "IN THE STREETS OF NY" drawlevel 2 levelintro 3, "INSIDE THE MALL" drawlevel 3 levelintro 4, "WASHINGTON D.C." drawlevel 4 levelintro 5, "GORILLA HIDEOUT" drawlevel 5 drawlevel 5.5 'CLOSE 'OPEN "c:\temp_sm\settings.set" FOR OUTPUT AS #1 ' PRINT #1, playwho$ ' PRINT #1, startlevel ' PRINT #1, name$ 'CLOSE #1 'CHAIN "c:\temp_sm\charslct.bas" CASE IS = 17 'loadgame loadyet$ = "yes" GOTO returning CASE IS = 18 options loadyet$ = "yes" GOTO returning CASE IS = 19 'story loadyet$ = "yes" GOTO returning CASE IS = 20 CLS instructions "C:\WINNT\notepad.exe" loadyet$ = "yes" GOTO returning CASE IS = 21 codes loadyet$ = "yes" GOTO returning CASE IS = 22 credits 'CLS 'CHAIN "g:\mike\qbasic\oldfil~1\sm_end.bas" END SELECT SUB charselect CLS SCREEN 8 'OPEN "c:\temp_sm\settings.set" FOR INPUT AS #1 ' INPUT #1, playwho$ ' INPUT #1, startlevel ' INPUT #1, name$ 'CLOSE #1 'IF playwho$ <> "characterselect" THEN GOTO skipselect FOR a = 20 TO 80 CIRCLE (20, a / 2), 20, 2 PAINT (20, a / 2), 2, 2 CIRCLE (28, a / 2), 20, 2 PAINT (28, a / 2), 2, 2 NEXT a CIRCLE (15, 23 / 2), 5, 15 PAINT (15, 23 / 2), 15, 15 CIRCLE (15, 23 / 2), 1, 1 PAINT (15, 23 / 2), 1, 1 CIRCLE (33, 23 / 2), 5, 15 PAINT (33, 23 / 2), 15, 15 CIRCLE (33, 23 / 2), 1, 1 PAINT (33, 23 / 2), 1, 1 LINE (18, 35 / 2)-(30, 37 / 2), 4, BF DIM charslimeman%(2000) GET (0, 0)-(50, 95 / 2), charslimeman% CLS COLOR 2 LOCATE 3, 1: PRINT STRING$(80, CHR$(219)) LOCATE 23, 1: PRINT STRING$(80, CHR$(219)) FOR a = 4 TO 22 LOCATE a, 1: PRINT CHR$(219); CHR$(219); STRING$(76, " "); CHR$(219); CHR$(219) NEXT a LOCATE 3, 31: PRINT " CHARACTER SELECT " LOCATE 4, 31: PRINT " ~~~~~~~~~ ~~~~~~" PUT (50, 40), charslimeman% 'him PUT (50, 110), charslimeman% 'bro PUT (350, 40), charslimeman% 'mom PUT (350, 110), charslimeman% 'old LINE (53, 115)-(95, 115), 9 LINE (54, 114)-(94, 114), 9 LINE (56, 113)-(92, 113), 9 LINE (59, 112)-(89, 112), 9 CIRCLE (53, 113), 5, 9 PAINT (53, 113), 9, 9 LINE (350, 113)-(400, 115), 4, BF LINE (360, 106)-(390, 113), 4, BF LINE (357, 116)-(348, 118), 14 LINE (365, 116)-(356, 118), 14 LINE (373, 116)-(365, 118), 14 LINE (381, 116)-(375, 118), 14 LINE (389, 116)-(383, 118), 14 LINE (397, 116)-(390, 118), 14 LINE (351, 47)-(351, 38), 7 LINE (355, 44)-(355, 38), 7 LINE (353, 44)-(353, 38), 7 LINE (357, 43)-(357, 38), 7 LINE (359, 42)-(359, 38), 7 LINE (361, 42)-(361, 38), 7 LINE (363, 41)-(363, 38), 7 LINE (365, 41)-(365, 38), 7 LINE (367, 41)-(367, 38), 7 LINE (369, 41)-(369, 38), 7 LINE (371, 41)-(371, 38), 7 LINE (373, 41)-(373, 38), 7 LINE (375, 41)-(375, 38), 7 LINE (377, 41)-(377, 38), 7 LINE (379, 41)-(379, 38), 7 LINE (381, 41)-(381, 38), 7 LINE (383, 41)-(383, 38), 7 LINE (385, 41)-(385, 38), 7 LINE (387, 41)-(387, 38), 7 LINE (389, 42)-(389, 38), 7 LINE (391, 43)-(391, 38), 7 LINE (393, 44)-(393, 38), 7 LINE (395, 44)-(395, 38), 7 LINE (397, 46)-(397, 38), 7 LINE (359, 52)-(350, 52), 7 LINE (398, 52)-(389, 52), 7 CIRCLE (383, 52), 7, 7 CIRCLE (365, 52), 7, 7 LOCATE 6, 20: PRINT "SLIMEMAN" LOCATE 7, 20: PRINT "~~~~~~~~" LOCATE 8, 15: PRINT "SPEED = 50% " LOCATE 9, 15: PRINT "STRENGTH = 35%" LOCATE 10, 15: PRINT "POWER = 10%" LOCATE 11, 15: PRINT "FIRE POWER = 75%" LOCATE 6, 57: PRINT "GRANNY" LOCATE 7, 57: PRINT "~~~~~~" LOCATE 8, 52: PRINT "SPEED = 15%" LOCATE 9, 52: PRINT "STRENGTH =60%" LOCATE 10, 52: PRINT "POWER = 75%" LOCATE 11, 52: PRINT "FIRE POWER = 20%" LOCATE 15, 20: PRINT "BROTHER" LOCATE 16, 20: PRINT "~~~~~~~" LOCATE 17, 15: PRINT "SPEED = 85%" LOCATE 18, 15: PRINT "STRENGTH = 40%" LOCATE 19, 15: PRINT "POWER = 45%" LOCATE 20, 15: PRINT "FIRE POWER = 70%" LOCATE 15, 57: PRINT "MOTHER" LOCATE 16, 57: PRINT "~~~~~~" LOCATE 17, 52: PRINT "SPEED = 25%" LOCATE 18, 52: PRINT "STRENGTH = 20%" LOCATE 19, 52: PRINT "POWER = 70%" LOCATE 20, 52: PRINT "FIRE POWER = 75%" LOCATE 1, 16: PRINT "USE THE ARROW KEYS TO MOVE AND RETURN TO CHOOSE." LOCATE 2, 16: PRINT "~~~ ~~~ ~~~~~ ~~~~ ~~ ~~~~ ~~~ ~~~~~~ ~~ ~~~~~~ " LINE (372, 50)-(377, 50), 7 x = 30 y = 27 xx = 317 yy = 97 LINE (x, y)-(xx, yy), 2, B 'OPEN "c:\temp_sm\settings.set" FOR INPUT AS #1 DO SELECT CASE INKEY$ CASE IS = CHR$(0) + "H" GOSUB moveup CASE IS = CHR$(0) + "P" GOSUB movedown CASE IS = CHR$(0) + "K" GOSUB moveleft CASE IS = CHR$(0) + "M" GOSUB moveright CASE IS = CHR$(13) IF x = 30 AND y = 27 THEN character$ = "slimeman" IF x = 327 AND y = 27 THEN character$ = "granny" IF x = 30 AND y = 97 THEN character$ = "brother" IF x = 327 AND y = 97 THEN character$ = "mother" CLS EXIT SUB 'IF startlevel = 2 THEN CHAIN "c:\temp_sm\level2.bas" 'IF startlevel = 3 THEN CHAIN "c:\temp_sm\level3.bas" 'IF startlevel = 4 THEN CHAIN "c:\temp_sm\level4.bas" 'IF startlevel = 5 THEN CHAIN "c:\temp_sm\level5.int" 'CHAIN "c:\temp_sm\level1.bas" END SELECT LOOP moveup: LINE (x, y)-(xx, yy), 0, B y = y - 70 yy = yy - 70 IF y = 27 - 70 THEN y = 27: SOUND (100), 1: SOUND (194), 1 IF yy = 97 - 70 THEN yy = 97 LINE (x, y)-(xx, yy), 2, B RETURN movedown: LINE (x, y)-(xx, yy), 0, B y = y + 70 yy = yy + 70 IF y = 27 + 70 + 70 THEN y = 27 + 70: SOUND (100), 1: SOUND (194), 1 IF yy = 97 + 70 + 70 THEN yy = 97 + 70 LINE (x, y)-(xx, yy), 2, B RETURN moveleft: LINE (x, y)-(xx, yy), 0, B x = x - 297 xx = xx - 297 IF x = 30 - 297 THEN x = 30: SOUND (100), 1: SOUND (194), 1 IF xx = 317 - 297 THEN xx = 317 LINE (x, y)-(xx, yy), 2, B RETURN moveright: LINE (x, y)-(xx, yy), 0, B x = x + 297 xx = xx + 297 IF x = 30 + 297 + 297 THEN x = 30 + 297: SOUND (100), 1: SOUND (194), 1 IF xx = 317 + 297 + 297 THEN xx = 317 + 297 LINE (x, y)-(xx, yy), 2, B RETURN skipselect: 'IF startlevel = 2 THEN CHAIN "c:\temp_sm\level2.bas" 'IF startlevel = 3 THEN CHAIN "c:\temp_sm\level3.bas" 'IF startlevel = 4 THEN CHAIN "c:\temp_sm\level4.bas" 'IF startlevel = 5 THEN CHAIN "c:\temp_sm\level5.int" 'CHAIN "c:\temp_sm\level1.bas" END SUB SUB codes SCREEN 8 enteranother2: CLS LOCATE 1, 1 PRINT " CODE ENTRY" PRINT " ~~~~ ~~~~~" LOCATE 8, 1 PRINT " ENTER CODE: " LOCATE 9, 36: PRINT "([ )" LOCATE 9, 38: dinput 13, 2, 0, 2, "password" SELECT CASE LCASE$(output$) CASE IS = "ressurection" playwho$ = "dad" LOCATE 11, 1: PRINT " PLAY AS SLIME MAN'S FATHER!" INPUT "", wait$ GOTO enteranother CASE IS = "see end" seeend$ = "yes" LOCATE 11, 1: PRINT " SEE THE ENDING!" INPUT "", wait$ GOTO enteranother CASE IS = "santa" playwho$ = "santa" LOCATE 11, 1: PRINT " PLAY AS SANTA!" INPUT "", wait$ GOTO enteranother CASE IS = "snowman" playwho$ = "snowman" LOCATE 11, 1: PRINT " PLAY AS A SNOWMAN!" INPUT "", wait$ GOTO enteranother CASE IS = "gorilla" playwho$ = "gorilla" LOCATE 11, 1: PRINT " PLAY AS A GORILLA!" INPUT "", wait$ GOTO enteranother CASE IS = "starting on 2" startlevel = 2 LOCATE 11, 1: PRINT " START ON LEVEL 2!" INPUT "", wait$ GOTO enteranother CASE IS = "starting on 3" startlevel = 3 LOCATE 11, 1: PRINT " START ON LEVEL 3!" INPUT "", wait$ GOTO enteranother CASE IS = "starting on 4" startlevel = 4 LOCATE 11, 1: PRINT " START ON LEVEL 4!" INPUT "", wait$ GOTO enteranother 'CASE IS = "starting on 5" ' startlevel = 5 ' LOCATE 11, 1: PRINT " START ON LEVEL 5!" ' INPUT "", wait$ ' GOTO enteranother CASE IS = "play the last" startlevel = 5 LOCATE 11, 1: PRINT " START ON THE LAST LEVEL!" INPUT "", wait$ GOTO enteranother CASE ELSE LOCATE 11, 1: PRINT " I'M SORRY, THAT CODE WAS INCORRECT!" INPUT "", wait$ GOTO enteranother END SELECT enteranother: LOCATE 11, 1: PRINT " " LOCATE 11, 1: INPUT " ENTER ANOTHER? (Y/N): "; another$ IF LCASE$(another$) = "y" THEN GOTO enteranother2 IF LCASE$(another$) = "n" THEN EXIT SUB END SUB SUB credits SCREEN 13 LOCATE 3, 5 COLOR 9 PRINT "A game by:" FOR a = 1 TO 60 FOR z = 1 TO 14 LOCATE 10, 15 COLOR z PRINT "Mike Maset," NEXT z NEXT a FOR a = 1 TO 60 FOR z = 1 TO 14 LOCATE 11, 14 COLOR z PRINT " Tim Jones," NEXT z NEXT a FOR a = 1 TO 60 FOR z = 1 TO 14 LOCATE 12, 15 COLOR z PRINT "Seth Maset," NEXT z NEXT a FOR a = 1 TO 60 FOR z = 1 TO 14 LOCATE 13, 18 COLOR z PRINT " and" NEXT z NEXT a FOR a = 1 TO 60 FOR z = 1 TO 14 LOCATE 14, 13 COLOR z PRINT " Josh Revelle!" NEXT z NEXT a COLOR 2 FOR a = 1 TO 27 LOCATE 22, a PRINT " m" FOR B = 1 TO 100 NEXT B NEXT a FOR a = 1 TO 26 LOCATE 22, a PRINT " a" FOR B = 1 TO 100 NEXT B NEXT a FOR a = 1 TO 25 LOCATE 22, a PRINT " e" FOR B = 1 TO 100 NEXT B NEXT a FOR a = 1 TO 24 LOCATE 22, a PRINT " T" FOR B = 1 TO 100 NEXT B NEXT a FOR a = 1 TO 22 LOCATE 22, a PRINT " o" FOR B = 1 TO 100 NEXT B NEXT a FOR a = 1 TO 21 LOCATE 22, a PRINT " r" FOR B = 1 TO 100 NEXT B NEXT a FOR a = 1 TO 20 LOCATE 22, a PRINT " P" FOR B = 1 TO 100 NEXT B NEXT a FOR a = 1 TO 18 LOCATE 22, a PRINT " r" FOR B = 1 TO 100 NEXT B NEXT a FOR a = 1 TO 17 LOCATE 22, a PRINT " e" FOR B = 1 TO 100 NEXT B NEXT a FOR a = 1 TO 16 LOCATE 22, a PRINT " b" FOR B = 1 TO 100 NEXT B NEXT a FOR a = 1 TO 15 LOCATE 22, a PRINT " y" FOR B = 1 TO 100 NEXT B NEXT a FOR a = 1 TO 14 LOCATE 22, a PRINT " C" FOR B = 1 TO 100 NEXT B NEXT a FOR a = 1 TO 12 LOCATE 22, a PRINT " e" FOR B = 1 TO 100 NEXT B NEXT a FOR a = 1 TO 11 LOCATE 22, a PRINT " h" FOR B = 1 TO 100 NEXT B NEXT a FOR a = 1 TO 10 LOCATE 22, a PRINT " T" FOR B = 1 TO 100 NEXT B NEXT a FOR a = 1 TO 3000 NEXT a FOR a = 1 TO 30000 NEXT a CLS LOCATE 3, 5 COLOR 9 PRINT "Special thanks to:" FOR a = 1 TO 60 FOR z = 1 TO 14 LOCATE 12, 10 COLOR z PRINT " Brett Truncali" NEXT z NEXT a COLOR 0 END END SUB SUB dinput (a, B, b2, c, d$) 'SHARED output$ output$ = "" i$ = "" lin = CSRLIN min = POS(0) max = a + min 'IF max > 80 THEN PRINT "DInput failed - String line too long" IF max < 81 THEN clr = B bckclr = b2 csrclr = c length = a current = 0 WHILE i$ <> CHR$(13) COLOR csrclr, bckclr LOCATE lin, min + current PRINT "]" COLOR clr, bckclr i$ = "" WHILE i$ = "" i$ = INKEY$ WEND 1 IF ASC(i$) > 31 AND ASC(i$) < 127 AND current <> length THEN LOCATE lin, min + current IF d$ = "password" THEN PRINT "*" ELSE PRINT i$ output$ = output$ + i$ current = current + 1 END IF IF ASC(i$) = 8 AND current > 0 THEN current = current - 1 output$ = LEFT$(output$, LEN(output$) - 1) LOCATE lin, min + current + 1 PRINT " " END IF WEND LOCATE lin, min + current 'PRINT " " END IF COLOR clr, 0 END SUB SUB drawlevel (lvl) CLS : SCREEN 8 SELECT CASE lvl CASE IS = 1 PAINT (0, 0), 8 LINE (0, 315 / 2)-(640, 350 / 2), 15, BF LINE (0, 185 / 2)-(640, 315 / 2), 0, BF LINE (0, 250 / 2)-(640, 250 / 2), 14, , &HF00 LINE (0, 145 / 2)-(640, 185 / 2), 15, BF LINE (75, 0)-(640, 145 / 2), 6, BF LINE (300, 100 / 2)-(340, 145 / 2), 7, BF CIRCLE (305, 122 / 2), 3, 0 PAINT (305, 122 / 2), 0, 0 LINE (150, 50 / 2)-(200, 90 / 2), 9, BF LINE (150, 50 / 2)-(200, 90 / 2), 15, B LINE (175, 51 / 2)-(175, 89 / 2), 7 LINE (151, 70 / 2)-(199, 70 / 2), 7 LINE (150 + 250, 50 / 2)-(200 + 250, 90 / 2), 9, BF LINE (150 + 250, 50 / 2)-(200 + 250, 90 / 2), 15, B LINE (175 + 250, 51 / 2)-(175 + 250, 89 / 2), 7 LINE (151 + 250, 70 / 2)-(199 + 250, 70 / 2), 7 LINE (150 + 400, 50 / 2)-(200 + 400, 90 / 2), 9, BF LINE (150 + 400, 50 / 2)-(200 + 400, 90 / 2), 15, B LINE (175 + 400, 51 / 2)-(175 + 400, 89 / 2), 7 LINE (151 + 400, 70 / 2)-(199 + 400, 70 / 2), 7 PAINT (0, 199), 2, 15 FOR a = 1 TO 1000 aa = INT(RND * 640) + 1 aaa = INT(RND * 350) + 1 LINE (aa, aaa / 2)-(aa, aaa / 2), 15 NEXT a CASE IS = 1.5 CASE IS = 2 FOR a = 0 TO 700 LINE (a, 130)-(a, 185), 8 NEXT a FOR a = 0 TO 240 LINE (a, 0)-(a, 75), 1 NEXT a FOR a = 1 TO 10 CIRCLE (20, 20), a CIRCLE (30, 23), a CIRCLE (40, 18), a CIRCLE (50, 25), a CIRCLE (60, 20), a CIRCLE (70, 24), a CIRCLE (80, 17), a CIRCLE (89, 23), a NEXT a z = 4 FOR a = 355 TO 700 LINE (a, 0)-(a, 129), z NEXT a FOR a = 241 TO 355 LINE (a, 0)-(a, 75), z NEXT a FOR a = 464 TO 560 LINE (a, 29)-(a, 50), 0 NEXT a FOR a = 185 TO 190 LINE (0, a)-(700, a), 7 NEXT a LINE (0, 130)-(700, 130), 7 FOR a = 1 TO 700 STEP 150 LINE (a, 130)-(a + 55, 185), 7 NEXT a FOR a = 4 TO 703 STEP 150 LINE (a, 131)-(a + 53, 184), 2 NEXT a FOR a = 6 TO 705 STEP 150 LINE (a, 131)-(a + 53, 184), 7 NEXT a CIRCLE (420, 140), 12, 7 LINE (409, 141)-(431, 141), 7 PAINT (420, 142), 7 LINE (420, 140)-(417, 137), 14 FOR a = 417 TO 423 LINE (a, 141)-(a, 180), 7 NEXT a LINE (416, 178)-(424, 178), 7 LINE (415, 179)-(425, 179), 7 LINE (414, 180)-(426, 180), 7 LOCATE 5, 60 PRINT "JOE"; CHR$(39); "S" LOCATE 6, 60 PRINT "PIZZA" LINE (464, 50)-(560, 50) LINE (464, 50)-(464, 29) LINE (463, 50)-(463, 29) LINE (463, 29)-(560, 29) LINE (560, 29)-(560, 50) LINE (561, 29)-(561, 50) LINE (463, 75)-(463, 129) LINE (464, 75)-(464, 129) LINE (561, 75)-(561, 129) LINE (560, 75)-(560, 129) LINE (463, 75)-(561, 75) FOR a = 465 TO 559 LINE (a, 76)-(a, 129), 8 NEXT a LINE (520, 35)-(551, 32), 6 LINE (520, 36)-(551, 33), 6 LINE (522, 36)-(546, 47), 4 LINE (546, 47)-(550, 34), 4 FOR a = 1 TO 3 CIRCLE (544, 37), a, 4 CIRCLE (542, 42), a, 4 CIRCLE (535, 38), a, 4 NEXT a FOR a = 1 TO 300 STEP 10 LINE (a, 75)-(a + 54, 129), 7 NEXT a FOR a = 354 TO 1 STEP -10 LINE (a, 75)-(a - 54, 129), 7 NEXT a LINE (354, 85)-(310, 129), 7 LINE (354, 95)-(320, 129), 7 LINE (354, 105)-(330, 129), 7 LINE (354, 115)-(340, 129), 7 LINE (354, 125)-(350, 129), 7 LINE (301, 75)-(354, 128), 7 LINE (311, 75)-(354, 118), 7 LINE (321, 75)-(354, 108), 7 LINE (331, 75)-(354, 98), 7 LINE (341, 75)-(354, 88), 7 LINE (351, 75)-(354, 78), 7 LINE (0, 84)-(45, 129), 7 LINE (0, 94)-(35, 129), 7 LINE (0, 104)-(25, 129), 7 LINE (0, 114)-(15, 129), 7 LINE (0, 124)-(5, 129), 7 LINE (354, 129)-(354, 10), 7 LINE (355, 129)-(355, 10), 7 LINE (354, 9)-(700, 9), 7 LINE (354, 9)-(336, 0), 7 LINE (239, 0)-(239, 74), 7 LINE (240, 0)-(240, 74), 7 LINE (0, 76)-(354, 76), 7 LOCATE 12, 17 COLOR 4 PRINT " - NO - " LOCATE 13, 17 PRINT "TRESPASSING" FOR a = 1 TO 7 CIRCLE (545, 105), a, 6 NEXT a CASE IS = 2.5 CASE IS = 3 FOR a = 251 TO 399 LINE (a, 51)-(a, 79), 6 NEXT a LINE (400, 0)-(400, 80), 7 LINE (250, 0)-(250, 80), 7 LINE (250, 80)-(400, 80), 7 LINE (250, 50)-(400, 50), 7 LINE (401, 0)-(401, 80), 7 LINE (249, 0)-(249, 80), 7 LINE (270, 0)-(270, 20), 7 LINE (271, 0)-(271, 20), 7 LINE (380, 0)-(380, 20), 7 LINE (381, 0)-(381, 20), 7 LINE (380, 20)-(270, 20), 7 COLOR 5 LOCATE 1, 35: PRINT " JAZZ" COLOR 14 LOCATE 2, 35: PRINT " 99 " COLOR 4 LOCATE 1, 42: PRINT "BULLS" COLOR 15 LOCATE 2, 43: PRINT "100" COLOR 7 LINE (443, 25)-(500, 60), 4, BF LOCATE 5, 57: PRINT "JORDAN" LOCATE 7, 59: PRINT "23" LINE (443, 25)-(443, 15), 4 LINE (455, 20)-(455, 15), 4 LINE (455, 20)-(485, 20), 4 LINE (485, 20)-(485, 15), 4 LINE (500, 25)-(500, 15), 4 LINE (485, 15)-(500, 15), 4 LINE (443, 15)-(455, 15), 4 LINE (150, 25)-(208, 60), 4, BF LOCATE 5, 20: PRINT "BRYANT" LOCATE 7, 23: PRINT "3" LINE (150, 25)-(150, 15), 4 LINE (163, 20)-(163, 15), 4 LINE (163, 20)-(193, 20), 4 LINE (193, 20)-(193, 15), 4 LINE (208, 25)-(208, 15), 4 LINE (193, 15)-(208, 15), 4 LINE (195, 15)-(208, 15), 4 LINE (150, 15)-(163, 15), 4 LINE (300, 100)-(350, 160), 6, BF LINE (0, 80)-(640, 80), 15 LINE (40, 19)-(120, 79), 6, BF CIRCLE (60, 43), 7, 4 PAINT (60, 43), 4 CIRCLE (330, 38), 15, 6 PAINT (330, 38), 6 LINE (323, 36)-(326, 36), 0 LINE (335, 36)-(338, 36), 0 LINE (326, 41)-(335, 41), 4 LINE (318, 43)-(310, 45), 2 LINE (310, 45)-(310, 49), 2 LINE (342, 43)-(349, 45), 2 LINE (349, 45)-(349, 49), 2 LOCATE 1, 55: PRINT "FOOT LOCKER" LOCATE 1, 18: PRINT "FOOT LOCKER" LINE (40, 8)-(120, 16), 4, BF LINE (530, 19)-(610, 79), 6, BF LOCATE 2, 8: PRINT "STORAGE" CIRCLE (550, 44), 7, 4 PAINT (550, 44), 4 LINE (530, 8)-(610, 16), 4, BF LOCATE 2, 68: PRINT "SNEAKERS" LINE (213, 140)-(253, 155), 1, BF LOCATE 19, 28: PRINT "NIKE" LINE (213, 120)-(253, 135), 1, BF LINE (218, 122)-(248, 133), 15, BF CASE IS = 3.5 CASE IS = 4 FOR a = 5 TO 650 STEP 25 LINE (a, 80)-(a + 5, 125), 8, BF NEXT a LINE (0, 85)-(650, 87), 8, BF LINE (0, 125)-(650, 125), 8 PAINT (1, 61), 2, 8 LINE (300, 10)-(550, 65), 15, BF FOR a = 288 TO 558 STEP 32 LINE (a, 20)-(a + 20, 50), 0, BF LINE (300, 10)-(550, 65), 15, B CIRCLE (425, 10), 70, 15, , , .1 PAINT (425, 8), 15, 15 LINE (380, 65)-(470, 75), 15, BF NEXT a FOR a = 55 TO 75 STEP 4 LINE (380, a)-(470, a), 0 NEXT a LINE (0, 60)-(299, 60), 9 LINE (551, 60)-(650, 60), 9 PAINT (0, 0), 9, 15 FOR a = 0 TO 650 STEP 25 PAINT (a, 90), 2, 8 NEXT a LOCATE 12, 34: PRINT "-WHITE HOUSE-" PAINT (638, 90), 2, 8 LINE (0, 126)-(650, 150), 7, BF FOR a = 1 TO 650 STEP 60 LINE (a, 126)-(a + 15, 150), 8 NEXT a LINE (0, 195)-(650, 195), 14, , &HF00 LINE (4, 195)-(650, 195), 14, , &HF00 CASE IS = 4.5 CASE IS = 5 LINE (0, 71)-(650, 71), 7 'elevator 1 LINE (30, 5)-(125, 70), 5, BF LINE (45, 20)-(110, 70), 8, BF LINE (77.5, 20)-(77.5, 70), 7 COLOR 15 LOCATE 2, 6: PRINT "1 2 3 4 5" COLOR 14 LOCATE 2, 14: PRINT "X" COLOR 15 'desk LINE (170, 20)-(450, 50), 5, BF LINE (170, 50)-(170, 70), 5 LINE (450, 50)-(450, 70), 5 LINE (170, 35)-(450, 35), 15 LINE (280, 34)-(330, 20), 8, BF LINE (284, 21)-(325, 33), 7, BF LINE (170, 3)-(450, 16), 2, BF LOCATE 2, 31: PRINT "DESTROY SLIMEMAN!" LINE (495, 5)-(585, 70), 5, BF LINE (510, 20)-(570, 70), 8, BF LINE (540, 70)-(540, 20), 7 LOCATE 2, 64: PRINT "1 2 3 4 5" COLOR 14 LOCATE 2, 72: PRINT "X" COLOR 15 LINE (300, 45)-(330, 60), 6, BF LINE (300, 65)-(330, 70), 6, BF LINE (300, 61)-(300, 64), 15 LINE (330, 61)-(330, 64), 15 LINE (305, 71)-(305, 74), 15 LINE (301, 71)-(301, 76), 15 LINE (330, 71)-(330, 76), 15 LINE (326, 71)-(326, 74), 15 LINE (455, 50)-(490, 60), 7, BF LINE (455, 55)-(490, 70), 8, BF LINE (470, 63)-(475, 63), 15 LINE (455, 25)-(490, 45), 7, BF LINE (455, 35)-(490, 50), 8, BF LINE (470, 43)-(475, 43), 15 LINE (455, 14)-(490, 20), 7, BF LINE (455, 15)-(490, 30), 8, BF LINE (470, 23)-(475, 23), 15 LINE (130, 50)-(165, 60), 7, BF LINE (130, 55)-(165, 70), 8, BF LINE (145, 63)-(150, 63), 15 LINE (130, 25)-(165, 45), 7, BF LINE (130, 35)-(165, 50), 8, BF LINE (145, 43)-(150, 43), 15 LINE (130, 14)-(165, 20), 7, BF LINE (130, 15)-(165, 30), 8, BF LINE (145, 23)-(150, 23), 15 CIRCLE (180, 40), 5, 4 CIRCLE (180, 47), 5, 1 CIRCLE (210, 40), 5, 4 CIRCLE (210, 47), 5, 1 CIRCLE (240, 40), 5, 4 CIRCLE (240, 47), 5, 1 CIRCLE (270, 40), 5, 4 CIRCLE (270, 47), 5, 1 CIRCLE (300, 40), 5, 4 CIRCLE (330, 40), 5, 4 CIRCLE (360, 40), 5, 4 CIRCLE (360, 47), 5, 1 CIRCLE (390, 40), 5, 4 CIRCLE (390, 47), 5, 1 CIRCLE (420, 40), 5, 4 CIRCLE (420, 47), 5, 1 LINE (180, 40)-(190, 35), 4 LINE (210, 40)-(220, 35), 4 LINE (240, 40)-(250, 35), 4 LINE (270, 40)-(280, 35), 4 LINE (300, 40)-(310, 35), 4 LINE (330, 40)-(340, 35), 4 LINE (360, 40)-(370, 35), 4 LINE (390, 40)-(400, 35), 4 LINE (420, 40)-(430, 35), 4 LOCATE 4, 25: PRINT "CONTROL" LOCATE 4, 47: PRINT "PANEL" LOCATE 6, 63: PRINT "" LOCATE 6, 15: PRINT "" CASE IS = 5.5 SCREEN 9 CIRCLE (252, 155), 10, 12 '<---circle # 1 CIRCLE (272, 155), 10, 12 '<---circle # 3 PAINT (248, 156), 12, 12 PAINT (256, 155), 12, 0 PAINT (276, 153), 12, 12 LINE (262, 174)-(281, 160), 12 LINE (262, 174)-(246, 161), 12 PAINT (262, 170), 12, 12 DIM heart(200) GET (242, 148)-(283, 174), heart CLS LINE (341, 181)-(371, 170), 15 LINE (341, 181)-(361, 185), 15 LINE (361, 185)-(390, 171), 15 LINE (390, 171)-(370, 169), 15 LINE (396, 189)-(422, 193), 15 LINE (422, 193)-(442, 174), 15 LINE (442, 174)-(420, 171), 15 LINE (420, 171)-(395, 189), 15 LINE (341, 181)-(340, 201), 15 LINE (340, 201)-(359, 208), 15 LINE (359, 208)-(360, 185), 15 LINE (396, 189)-(395, 211), 15 LINE (395, 211)-(421, 215), 15 LINE (421, 215)-(421, 193), 15 LINE (358, 208)-(396, 212), 15 LINE (360, 195)-(395, 198), 15 LINE (360, 195)-(390, 183), 15 LINE (390, 183)-(391, 171), 15 LINE (391, 183)-(405, 183), 15 LINE (422, 214)-(460, 183), 15 LINE (460, 183)-(460, 147), 15 LINE (460, 147)-(442, 154), 15 LINE (442, 154)-(443, 174), 15 LINE (370, 170)-(371, 147), 15 LINE (371, 147)-(359, 131), 15 LINE (359, 131)-(359, 115), 15 LINE (359, 115)-(380, 102), 15 LINE (380, 102)-(374, 117), 15 LINE (374, 117)-(377, 134), 15 LINE (377, 134)-(432, 136), 15 LINE (434, 136)-(448, 120), 15 LINE (448, 120)-(445, 102), 15 LINE (446, 101)-(463, 119), 15 LINE (463, 119)-(462, 133), 15 LINE (463, 133)-(443, 153), 15 LINE (460, 147)-(473, 129), 15 LINE (473, 129)-(462, 133), 15 LINE (473, 129)-(475, 112), 15 LINE (475, 112)-(464, 120), 15 LINE (475, 112)-(458, 95), 15 LINE (458, 95)-(446, 100), 15 LINE (381, 102)-(393, 98), 15 LINE (393, 98)-(390, 115), 15 LINE (390, 115)-(375, 119), 15 LINE (390, 115)-(392, 127), 15 LINE (392, 127)-(378, 134), 15 LINE (392, 127)-(441, 129), 15 LINE (340, 210)-(350, 213), 15 LINE (350, 213)-(350, 205), 15 LINE (341, 203)-(340, 211), 15 LINE (350, 214)-(357, 211), 15 LINE (357, 211)-(357, 207), 15 LINE (412, 214)-(411, 222), 15 LINE (411, 222)-(420, 224), 15 LINE (420, 224)-(420, 215), 15 LINE (420, 224)-(427, 219), 15 LINE (427, 219)-(427, 210), 15 LINE (459, 184)-(460, 193), 15 LINE (460, 193)-(455, 197), 15 LINE (454, 197)-(454, 188), 15 LINE (456, 197)-(450, 197), 15 LINE (450, 197)-(450, 192), 15 LINE (421, 136)-(435, 136), 15 PAINT (404, 168), 6, 15 PAINT (398, 130), 6, 15 PAINT (385, 125), 6, 15 PAINT (383, 111), 6, 15 PAINT (462, 108), 6, 15 PAINT (468, 125), 6, 15 PAINT (458, 144), 6, 15 PAINT (449, 167), 6, 15 PAINT (419, 181), 6, 15 PAINT (363, 175), 6, 15 PAINT (349, 192), 6, 15 PAINT (371, 188), 6, 15 PAINT (385, 194), 6, 15 PAINT (373, 203), 6, 15 PAINT (404, 204), 6, 15 PAINT (345, 208), 7, 15 PAINT (352, 209), 7, 15 PAINT (414, 221), 7, 15 PAINT (424, 217), 7, 15 PAINT (452, 193), 7, 15 PAINT (456, 190), 7, 15 LINE (460, 193)-(659, 193), 15 LINE (341, 193)-(0, 193), 15 PAINT (0, 200), 8, 15 COLOR 9 LOCATE 3, 1: PRINT " SLIME MAN RULES!" COLOR 3 LOCATE 4, 1: PRINT " OUR GORILLA GANG RULES!" LINE (100, 25)-(250, 35), 4 LINE (110, 40)-(245, 28), 4 'boss meter LINE (570, 80)-(600, 162), 2, B LINE (575, 90)-(595, 152), 2, B 'slimeman meter LINE (350, 15)-(600, 40), 2, B LINE (370, 20)-(580, 35), 2, BF LOCATE 1, 5: PRINT " SLIMEMAN'S LIFE" LINE (576, 91)-(594, 91 + 12), 1, BF LINE (576, 91 + 12)-(594, 91 + 24), 2, BF LINE (576, 91 + 24)-(594, 91 + 36), 14, BF LINE (576, 91 + 36)-(594, 91 + 48), 12, BF LINE (576, 91 + 48)-(594, 91 + 60), 4, BF LOCATE 6, 1: PRINT " BOSS " 'elevator 1 LINE (30, 65)-(125, 192), 5, BF LINE (45, 90)-(110, 192), 8, BF LINE (77.5, 90)-(77.5, 192), 7 COLOR 15 LOCATE 6, 6: PRINT "1 2 3 4 5" COLOR 14 LOCATE 6, 14: PRINT "5" COLOR 15 LOCATE 10, 15: PRINT "" END SELECT SLEEP END SUB SUB instructions (file$) OPEN file$ FOR INPUT AS #1 DIM lines$(500) DO WHILE NOT EOF(1) s = s + 1 LINE INPUT #1, lines$(s) LOOP top = 1 SCREEN 0, 0, 1, 0 DO COLOR 14, 1 CLS LOCATE 25, 1 PRINT " Use , , PgUp, PgDn, Home, and End to move. Press Esc to return to menu."; LOCATE 1, 1 FOR i = top TO top + 22 PRINT lines$(i) NEXT PCOPY 1, 0 t: t$ = "" DO WHILE t$ = "" t$ = INKEY$ LOOP IF RIGHT$(t$, 1) = "H" THEN IF top <> 1 THEN top = top - 1 IF RIGHT$(t$, 1) = "P" THEN IF top + 22 <= s THEN top = top + 1 IF t$ = CHR$(0) + "I" THEN IF top <> 1 THEN top = top - 22: IF top <= 0 THEN top = 1 IF t$ = CHR$(0) + "Q" THEN IF top + 22 <= s THEN top = top + 22: IF top >= s THEN top = s IF t$ = CHR$(0) + "G" THEN top = 1 IF t$ = CHR$(0) + "O" THEN top = s - 22 IF t$ = CHR$(27) THEN CLOSE #1: SCREEN 8: EXIT SUB LOOP END SUB SUB levelintro (lvl, title$) CLS SCREEN 13 FOR a = 1 TO 10000000 NEXT a 'SLEEP 3 cntr = 20 - (LEN(title$) / 2) + 1 FOR a = 16 TO 31 COLOR a LOCATE 10, 1: PRINT " LEVEL "; PRINT lvl LOCATE 11, 1: PRINT " ~~~~~ ~~~" LOCATE 12, cntr: PRINT UCASE$(title$) FOR B = 1 TO 300000 NEXT B NEXT a FOR a = 1 TO 10000000 NEXT a FOR a = 31 TO 16 STEP -1 COLOR a LOCATE 10, 1: PRINT " LEVEL "; PRINT lvl LOCATE 11, 1: PRINT " ~~~~~ ~~~" LOCATE 12, cntr: PRINT UCASE$(title$) FOR B = 1 TO 120000 NEXT B NEXT a END SUB SUB options CLS SCREEN 8 COLOR 2 PRINT PRINT " OPTIONS" PRINT " ~~~~~~~" PRINT PRINT " Difficulty: EASY NORMAL HARD" PRINT PRINT " Music: ON OFF" PRINT PRINT " Sound: ON OFF" PRINT PRINT PRINT " PRESS ESCAPE TO RETURN TO THE MAIN MENU" PRINT PRINT STRING$(80, "Ф") PRINT PRINT " If you are interested in more Cyber Pro software, then contact us at:" PRINT " ..." PRINT PRINT " Mike Maset: m1xeleet@gmail.com" PRINT PRINT " Josh Revelle: CPJosh@juno.com" COLOR 14 IF difficulty = 1 THEN LOCATE 5, 40: PRINT "EASY" IF difficulty = 2 THEN LOCATE 5, 46: PRINT "NORMAL" IF difficulty = 3 THEN LOCATE 5, 54: PRINT "HARD" IF msc$ = "yes" THEN LOCATE 7, 43: PRINT "ON" IF msc$ = "no" THEN LOCATE 7, 49: PRINT "OFF" IF snd$ = "yes" THEN LOCATE 9, 43: PRINT "ON" IF snd$ = "no" THEN LOCATE 9, 49: PRINT "OFF" LOCATE 5, 27: PRINT "Difficulty:" location = 1 DO SELECT CASE INKEY$ CASE IS = CHR$(0) + "H" IF location = 2 THEN COLOR 2: LOCATE 7, 32: PRINT "Music:": COLOR 14: LOCATE 5, 27: PRINT "Difficulty:": location = 1 IF location = 3 THEN COLOR 2: LOCATE 9, 32: PRINT "Sound:": COLOR 14: LOCATE 7, 32: PRINT "Music:": location = 2 CASE IS = CHR$(0) + "P" IF location = 2 THEN COLOR 2: LOCATE 7, 32: PRINT "Music:": COLOR 14: LOCATE 9, 32: PRINT "Sound:": location = 3 IF location = 1 THEN COLOR 2: LOCATE 5, 27: PRINT "Difficulty:": COLOR 14: LOCATE 7, 32: PRINT "Music:": location = 2 CASE IS = CHR$(0) + "M" IF location = 1 AND difficulty = 2 THEN COLOR 2: LOCATE 5, 46: PRINT "NORMAL": COLOR 14: LOCATE 5, 54: PRINT "HARD": difficulty = 3 IF location = 1 AND difficulty = 1 THEN COLOR 2: LOCATE 5, 40: PRINT "EASY": COLOR 14: LOCATE 5, 46: PRINT "NORMAL": difficulty = 2 IF location = 2 AND msc$ = "yes" THEN COLOR 2: LOCATE 7, 43: PRINT "ON": COLOR 14: LOCATE 7, 49: PRINT "OFF": msc$ = "no" IF location = 3 AND snd$ = "yes" THEN COLOR 2: LOCATE 9, 43: PRINT "ON": COLOR 14: LOCATE 9, 49: PRINT "OFF": snd$ = "no" CASE IS = CHR$(0) + "K" IF location = 1 AND difficulty = 2 THEN COLOR 2: LOCATE 5, 46: PRINT "NORMAL": COLOR 14: LOCATE 5, 40: PRINT "EASY": difficulty = 1 IF location = 1 AND difficulty = 3 THEN COLOR 2: LOCATE 5, 54: PRINT "HARD": COLOR 14: LOCATE 5, 46: PRINT "NORMAL": difficulty = 2 IF location = 2 AND msc$ = "no" THEN COLOR 2: LOCATE 7, 49: PRINT "OFF": COLOR 14: LOCATE 7, 43: PRINT "ON": msc$ = "yes" IF location = 3 AND snd$ = "no" THEN COLOR 2: LOCATE 9, 49: PRINT "OFF": COLOR 14: LOCATE 9, 43: PRINT "ON": snd$ = "yes" CASE IS = CHR$(27) 'OPEN "c:\temp_sm\options.set" FOR OUTPUT AS #1 ' PRINT msc$ ' PRINT snd$ ' PRINT difficulty 'CLOSE #1 GOTO ender END SELECT LOOP ender: END SUB