Author Topic: ascii man - not perfect and needs more work (pacman) code free  (Read 2175 times)

0 Members and 1 Guest are viewing this topic.

Offline PMACKAY

  • Forum Regular
  • Posts: 188
  • LIFE is Temporary
just a silly pacman in ascII characters. not complete but is able to play. needs more work but i got bored
if someone messes with this i would like to see it completed

there are still bugs. just read through the code for keys

dont care if no mention of me when compiled. this was just me being bored getting back into programing.

DOWNLOAD BASIC FILE OR THE LINUX.BIN FILE
----------------------------------------------------------------------------------------------------------------------------------------------
Code: QB64: [Select]
  1. DIM DSP$(32), GHOST%(4, 2)
  2. HIGHSCORE = 0
  3. GOSUB MAP
  4. GOTO TITLE
  5.  
  6. NEWGAME:
  7. SCORE = 0: GMO = 0: GOSUB FPS: LIVES = 3: TMR% = 0: DR% = 3: G1% = 1: G2% = 4: G3% = 4: G4% = 4: G5% = 32: G6% = 32: G7% = 32: G8% = 32: GH1% = 0
  8. FOR I = 0 TO 15: PALETTE I, I: NEXT I
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15. MAINBRANCH: LOCATE PACY%, PACX%: PRINT " ";: B% = DR%: XK% = _KEYHIT: IF XK% = 18432 THEN DR% = 1 ELSE IF XK% = 20480 THEN DR% = 2 ELSE IF XK% = 19200 THEN DR% = 3 ELSE IF XK% = 19712 THEN DR% = 4 ELSE IF XK% = 27 THEN END
  16. IF DR% = 1 THEN GOSUB CHECK1 ELSE IF DR% = 2 THEN GOSUB CHECK2 ELSE IF DR% = 3 THEN GOSUB CHECK3 ELSE IF DR% = 4 THEN GOSUB CHECK4
  17. TMR% = TMR% + 1: IF TMR% > 200 THEN GOSUB CHECK5
  18. IF GMO = 0 AND TMR% = 100 THEN GOSUB allghostmove
  19. TMR1% = TMR1% + 1: IF TMR1% = 150 THEN PALETTE 4, 4: SPECIAL% = 0: TMR1% = 0
  20. LOCATE PACY%, PACX%: COLOR 15: PRINT "";: LOCATE 32, 1: PRINT "LIVES ="; LIVES; "  SCORE ="; SCORE;: _DELAY .07: _DISPLAY
  21. GOSUB GHOST1: _DISPLAY: IF SPECIAL% = 1 THEN PALETTE 4, 3: _DISPLAY
  22. IF TMR% = 100 THEN GOSUB MOVEOUT
  23. IF DOT = 0 THEN GOTO NEWLEVEL
  24. GOTO MAINBRANCH
  25.  
  26.  
  27.  
  28. MOVEOUT:
  29. IF GH1% = 1 THEN GHOST%(1, 1) = 12: GHOST%(1, 2) = 12: GH1% = 0: GOTO GH ELSE IF GH2% = 1 THEN GHOST%(2, 1) = 12: GHOST%(2, 2) = 13: GH2% = 0: GOTO GH ELSE IF GH3% = 1 THEN GHOST%(3, 1) = 12: GHOST%(3, 2) = 14: GH3% = 0: GOTO GH ELSE IF GH4% = 1 THEN GHOST%(4, 1) = 12: GHOST%(4, 2) = 15: GH4% = 0: GOTO GH
  30. GH:
  31. LOCATE 14, 12: PRINT "      ";: LOCATE 15, 12: PRINT "      ";: LOCATE 16, 12: PRINT "      ";: RETURN
  32. allghostmove: LOCATE GHOST%(1, 1), GHOST%(1, 2): PRINT " ";: LOCATE GHOST%(2, 1), GHOST%(2, 2): PRINT " ";: LOCATE GHOST%(3, 1), GHOST%(3, 2): PRINT " ";: LOCATE GHOST%(4, 1), GHOST%(4, 2): PRINT " ";: FOR I% = 1 TO 4: GHOST%(I%, 1) = 12: NEXT I%: COLOR 10: LOCATE GHOST%(1, 1), GHOST%(1, 2): PRINT "";: COLOR 12: LOCATE GHOST%(2, 1), GHOST%(2, 2): PRINT "";: COLOR 13: LOCATE GHOST%(3, 1), GHOST%(3, 2): PRINT "";: COLOR 9: LOCATE GHOST%(4, 1), GHOST%(4, 2): PRINT "";: LOCATE PACY%, PACX%: COLOR 15: PRINT "";: _DISPLAY: GMO = 1: RETURN
  33. GHOST1: LOCATE GHOST%(1, 1), GHOST%(1, 2): IF G5% = 233 THEN COLOR 31: PRINT CHR$(G5%);: ELSE COLOR 14: PRINT CHR$(G5%);: GX% = GHOST%(1, 1): GY% = GHOST%(1, 2)
  34. IF RND(1) < .1 THEN G1% = INT(RND(1) * 4) + 1: GOTO SKP ELSE IF GY% < 1 THEN G1% = 4: GOTO SKP ELSE IF GY% > 28 THEN G1% = 3: GOTO SKP
  35.     CASE 1
  36.         T% = SCREEN(GX% - 1, GY%)
  37.         IF T% = 2 AND SPECIAL% = 0 THEN END
  38.         IF T% = 32 THEN GX% = GX% - 1: G5% = T%: GOTO SKP
  39.         IF T% = 249 THEN GX% = GX% - 1: G5% = T%: GOTO SKP
  40.         IF T% = 233 THEN GX% = GX% - 1: G5% = T%: GOTO SKP
  41.         G1% = INT(RND(1) * 4) + 1
  42.     CASE 2
  43.         T% = SCREEN(GX% + 1, GY%)
  44.         IF T% = 2 AND SPECIAL% = 0 THEN END
  45.         IF T% = 32 THEN GX% = GX% + 1: G5% = T%: GOTO SKP
  46.         IF T% = 249 THEN GX% = GX% + 1: G5% = T%: GOTO SKP
  47.         IF T% = 233 THEN GX% = GX% + 1: G5% = T%: GOTO SKP
  48.         G1% = INT(RND(1) * 4) + 1
  49.     CASE 3
  50.         T% = SCREEN(GX%, GY% - 1)
  51.         IF T% = 2 AND SPECIAL% = 0 THEN END
  52.         IF T% = 32 THEN GY% = GY% - 1: G5% = T%: GOTO SKP
  53.         IF T% = 249 THEN GY% = GY% - 1: G5% = T%: GOTO SKP
  54.         G1% = INT(RND(1) * 4) + 1
  55.     CASE 4
  56.         T% = SCREEN(GX%, GY% + 1)
  57.         IF T% = 2 AND SPECIAL% = 0 THEN END
  58.         IF T% = 32 THEN GY% = GY% + 1: G5% = T%: GOTO SKP
  59.         IF T% = 249 THEN GY% = GY% + 1: G5% = T%: GOTO SKP
  60.         G1% = INT(RND(1) * 4) + 1
  61.         SKP:
  62. GHOST%(1, 1) = GX%: GHOST%(1, 2) = GY%: COLOR 10: LOCATE GHOST%(1, 1), GHOST%(1, 2): PRINT "";
  63.  
  64. LOCATE GHOST%(2, 1), GHOST%(2, 2): IF G6% = 233 THEN COLOR 31: PRINT CHR$(G6%);: ELSE COLOR 14: PRINT CHR$(G6%);
  65. GX% = GHOST%(2, 1): GY% = GHOST%(2, 2)
  66. IF RND(1) < .2 THEN G2% = INT(RND(1) * 4) + 1: GOTO SKP1
  67. IF GY% < 1 THEN G2% = 4: GOTO SKP1
  68. IF GY% > 28 THEN G2% = 3: GOTO SKP1
  69.     CASE 1
  70.         T% = SCREEN(GX% - 1, GY%)
  71.         IF T% = 2 AND SPECIAL% = 0 THEN END
  72.         IF T% = 32 THEN GX% = GX% - 1: G6% = T%: GOTO SKP1
  73.         IF T% = 249 THEN GX% = GX% - 1: G6% = T%: GOTO SKP1
  74.         IF T% = 233 THEN GX% = GX% - 1: G6% = T%: GOTO SKP1
  75.         G2% = INT(RND(1) * 4) + 1
  76.     CASE 2
  77.         T% = SCREEN(GX% + 1, GY%)
  78.         IF T% = 2 AND SPECIAL% = 0 THEN END
  79.         IF T% = 32 THEN GX% = GX% + 1: G6% = T%: GOTO SKP1
  80.         IF T% = 249 THEN GX% = GX% + 1: G6% = T%: GOTO SKP1
  81.         IF T% = 233 THEN GX% = GX% + 1: G6% = T%: GOTO SKP1
  82.         G2% = INT(RND(1) * 4) + 1
  83.     CASE 3
  84.         T% = SCREEN(GX%, GY% - 1)
  85.         IF T% = 2 AND SPECIAL% = 0 THEN END
  86.         IF T% = 32 THEN GY% = GY% - 1: G6% = T%: GOTO SKP1
  87.         IF T% = 249 THEN GY% = GY% - 1: G6% = T%: GOTO SKP1
  88.         G2% = INT(RND(1) * 4) + 1
  89.     CASE 4
  90.         T% = SCREEN(GX%, GY% + 1)
  91.         IF T% = 2 AND SPECIAL% = 0 THEN END
  92.         IF T% = 32 THEN GY% = GY% + 1: G6% = T%: GOTO SKP1
  93.         IF T% = 249 THEN GY% = GY% + 1: G6% = T%: GOTO SKP1
  94.         G2% = INT(RND(1) * 4) + 1
  95.         SKP1:
  96. GHOST%(2, 1) = GX%: GHOST%(2, 2) = GY%: COLOR 11: LOCATE GHOST%(2, 1), GHOST%(2, 2): PRINT "";
  97.  
  98. LOCATE GHOST%(3, 1), GHOST%(3, 2): IF G7% = 233 THEN COLOR 31: PRINT CHR$(G7%);: ELSE COLOR 14: PRINT CHR$(G7%);
  99. GX% = GHOST%(3, 1): GY% = GHOST%(3, 2)
  100. IF RND(1) < .3 THEN G3% = INT(RND(1) * 4) + 1: GOTO SKP2
  101. IF GY% < 1 THEN G3% = 4: GOTO SKP2
  102. IF GY% > 28 THEN G3% = 3: GOTO SKP2
  103.     CASE 1
  104.         T% = SCREEN(GX% - 1, GY%)
  105.         IF T% = 2 AND SPECIAL% = 0 THEN END
  106.         IF T% = 32 THEN GX% = GX% - 1: G7% = T%: GOTO SKP2
  107.         IF T% = 249 THEN GX% = GX% - 1: G7% = T%: GOTO SKP2
  108.         IF T% = 233 THEN GX% = GX% - 1: G7% = T%: GOTO SKP2
  109.         G3% = INT(RND(1) * 4) + 1
  110.     CASE 2
  111.         T% = SCREEN(GX% + 1, GY%)
  112.         IF T% = 2 AND SPECIAL% = 0 THEN END
  113.         IF T% = 32 THEN GX% = GX% + 1: G7% = T%: GOTO SKP2
  114.         IF T% = 249 THEN GX% = GX% + 1: G7% = T%: GOTO SKP2
  115.         IF T% = 233 THEN GX% = GX% + 1: G7% = T%: GOTO SKP2
  116.         G3% = INT(RND(1) * 4) + 1
  117.     CASE 3
  118.         T% = SCREEN(GX%, GY% - 1)
  119.         IF T% = 2 AND SPECIAL% = 0 THEN END
  120.         IF T% = 32 THEN GY% = GY% - 1: G7% = T%: GOTO SKP2
  121.         IF T% = 249 THEN GY% = GY% - 1: G7% = T%: GOTO SKP2
  122.         G3% = INT(RND(1) * 4) + 1
  123.     CASE 4
  124.         T% = SCREEN(GX%, GY% + 1)
  125.         IF T% = 2 AND SPECIAL% = 0 THEN END
  126.         IF T% = 32 THEN GY% = GY% + 1: G7% = T%: GOTO SKP2
  127.         IF T% = 249 THEN GY% = GY% + 1: G7% = T%: GOTO SKP2
  128.         G3% = INT(RND(1) * 4) + 1
  129.         SKP2:
  130. GHOST%(3, 1) = GX%: GHOST%(3, 2) = GY%: COLOR 12: LOCATE GHOST%(3, 1), GHOST%(3, 2): PRINT "";
  131.  
  132. LOCATE GHOST%(4, 1), GHOST%(4, 2): IF G8% = 233 THEN COLOR 31: PRINT CHR$(G8%);: ELSE COLOR 14: PRINT CHR$(G8%);
  133. GX% = GHOST%(4, 1): GY% = GHOST%(4, 2)
  134. IF RND(1) < .4 THEN G4% = INT(RND(1) * 4) + 1: GOTO SKP3
  135. IF GY% < 1 THEN G4% = 4: GOTO SKP3
  136. IF GY% > 28 THEN G4% = 3: GOTO SKP3
  137.     CASE 1
  138.         T% = SCREEN(GX% - 1, GY%)
  139.         IF T% = 2 AND SPECIAL% = 0 THEN END
  140.         IF T% = 32 THEN GX% = GX% - 1: G8% = T%: GOTO SKP3
  141.         IF T% = 249 THEN GX% = GX% - 1: G8% = T%: GOTO SKP3
  142.         IF T% = 233 THEN GX% = GX% - 1: G8% = T%: GOTO SKP3
  143.         G4% = INT(RND(1) * 4) + 1
  144.     CASE 2
  145.         T% = SCREEN(GX% + 1, GY%)
  146.         IF T% = 2 AND SPECIAL% = 0 THEN END
  147.         IF T% = 32 THEN GX% = GX% + 1: G8% = T%: GOTO SKP3
  148.         IF T% = 249 THEN GX% = GX% + 1: G8% = T%: GOTO SKP3
  149.         IF T% = 233 THEN GX% = GX% + 1: G8% = T%: GOTO SKP3
  150.         G4% = INT(RND(1) * 4) + 1
  151.     CASE 3
  152.         T% = SCREEN(GX%, GY% - 1)
  153.         IF T% = 2 AND SPECIAL% = 0 THEN END
  154.         IF T% = 32 THEN GY% = GY% - 1: G8% = T%: GOTO SKP3
  155.         IF T% = 249 THEN GY% = GY% - 1: G8% = T%: GOTO SKP3
  156.         G4% = INT(RND(1) * 4) + 1
  157.     CASE 4
  158.         T% = SCREEN(GX%, GY% + 1)
  159.         IF T% = 2 AND SPECIAL% = 0 THEN END
  160.         IF T% = 32 THEN GY% = GY% + 1: G8% = T%: GOTO SKP3
  161.         IF T% = 249 THEN GY% = GY% + 1: G8% = T%: GOTO SKP3
  162.         G4% = INT(RND(1) * 4) + 1
  163.         SKP3:
  164. GHOST%(4, 1) = GX%: GHOST%(4, 2) = GY%: COLOR 9: LOCATE GHOST%(4, 1), GHOST%(4, 2): PRINT "";
  165.  
  166.  
  167. EATGHOST:
  168. IF PACY% = GHOST%(1, 1) AND PACX% = GHOST%(1, 2) THEN SCORE = SCORE + 300: LOCATE GHOST%(1, 1), GHOST%(1, 2): COLOR 14: PRINT CHR$(G5%);: GHOST%(1, 1) = 15: GHOST%(1, 2) = 13: GH1% = 1: IF G5% <> 32 THEN DOT = DOT - 1: G5% = 32
  169. IF PACY% = GHOST%(2, 1) AND PACX% = GHOST%(2, 2) THEN SCORE = SCORE + 300: LOCATE GHOST%(2, 1), GHOST%(2, 2): COLOR 14: PRINT CHR$(G6%);: GHOST%(2, 1) = 15: GHOST%(2, 2) = 13: GH2% = 1: IF G6% <> 32 THEN DOT = DOT - 1: G6% = 32
  170. IF PACY% = GHOST%(3, 1) AND PACX% = GHOST%(3, 2) THEN SCORE = SCORE + 300: LOCATE GHOST%(3, 1), GHOST%(3, 2): COLOR 14: PRINT CHR$(G7%);: GHOST%(3, 1) = 15: GHOST%(3, 2) = 13: GH3% = 1: IF G7% <> 32 THEN DOT = DOT - 1: G7% = 32
  171. IF PACY% = GHOST%(4, 1) AND PACX% = GHOST%(4, 2) THEN SCORE = SCORE + 300: LOCATE GHOST%(4, 1), GHOST%(4, 2): COLOR 14: PRINT CHR$(G8%);: GHOST%(4, 1) = 15: GHOST%(4, 2) = 13: GH4% = 1: IF G8% <> 32 THEN DOT = DOT - 1: G8% = 32
  172. CHECK1:
  173. T% = SCREEN(PACY% - 1, PACX%)
  174. IF T% = 32 THEN PACY% = PACY% - 1: RETURN
  175. IF T% = 249 THEN DOT = DOT - 1: PACY% = PACY% - 1: SCORE = SCORE + 1: PLAY "MBT128L64O3G": RETURN
  176. IF T% = 233 THEN PACY% = PACY% - 1: SCORE = SCORE + 75: SPECIAL% = 1: TMR1% = 0: RETURN
  177. IF T% = 1 AND SPECIAL% = 1 THEN PACY% = PACY% - 1: GOSUB EATGHOST: RETURN
  178. IF T% = 1 AND SPECIAL% = 0 THEN PACY% = PACY% - 1: END
  179. CHECK2:
  180. T% = SCREEN(PACY% + 1, PACX%)
  181. IF T% = 32 THEN PACY% = PACY% + 1: RETURN
  182. IF T% = 249 THEN DOT = DOT - 1: PACY% = PACY% + 1: SCORE = SCORE + 1: PLAY "MBT128L64O3G"
  183. IF T% = 233 THEN PACY% = PACY% + 1: SCORE = SCORE + 75: SPECIAL% = 1: TMR1% = 0
  184. IF T% = 1 AND SPECIAL% = 1 THEN PACY% = PACY% + 1: GOSUB EATGHOST
  185. IF T% = 1 AND SPECIAL% = 0 THEN PACY% = PACY% - 1: END
  186. CHECK3:
  187. IF PACX% < 2 THEN PACX% = 28
  188. T% = SCREEN(PACY%, PACX% - 1)
  189. IF T% = 255 THEN PACX% = PACX% - 1
  190. IF T% = 32 THEN PACX% = PACX% - 1
  191. IF T% = 249 THEN DOT = DOT - 1: PACX% = PACX% - 1: SCORE = SCORE + 1:: PLAY "MBT128L64O3G"
  192. IF T% = 233 THEN PACX% = PACX% - 1: SCORE = SCORE + 75: SPECIAL% = 1: TMR1% = 0
  193. IF T% = 4 THEN PACX% = PACX% - 1: SCORE = SCORE + 175: PALETTE 4, 1: COLOR 15: LOCATE ITEMY%, ITEMX% - 1: PRINT "BONUS": _DISPLAY: _DELAY 1: LOCATE ITEMY%, ITEMX% - 1: PRINT "     ";: TMR% = 0: PALETTE 4, 4
  194. IF T% = 1 AND SPECIAL% = 1 THEN PACX% = PACX% - 1: GOSUB EATGHOST
  195. IF T% = 1 AND SPECIAL% = 0 THEN PACY% = PACY% - 1: END
  196. CHECK4:
  197. IF PACX% > 27 THEN PACX% = 0
  198. T% = SCREEN(PACY%, PACX% + 1)
  199. IF T% = 255 THEN PACX% = PACX% + 1
  200. IF T% = 32 THEN PACX% = PACX% + 1: RETURN
  201. IF T% = 249 THEN DOT = DOT - 1: PACX% = PACX% + 1: SCORE = SCORE + 1: PLAY "MBT128L64O3G": RETURN
  202. IF T% = 233 THEN PACX% = PACX% + 1: SCORE = SCORE + 75: SPECIAL% = 1: TMR1% = 0: RETURN
  203. IF T% = 4 THEN PACX% = PACX% + 1: SCORE = SCORE + 175: PALETTE 4, 1: COLOR 15: LOCATE ITEMY%, ITEMX% - 1: PRINT "BONUS": _DISPLAY: _DELAY 1: LOCATE ITEMY%, ITEMX% - 1: PRINT "     ";: TMR% = 0: PALETTE 4, 4: RETURN
  204. IF T% = 1 AND SPECIAL% = 1 THEN PACX% = PACX% + 1: GOSUB EATGHOST: RETURN
  205. IF T% = 1 AND SPECIAL% = 0 THEN PACY% = PACY% - 1: END
  206. CHECK5: LOCATE ITEMY%, ITEMX%: COLOR 15: PRINT "";: IF TMR% > 300 THEN TMR% = 0: LOCATE ITEMY%, ITEMX%: PRINT " ";
  207. NEWLEVEL: COLOR 1: LOCATE ITEMY%, ITEMX% - 4: PRINT "GOOD  WORK": LOCATE ITEMY% - 6, ITEMX% - 4: PRINT "NEXT LEVEL": FOR I% = 1 TO 6: PALETTE 4, 15: PALETTE 1, 15: _DISPLAY: _DELAY 0.3: PALETTE 4, 4: PALETTE 1, 1: _DISPLAY: _DELAY 0.3: NEXT I%: LEVEL = LEVEL + 1: GOSUB FPS: DR% = INT(RND(1) * 4): GMO = 0: TMR% = 0: G1% = 3: G2% = 3: G3% = 4: G4% = 4: TMR1% = 0: GOTO MAINBRANCH
  208. REM *** INITIAL DISPLAY / START AND FIRST TIME RUN OF SCREEN ***
  209. FPS: CLS: FOR I% = 1 TO 31: A$ = DSP$(I%): FOR j% = 1 TO 28: b$ = MID$(A$, j%, 1): COLOR 4
  210.         IF b$ = "d" THEN COLOR 11: b$ = "=": DOORX% = j% - 1: DOORY% = I%
  211.         IF b$ = "O" THEN COLOR 31: b$ = "é"
  212.         IF b$ = "." THEN COLOR 14: b$ = "ù": DOT = DOT + 1
  213.         IF b$ = "1" THEN COLOR 10: b$ = "": GHOST%(1, 1) = I%: GHOST%(1, 2) = j%
  214.         IF b$ = "2" THEN COLOR 12: b$ = "": GHOST%(2, 1) = I%: GHOST%(2, 2) = j%
  215.         IF b$ = "3" THEN COLOR 13: b$ = "": GHOST%(3, 1) = I%: GHOST%(3, 2) = j%
  216.         IF b$ = "4" THEN COLOR 9: b$ = "": GHOST%(4, 1) = I%: GHOST%(4, 2) = j%
  217.         IF b$ = "5" THEN COLOR 15: b$ = "": PACX% = j%: PACY% = I%
  218.         IF b$ = "6" THEN ITEMX% = j%: ITEMY% = I%: b$ = " "
  219.         IF b$ = "8" THEN b$ = "ÿ"
  220. LOCATE I%, j%: PRINT b$;: NEXT j%: NEXT I%: RETURN
  221. REM *** DATA FOR DISPLAY / READ ONCE ONLY INTO DSP$() ****************************************************************************************************************************************
  222. MAP: FOR I% = 1 TO 31: READ DSP$(I%): NEXT I%: RETURN
  223. DATA "ÉÍÍÍÍÍÍÍÍÍÍÍÍ»ÉÍÍÍÍÍÍÍÍÍÍÍÍ»","º............ºº............º","º.ÚÄÄ¿.ÚÄÄÄ¿.ºº.ÚÄÄÄ¿.ÚÄÄ¿.º","ºO³  ³.³   ³.ºº.³   ³.³  ³Oº","º.ÀÄÄÙ.ÀÄÄÄÙ.ÈŒ.ÀÄÄÄÙ.ÀÄÄÙ.º","º..........................º"
  224. DATA "º.ÚÄÄ¿.Ú¿.ÚÄÄÄÄÄÄ¿.Ú¿.ÚÄÄ¿.º","º.ÀÄÄÙ.³³.ÀÄÄ¿ÚÄÄÙ.³³.ÀÄÄÙ.º","º......³³....³³....³³......º","ÈÍÍÍÍ».³ÀÄÄ¿ ³³ ÚÄÄÙ³.ÉÍÍÍÍŒ","     º.³ÚÄÄÙ ÀÙ ÀÄÄ¿³.º     ","     º.³³     5    ³³.º     "
  225. DATA "     º.³³ ÉÍÍddÍÍ» ³³.º     ","ÍÍÍÍÍŒ.ÀÙ º      º ÀÙ.ÈÍÍÍÍÍ","888888.   º 1234 º   .888888","ÍÍÍÍÍ».Ú¿ º      º Ú¿.ÉÍÍÍÍÍ","     º.³³ ÈÍÍÍÍÍÍŒ ³³.º     ","     º.³³    6     ³³.º     "
  226. DATA "     º.³³ ÚÄÄÄÄÄÄ¿ ³³.º     ","ÉÍÍÍÍŒ.ÀÙ ÀÄÄ¿ÚÄÄÙ ÀÙ.ÈÍÍÍÍ»","º............³³............º","º.ÚÄÄ¿.ÚÄÄÄ¿.³³.ÚÄÄÄ¿.ÚÄÄ¿.º","º.ÀÄ¿³.ÀÄÄÄÙ.ÀÙ.ÀÄÄÄÙ.³ÚÄÙ.º","ºO..³³.......  .......³³..Oº"
  227. DATA "ÈÍ».³³.Ú¿.ÚÄÄÄÄÄÄ¿.Ú¿.³³.ÉÍŒ","ÉÍŒ.ÀÙ.³³.ÀÄÄ¿ÚÄÄÙ.³³.ÀÙ.ÈÍ»","º......³³....³³....³³......º","º.ÚÄÄÄÄÙÀÄÄ¿.³³.ÚÄÄÙÀÄÄÄÄ¿.º","º.ÀÄÄÄÄÄÄÄÄÙ.ÀÙ.ÀÄÄÄÄÄÄÄÄÙ.º","º..........................º"
  228. DATA "ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍŒ"
  229. REM ******************************************************************************************************************************************************************************************
  230. TITLE: WIDTH 28, 32: CLS: FOR I = 1 TO 4: PALETTE I, 0: NEXT I: C = 1: FOR I = 1 TO 28: LOCATE 1 + 2, I: COLOR C: PRINT "þ";: C = C + 1: IF C > 4 THEN C = 1
  231.     NEXT I: FOR I = 2 TO 28: LOCATE I + 2, 28: COLOR C: PRINT "þ";: C = C + 1: IF C > 4 THEN C = 1
  232.     NEXT I: FOR I = 27 TO 1 STEP -1: LOCATE 28 + 2, I: COLOR C: PRINT "þ";: C = C + 1: IF C > 4 THEN C = 1
  233.     NEXT I: FOR I = 27 TO 1 STEP -1: LOCATE I + 2, 1: COLOR C: PRINT "þ";: C = C + 1: IF C > 4 THEN C = 1
  234. NEXT I: COLOR 5: LOCATE 5, 3: PRINT "  Û   ÜÜÜÜ Ûßßßß ÜÜÜ ßÛß": LOCATE 24, 5: PRINT "ÛÝ  ÛÝ    Û   ÞÛ   ÞÝ": COLOR 6: LOCATE 6, 3: PRINT " Û Û  Û  ß Û      Û   Û": LOCATE 25, 5: PRINT "ÛÞÝÛ Û   Û Û  ÞÝÛ  ÞÝ": COLOR 7: LOCATE 7, 3: PRINT "ÛÜÜÜÛ ÛÜÜÜ Û      Û   Û": LOCATE 26, 5: PRINT "Û ÞÝ Û  ÛÜÜÜÛ ÞÝ Û ÞÝ": COLOR 8: LOCATE 8, 3: PRINT "Û   Û    Û ÛÜÜÜÜ  Û  ÜÛÜ": LOCATE 27, 5: PRINT "Û    Û  Û   Û ÞÝ  ÛÞÝ": COLOR 9: LOCATE 9, 3: PRINT "ß   Û ÛÜÜÛ       ÜÛÜ": LOCATE 28, 5: PRINT "Û    ÞÝ ß   Û ÞÛ   ÛÝ"
  235. FOR I = 5 TO 9: PALETTE I, 4: NEXT I: _DISPLAY: COLOR 12: LOCATE 12, 6: PRINT "(H) = HIGH SCORES": LOCATE 14, 4: PRINT "(N) = START NEW GAME": COLOR 13: LOCATE 16, 3: PRINT "USE CURSOR KEYS TO  MOVE": LOCATE 17, 3: PRINT "PRESS ALT+ENTER TOSWITCH": LOCATE 18, 8: PRINT "TO FULL SCREEN": COLOR 12: LOCATE 20, 4: PRINT "WRITTEN BY pAUL mACKAY": DO: FOR I = 1 TO 4: I$ = INKEY$: IF I$ = "H" THEN END ELSE IF I$ = "N" THEN GOTO NEWGAME ELSE IF I$ = "Q" THEN END
  236.         ON I GOSUB PA1, PA2, PA3, PA4: IF I = 4 THEN GOSUB PA5
  237. PA1: PALETTE 1, 12: PALETTE 2, 15: PALETTE 3, 15: PALETTE 4, 15: RETURN
  238. PA2: PALETTE 1, 15: PALETTE 2, 12: PALETTE 3, 15: PALETTE 4, 15: RETURN
  239. PA3: PALETTE 1, 15: PALETTE 2, 15: PALETTE 3, 12: PALETTE 4, 15: RETURN
  240. PA4: PALETTE 1, 15: PALETTE 2, 15: PALETTE 3, 15: PALETTE 4, 12: RETURN
  241. PA5: FOR IJ = 5 TO 9: PALETTE IJ, INT(RND(1) * 7) + 5: _DISPLAY: NEXT IJ: RETURN
  242.  
« Last Edit: July 30, 2018, 09:47:28 am by odin »
MackyWhite