'ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» 'º º 'º º 'º * * MR. SMILEY * * º 'º (adventures) º 'º * * * * º 'º ***** Made by Steve Nunnally ***** º 'º º 'º º º 'º ÀÄÙ º 'º º 'ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ 'º º 'º This time Mr. Smiley finds himself helping bouncing º 'º all around trying to destroy the evil bricks O' death.º 'º Destroy them all and help save the galaxy once again. º 'º Anyways I hope you like it. For any questions or tips º 'º e-mail at nunnally@pinn.net Please visit my homepage º 'º http://www.pinn.net/~nunnally Thank You. º 'º -Steve Nunnally º 'º º 'ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ' ' This program was made by Steve Nunnally. Copyright (C) 1997 'All of this code was written by me, Steve Nunnally. DO NOT copy 'this code unless you have my permission! And you MAY NOT change 'the name in this paragraph to your name. ' DIM SHARED Lives AS INTEGER DIM SHARED level AS INTEGER DIM SHARED Score AS INTEGER DIM SHARED Paddle(50) DIM SHARED Ball(75) DIM SHARED Block(100) DIM SHARED RedBlock(100) DIM SHARED GreenBlock(100) DIM SHARED BlueBlock(100) DIM SHARED YellowBlock(100) DIM SHARED up AS INTEGER DIM SHARED over AS INTEGER DIM SHARED s(1 TO 11) AS STRING DIM SHARED bover AS INTEGER DIM SHARED dir AS INTEGER DIM SHARED nothing(100) DIM SHARED speed AS SINGLE RANDOMIZE TIMER CLS : SCREEN 12 'Your little paddle LINE (25, 30)-(75, 30), 10 LINE (24, 31)-(76, 31), 10 LINE (23, 32)-(77, 32), 2 LINE (23, 33)-(77, 33), 2 LINE (23, 34)-(77, 34), 2 LINE (24, 35)-(76, 35), 10 LINE (25, 36)-(75, 36), 10 'The ball, how exciting CIRCLE (125, 30), 8, 14: PAINT (125, 30), 14 CIRCLE (125, 30), 5, 0, 3, .1 CIRCLE (123, 25), 1, 0: CIRCLE (127, 25), 1, 0 'A brick, oooo, wow LINE (225, 30)-(255, 50), 7, BF LINE (225, 30)-(255, 50), 8, B LINE (227, 32)-(253, 48), 8, B LINE (325, 30)-(355, 50), 4, BF LINE (327, 32)-(353, 48), 8, B LINE (326, 31)-(354, 49), 7, B LINE (325, 30)-(355, 50), 8, B LINE (425, 30)-(455, 50), 2, BF LINE (425, 30)-(455, 50), 8, B LINE (427, 32)-(453, 48), 8, B LINE (426, 31)-(454, 49), 7, B LINE (525, 30)-(555, 50), 1, BF LINE (525, 30)-(555, 50), 8, B LINE (527, 32)-(553, 48), 8, B LINE (526, 31)-(554, 49), 7, B LINE (580, 30)-(610, 50), 14, BF LINE (580, 30)-(610, 50), 8, B LINE (582, 32)-(608, 48), 8, B LINE (581, 31)-(609, 49), 7, B 'Get them drawings GET (225, 30)-(255, 50), Block GET (325, 30)-(355, 50), RedBlock GET (425, 30)-(455, 50), GreenBlock GET (525, 30)-(555, 50), BlueBlock GET (580, 30)-(610, 50), YellowBlock GET (117, 22)-(133, 38), Ball GET (23, 30)-(77, 36), Paddle GET (325, 130)-(355, 150), nothing CLS : COLOR 15: PRINT "": PRINT "": PRINT "": PRINT "" PRINT " This time Mr. Smiley finds himself bouncing all around trying to" PRINT " destroy the evil bricks O' death. Destroy them all and help save the" PRINT " galaxy once again. Go now, good luck!!!" PRINT " -Steve Nunnally" PRINT "": PRINT "" PRINT " PRESS ENTER" PRINT "": PRINT "" PRINT " Controls:": PRINT "" COLOR 10 PRINT " Use the " + CHR$(17) + " to go left." PRINT " Use the " + CHR$(16) + " to go right." COLOR 11 PRINT " Use the s to skip a level." PRINT " Use the p to pause the game." PRINT " Use the q to quit the game." PRINT "": PRINT "" COLOR 4 PRINT " Red Blocks Û "; CHR$(16) COLOR 1: LOCATE 23, 23: PRINT " Û Become Blue Blocks" PRINT " Blue Blocks Û "; CHR$(16) COLOR 2: LOCATE 24, 23: PRINT " Û Become Green Blocks" PRINT " Green Blocks Û "; CHR$(16) COLOR 14: LOCATE 25, 23: PRINT " Û Become Yellow Blocks" PRINT " Yellow Blocks Û "; CHR$(16) COLOR 7: LOCATE 26, 23: PRINT " Û Become Normal Blocks" WHILE INKEY$ <> CHR$(13): WEND CLS COLOR 15: LOCATE 6, 1: PRINT "Enter speed! 1 - 9. Ten being fast, one being slow." DO key$ = INKEY$ SELECT CASE key$ CASE "1": speed! = 251: GOTO Gotspeed CASE "2": speed! = 221: GOTO Gotspeed CASE "3": speed! = 151: GOTO Gotspeed CASE "4": speed! = 71: GOTO Gotspeed CASE "5": speed! = 41: GOTO Gotspeed CASE "6": speed! = 21: GOTO Gotspeed CASE "7": speed! = 15: GOTO Gotspeed CASE "8": speed! = 10: GOTO Gotspeed CASE "9": speed! = 5: GOTO Gotspeed END SELECT LOOP Gotspeed: speed! = speed! * 100 level = 0: Lives = 2: Score = -50 MakeLevel: level = level + 1: Lives = Lives + 1 Score = Score + 50: x = 0: CLS IF level = 1 THEN GOSUB LevelOne IF level = 2 THEN GOSUB LevelTwo IF level = 3 THEN GOSUB LevelThree IF level = 4 THEN GOSUB LevelFour IF level = 5 THEN GOSUB LevelFive IF level = 6 THEN GOSUB LevelSix IF level = 7 THEN GOSUB LevelSeven IF level = 8 THEN GOSUB LevelEight IF level = 9 THEN GOSUB LevelNine IF level = 10 THEN GOSUB LevelTen IF level = 11 THEN GOSUB BeatGame COLOR 15: LOCATE 1, 5: PRINT "Lives : Score :" FOR k = 1 TO Lives COLOR 10: LOCATE 1, k + 12: PRINT "-" NEXT COLOR 15: LOCATE 1, 36: PRINT Score COLOR 9: LOCATE 20, 20: PRINT " Get ready for level "; level; "." COLOR 15: LOCATE 21, 20: PRINT " PRESS ENTER " WHILE INKEY$ <> CHR$(13): WEND LOCATE 20, 20: PRINT " " LOCATE 21, 20: PRINT " " l = -20: w = 30: v = 0 FOR i = 1 TO 11 B = 0: v = v + 1 FOR t = 1 TO 19 B = B + 1 l = l + 31 IF MID$(s$(v), B, 1) = "o" THEN PUT (l, w), Block, PSET IF MID$(s$(v), B, 1) = "r" THEN PUT (l, w), RedBlock, PSET IF MID$(s$(v), B, 1) = "g" THEN PUT (l, w), GreenBlock, PSET IF MID$(s$(v), B, 1) = "b" THEN PUT (l, w), BlueBlock, PSET IF MID$(s$(v), B, 1) = "y" THEN PUT (l, w), YellowBlock, PSET IF MID$(s$(v), B, 1) = "1" THEN PUT (l, w), nothing, PSET NEXT l = -20: w = w + 21 NEXT over = 285: bover = INT(RND * 450) + 20: up = 360: dir = 1 PUT (bover, up), Ball PUT (over, 440), Paddle DO PUT (bover, up), Ball, XOR IF p = 1 THEN l = -20: w = (21 * n) + 9: B = 0: Score = Score + 1 FOR t = 1 TO 19 B = B + 1 l = l + 31 IF MID$(s$(n), B, 1) = "o" THEN PUT (l, w), Block, PSET IF MID$(s$(n), B, 1) = "r" THEN PUT (l, w), RedBlock, PSET IF MID$(s$(n), B, 1) = "g" THEN PUT (l, w), GreenBlock, PSET IF MID$(s$(n), B, 1) = "b" THEN PUT (l, w), BlueBlock, PSET IF MID$(s$(n), B, 1) = "y" THEN PUT (l, w), YellowBlock, PSET IF MID$(s$(n), B, 1) = "1" THEN PUT (l, w), nothing, PSET NEXT p = 0 COLOR 15: LOCATE 1, 36: PRINT Score END IF h = 0 IF dir = 1 THEN bover = bover + 1: up = up - 1 IF dir = 2 THEN bover = bover - 1: up = up - 1 IF dir = 3 THEN bover = bover - 1: up = up + 1 IF dir = 4 THEN bover = bover + 1: up = up + 1 PUT (bover, up), Ball IF dir = 3 AND up >= 423 AND up <= 429 AND bover > over - 6 AND bover < over + 60 THEN dir = 2 IF dir = 4 AND up >= 423 AND up <= 429 AND bover > over - 6 AND bover < over + 60 THEN dir = 1 IF dir = 1 AND bover > 620 THEN dir = 2 IF dir = 2 AND bover < 10 THEN dir = 1 IF dir = 3 AND bover < 10 THEN dir = 4 IF dir = 4 AND bover > 620 THEN dir = 3 IF dir = 1 AND up < 10 THEN dir = 4 IF dir = 2 AND up < 10 THEN dir = 3 IF dir = 3 AND up > 460 THEN GOSUB Missed IF dir = 4 AND up > 460 THEN GOSUB Missed mir = dir IF dir = 1 AND POINT(bover + 17, up + 8) <> 0 THEN dir = 2: h = 1 IF dir = 2 AND POINT(bover - 1, up + 8) <> 0 THEN dir = 1: h = 1 IF dir = 3 AND POINT(bover - 1, up + 8) <> 0 AND POINT(bover - 1, up + 8) <> 10 THEN dir = 4: h = 1 IF dir = 4 AND POINT(bover + 17, up + 8) <> 0 AND POINT(bover + 17, up + 8) <> 10 THEN dir = 3: h = 1 IF dir = 1 AND POINT(bover + 8, up - 1) <> 0 THEN dir = 4: h = 2 IF dir = 2 AND POINT(bover + 8, up - 1) <> 0 THEN dir = 3: h = 2 IF dir = 3 AND POINT(bover + 8, up + 17) <> 0 AND POINT(bover + 8, up + 17) <> 10 THEN dir = 2: h = 2 IF dir = 4 AND POINT(bover + 8, up + 17) <> 0 AND POINT(bover + 8, up + 17) <> 10 THEN dir = 1: h = 2 IF h = 1 THEN r = bover / 31: r = INT(r) IF mir = 1 OR mir = 4 THEN r = r + 2 IF r < 1 THEN r = 1 IF r > 19 THEN r = 19 n = up / 21: n = INT(n) IF n < 1 THEN n = 1 IF n > 11 THEN n = 11 IF MID$(s$(n), r, 1) = "o" THEN MID$(s$(n), r, 1) = "1" IF MID$(s$(n), r, 1) = "y" THEN MID$(s$(n), r, 1) = "o" IF MID$(s$(n), r, 1) = "g" THEN MID$(s$(n), r, 1) = "y" IF MID$(s$(n), r, 1) = "b" THEN MID$(s$(n), r, 1) = "g" IF MID$(s$(n), r, 1) = "r" THEN MID$(s$(n), r, 1) = "b" p = 1 END IF IF h = 2 THEN r = bover / 31: r = INT(r): r = r + 1 IF r < 1 THEN r = 1 IF r > 19 THEN r = 19 n = up / 21: n = INT(n) IF mir = 1 OR mir = 2 THEN n = n - 1 IF mir = 3 OR mir = 4 THEN n = n + 1 IF n < 1 THEN n = 1 IF n > 11 THEN n = 11 IF MID$(s$(n), r, 1) = "o" THEN MID$(s$(n), r, 1) = "1" IF MID$(s$(n), r, 1) = "y" THEN MID$(s$(n), r, 1) = "o" IF MID$(s$(n), r, 1) = "g" THEN MID$(s$(n), r, 1) = "y" IF MID$(s$(n), r, 1) = "b" THEN MID$(s$(n), r, 1) = "g" IF MID$(s$(n), r, 1) = "r" THEN MID$(s$(n), r, 1) = "b" p = 1 END IF key$ = INKEY$ SELECT CASE key$ CASE CHR$(0) + "K" PUT (over, 440), Paddle, XOR over = over - 35 IF over < 0 THEN over = 0 PUT (over, 440), Paddle CASE CHR$(0) + "M" PUT (over, 440), Paddle, XOR over = over + 35 IF over > 585 THEN over = 585 PUT (over, 440), Paddle CASE "s": GOSUB MakeLevel CASE "q": GOSUB GoodBye CASE "p" COLOR 15: LOCATE 21, 20: PRINT "GAME PAUSED : PRESS ENTER TO CONTINUE" WHILE INKEY$ <> CHR$(13): WEND LOCATE 21, 20: PRINT " " END SELECT FOR dingy! = 1 TO speed! NEXT dingy! x = x + 1 IF x = 12 THEN GOSUB MakeLevel IF INSTR(s$(x), "o") OR INSTR(s$(x), "r") OR INSTR(s$(x), "b") OR INSTR(s$(x), "g") OR INSTR(s$(x), "y") THEN x = 0 LOOP UNTIL key$ = CHR$(27) END Missed: COLOR 9: LOCATE 20, 20: PRINT "You missed the ball, good job. HAHA!!!" COLOR 15: LOCATE 21, 20: PRINT " PRESS ENTER " Lives = Lives - 1 IF Lives < 0 THEN GOSUB LostGame LOCATE 1, 5: PRINT "Lives : Score :" FOR k = 1 TO Lives COLOR 10: LOCATE 1, k + 12: PRINT "-" NEXT WHILE INKEY$ <> CHR$(13): WEND COLOR 9: LOCATE 20, 20: PRINT " " COLOR 15: LOCATE 21, 20: PRINT " " PUT (bover, up), Ball, XOR bover = INT(RND * 450) + 20: up = 360: dir = 1 PUT (bover, up), Ball RETURN GoodBye: COLOR 15: LOCATE 21, 20: PRINT "Are you sure you want to quit(y or n)?" DO key$ = INKEY$ SELECT CASE key$ CASE "n": LOCATE 21, 20: PRINT " ": RETURN END SELECT LOOP UNTIL key$ = "y" SYSTEM BeatGame: COLOR 9: LOCATE 20, 20: PRINT "Congrat's, you beat a really hard game!" COLOR 15: LOCATE 21, 20: PRINT " PRESS ENTER " WHILE INKEY$ <> CHR$(13): WEND SYSTEM LostGame: COLOR 9: LOCATE 20, 20: PRINT "You have no lives left, try again!!!!!" COLOR 15: LOCATE 21, 20: PRINT " PRESS ENTER " WHILE INKEY$ <> CHR$(13): WEND SYSTEM LevelOne: s$(1) = " " s$(2) = " o o ooo o o oooo " s$(3) = " o o o o o o o " s$(4) = " o o o o o o o " s$(5) = " oooo ooo o o o o " s$(6) = " o o o o o o o " s$(7) = " o o o o o o o " s$(8) = " o o ooo o o oooo " s$(9) = " " s$(10) = " ooooooooooooooooo " s$(11) = " ooooooooooooooooo " RETURN LevelTwo: s$(1) = " oo oo " s$(2) = " oo oo " s$(3) = " ooooooo " s$(4) = " ooooooo " s$(5) = " oo o oo " s$(6) = " ooooo " s$(7) = " ooooo " s$(8) = " oo oo " s$(9) = " o ooo o " s$(10) = " oo oo " s$(11) = " oo oo " RETURN LevelThree: s$(1) = " ooo " s$(2) = " ooo " s$(3) = " g ooooooo g " s$(4) = " gg ybyby gg " s$(5) = " g yyyyy g " s$(6) = " gyyryyg " s$(7) = " yyyyyyy " s$(8) = " yyyyyyy " s$(9) = " yyyyyyy " s$(10) = " yyyyy " s$(11) = " gg gg " RETURN LevelFour: s$(1) = " " s$(2) = " yyyyyyyyyyyyy " s$(3) = " yy yyyyyyy yy " s$(4) = " yyy yyyyyyy yyy " s$(5) = " yyyyyyyyyyyyyyyyy " s$(6) = " y yyyyyyyyyyy y " s$(7) = " yy yyyyyyyyy yy " s$(8) = " yyy yyyyyyy yyy " s$(9) = " yyy yyy " s$(10) = " yyyyyyyyyyyyy " s$(11) = " " RETURN LevelFive: s$(1) = "bbbrrrbbyyybbrrrbbb" s$(2) = "bbbr rbbbybbbr rbbb" s$(3) = "bbbrrrbbbbbbbrrrbbb" s$(4) = " r r r r r r " s$(5) = " r r r r r r " s$(6) = " rrr rrr " s$(7) = " r r " s$(8) = " r r " s$(9) = " r r r r " s$(10) = " r r r r " s$(11) = " ggggggggggggggggg " RETURN LevelSix: s$(1) = "bbbbbbbbr orooyo " s$(2) = " oo yooooooor" s$(3) = " oooooooooooo " s$(4) = " oooooob " s$(5) = " " s$(6) = " bbb " s$(7) = " yybbbbbyy " s$(8) = " y bb bb y " s$(9) = " yyyyyyyyy " s$(10) = " bb bb " s$(11) = " b b " RETURN LevelSeven: s$(1) = " o " s$(2) = " o yyyyyyy " s$(3) = " o yrrrrry y " s$(4) = " o yrrrrrry y " s$(5) = "yyyrrrrrrryyyyyyyyy" s$(6) = "yrrrrrrrrrrrrrrrrry" s$(7) = "yrrrrrrrrrrrrrrrrry" s$(8) = "yryyyrrrrrrryyyrrry" s$(9) = "yybbbyyyyyyybbbyyyy" s$(10) = " bbb bbb " s$(11) = " " RETURN LevelEight: s$(1) = " " s$(2) = " rbgygbrbgygbrbgyr " s$(3) = " brbgygbrbgygbrbgy " s$(4) = " gbrbgygbrbgygbrbg " s$(5) = " ygbrbgygbrbgygbrb " s$(6) = " gygbrbgygbrbgygbr " s$(7) = " bgygbrbgygbrbgygb " s$(8) = " rbgygbrbgygbrbgyg " s$(9) = " brbgygbrbgygbrbgy " s$(10) = " gbrbgygbrbgygbrbg " s$(11) = " ygbrbgygbrbgygbrb " RETURN LevelNine: s$(1) = " " s$(2) = " bbbbbbbbbbbbybyby " s$(3) = " bbbboobbbbbbbyyyb " s$(4) = " bboooooboobbyyyyy " s$(5) = " bbboobbbboobbyyyb " s$(6) = " bbbbbbbbbbbbybyby " s$(7) = " obbbooobbbbbbbbbb " s$(8) = " oobbboooobbbbbbbb " s$(9) = " oobbbbbbbbooobbbb " s$(10) = " bbbbbbbboooobbbbb " s$(11) = " ooobbbbbbbooobbbb " RETURN LevelTen: s$(1) = " " s$(2) = " rrrrrrrrrrrrrrrrr " s$(3) = " rrrrrrrrrrrrrrrrr " s$(4) = " rrrrrrrrrrrrrrrrr " s$(5) = " rrrrrrrrrrrrrrrrr " s$(6) = " rrrrrrrrrrrrrrrrr " s$(7) = " rrrrrrrrrrrrrrrrr " s$(8) = " rrrrrrrrrrrrrrrrr " s$(9) = " rrrrrrrrrrrrrrrrr " s$(10) = " rrrrrrrrrrrrrrrrr " s$(11) = " rrrrrrrrrrrrrrrrr " RETURN