100 REM ****************** 110 REM ** P U C M A N ** 120 REM ** AV PETER OLIN** 130 REM ** AUGUSTI 1983 ** 140 REM ****************** 150 REM 160 REM 170 CALL CLEAR 180 CALL SCREEN(2) 190 RANDOMIZE 200 GOSUB 2920 210 VX=3260 220 SV=.25 230 LIFE=5 240 I$="PUC" 250 HI=1000 260 REM ****************** 270 REM ** DATA FOR ** 280 REM ** P U C M A N ** 290 REM ** MED STORA ** 300 REM ** BOKSTAVER ** 310 REM ****************** 320 DATA 2,1,6,2,2,1,5,2,1,2,3,1,5,3,1,3,4,2,2,6,5,7,7,1,7,8,1,2,9,5 330 DATA 3,11,4,2,12,1,7,12,1,2,13,1,7,13,1,3,14,1,6,14,1,2,17,6 340 DATA 3,18,1,4,19,1,3,20,1,2,21,6,3,23,5,2,24,1,5,24,1 350 DATA 2,25,1,5,25,1,3,26,5,2,28,6,3,29,2,5,30,2,2,31,6,32,32,32 360 REM ******************* 370 REM * DENNA DEL RITAR * 380 REM * TITELSKARMEN * 390 REM ******************* 400 CALL CLEAR 410 CALL HCHAR(13,5,94,27) 420 FOR I=1 TO 32 430 READ R,K,A 440 CALL VCHAR(R+3,K+1,42,A) 450 NEXT I 460 PRINT " TRYCK ENTER" 470 PRINT 480 PRINT TAB(7);"? 1984 PETER OLIN" 490 FOR I=2 TO 27 500 CALL SOUND(10,-6,0) 510 CALL VCHAR(10,I-1,32,2) 520 CALL HCHAR(10,I,96) 530 CALL HCHAR(10,I+1,97) 540 CALL HCHAR(11,I,98) 550 CALL HCHAR(11,I+1,99) 560 CALL KEY(3,ST,ST1) 570 IF ST>-1 THEN 690 580 CALL VCHAR(10,I+3,32,2) 590 CALL HCHAR(10,I+4,104) 600 CALL HCHAR(10,I+5,105) 610 CALL HCHAR(11,I+4,106) 620 CALL HCHAR(11,I+5,107) 630 NEXT I 640 RESTORE 650 GOTO 230 660 REM **************** 670 REM ** INITIERING ** 680 REM **************** 690 K=1 700 J=32 710 DOT=32 720 DOT2=32 730 Q=12 740 W=18 750 FLAG=0 760 RPOS2=12 770 RPOS=22 780 KPOS=18 790 KPOS2=18 800 ROK2=-1 810 KOK2=0 820 PAC=108 830 DATA 11,17,11,19,18,18,5,18 840 DATA 11,17,13,17,12,28,12,4,5,6,5,25,20,6,20,25,21,17 850 RESTORE 830 860 CALL CLEAR 870 REM ***************** 880 REM ** FARGA ALLA ** 890 REM ** SET SVARTA ** 900 REM ***************** 910 FOR I=1 TO 14 920 CALL COLOR(I,2,2) 930 NEXT I 940 REM ******************* 950 REM * RITA SPELPLANEN * 960 REM ******************* 970 PRINT TAB(8);"HI ";I$;HI; 980 FOR I=22 TO 0 STEP-2 990 K=K+1 1000 J=J-1 1010 CALL VCHAR(K,K,94,I) 1020 CALL VCHAR(K,J,94,I) 1030 NEXT I 1040 CALL HCHAR(15,2,94,30) 1050 CALL HCHAR(9,2,94,30) 1060 CALL HCHAR(2,3,94,29) 1070 CALL HCHAR(22,3,94,29) 1080 CALL HCHAR(22,16,32,5) 1090 CALL HCHAR(1,2,127,30) 1100 CALL VCHAR(1,2,127,23) 1110 CALL VCHAR(1,32,127,23) 1120 CALL HCHAR(23,2,127,30) 1130 REM 1140 FOR I=1 TO 4 1150 READ A,B 1160 CALL VCHAR(A,B,128,3) 1170 NEXT I 1180 FOR I=1 TO 9 1190 READ A,B 1200 CALL HCHAR(A,B,128,3) 1210 NEXT I 1220 CALL HCHAR(6,30,47) 1230 CALL HCHAR(6,4,47) 1240 CALL HCHAR(20,30,47) 1250 CALL HCHAR(20,4,47) 1260 CALL HCHAR(24,2,109,LIFE-1) 1270 CALL HCHAR(24,25,100,(SV-.25)*20) 1280 CALL VCHAR(RPOS,KPOS,108) 1290 REM *************** 1300 REM ** SATT RATT ** 1310 REM ** FARG PA ** 1320 REM ** ALLA SET ** 1330 REM *************** 1340 CALL COLOR(1,16,1) 1350 CALL COLOR(2,7,1) 1360 FOR I=3 TO 8 1370 CALL COLOR(I,16,1) 1380 NEXT I 1390 CALL COLOR(9,8,1) 1400 CALL COLOR(10,11,1) 1410 CALL COLOR(11,11,1) 1420 CALL COLOR(12,14,1) 1430 CALL COLOR(13,4,1) 1440 REM ****************** 1450 REM * SPELET STARTAR * 1460 REM * HAR * 1470 REM ****************** 1480 REM * DENNA DEL * 1490 REM * SKOTER OM * 1500 REM * SPOKET * 1510 REM ****************** 1520 IF RND>SV THEN 1550 1530 KOK2=SGN(KPOS-KPOS2) 1540 ROK2=SGN(RPOS-RPOS2) 1550 CALL VCHAR(RPOS2,KPOS2,32) 1560 CALL VCHAR(Q,W,E) 1570 RPOS2=RPOS2+ROK2 1580 KPOS2=KPOS2+KOK2 1590 CALL GCHAR(RPOS2,KPOS2,DOT2) 1600 IF DOT2=PAC THEN 2160 1610 IF DOT2<>127 THEN 1650 1620 RPOS2=RPOS2-ROK2 1630 KPOS2=KPOS2-KOK2 1640 GOTO 1730 1650 IF DOT2=32 THEN 1700 1660 Q=RPOS2 1670 W=KPOS2 1680 E=DOT2 1690 GOTO 1730 1700 Q=12 1710 W=18 1720 E=32 1730 CALL VCHAR(RPOS2,KPOS2,100) 1740 REM ***************** 1750 REM ** DENNA DEL ** 1760 REM ** SKOTER OM ** 1770 REM ** PUC MAN ** 1780 REM ***************** 1790 CALL KEY(3,K,ST) 1800 CALL VCHAR(RPOS,KPOS,32) 1810 IF(K=75)+(K=77)+(K=83)+(K=68)=0 THEN 1870 1820 ROK=(K=75)-(K=77) 1830 KOK=(K=83)-(K=68) 1840 PAC=109 1850 IF KOK<>-1 THEN 1870 1860 PAC=108 1870 RPOS=RPOS+ROK 1880 KPOS=KPOS+KOK 1890 CALL GCHAR(RPOS,KPOS,DOT) 1900 IF DOT=100 THEN 2160 1910 IF DOT<>94 THEN 1990 1920 CALL SOUND(11,-5,6) 1930 PTS=PTS+10 1940 IF PTS>=VX THEN 2540 1950 IF(PTS<=HI)+(FLAG<>0)THEN 2110 1960 CALL SOUND(500,4000,0) 1970 FLAG=1 1980 GOTO 2110 1990 IF(DOT<>128)*(DOT<>127)THEN 2040 2000 CALL SOUND(10,110,0) 2010 RPOS=RPOS-ROK 2020 KPOS=KPOS-KOK 2030 GOTO 2110 2040 IF DOT<>47 THEN 2110 2050 CALL SOUND(100,110,0) 2060 PTS=PTS+50 2070 IF PTS>=VX THEN 2540 2080 CALL VCHAR(RPOS2,KPOS2,32) 2090 RPOS2=12 2100 KPOS2=18 2110 CALL VCHAR(RPOS,KPOS,PAC) 2120 GOTO 1520 2130 REM ***************** 2140 REM ** PUC MAN DOR ** 2150 REM ***************** 2160 FOR I=110 TO 112 2170 CALL SOUND(100,I+500,0) 2180 CALL VCHAR(RPOS,KPOS,I) 2190 FOR D=1 TO 100 2200 NEXT D 2210 NEXT I 2220 LIFE=LIFE-1 2230 CALL HCHAR(24,2,109,LIFE) 2240 CALL HCHAR(24,LIFE+1,32) 2250 CALL VCHAR(RPOS,KPOS,32) 2260 IF LIFE=0 THEN 2320 2270 KPOS2=18 2280 RPOS2=12 2290 KPOS=18 2300 RPOS=22 2310 GOTO 1520 2320 RESTORE 830 2330 CALL CLEAR 2340 PRINT " GAME OVER" 2350 PRINT 2360 PRINT 2370 PRINT "DU FICK:";PTS;" POANG" 2380 LIFE=5 2390 SV=.25 2400 VX=3260 2410 PRINT 2420 IF PTS>HI THEN 2640 2430 PRINT " HIGH SCORE" 2440 PRINT 2450 PRINT I$,HI;"POANG" 2460 PTS=0 2470 PRINT 2480 PRINT " TRYCK ENTER" 2490 CALL KEY(3,P,O) 2500 IF P<>-1 THEN 670 ELSE 2490 2510 PTS=0 2520 SV=.25 2530 GOTO 670 2540 CALL CLEAR 2550 PRINT " BRA!! BRA!! BRA!!" 2560 PRINT:::::::::::: 2570 RESTORE 830 2580 LIFE=LIFE+1 2590 VX=VX+3260 2600 GOTO 2610 2610 IF SV>=.75 THEN 670 2620 SV=SV+.05 2630 GOTO 670 2640 HI=PTS 2650 PTS=0 2660 PRINT::"DU FICK HI SCORE":"SKRIV IN DINA INITIALER"::::::::::: 2670 INPUT "":I$ 2680 GOTO 2470 2920 CALL COLOR(1,16,1) 2930 CALL COLOR(2,7,1) 2940 CALL CHAR(42,"3C7EFFFFFFFF7E3C") 2950 CALL CHAR(47,"0010387CFE7C3810") 2960 CALL CHAR(63,"3C4299A1A199423C") 2970 CALL CHAR(91,"00280038447C4444") 2980 CALL CHAR(92,"0028007C4444447C") 2990 CALL CHAR(64,"0") 3000 CALL CHAR(93,"00100038447C4444") 3010 CALL CHAR(94,"0000001818000000") 3020 CALL CHAR(95,"007E") 3030 CALL COLOR(12,14,1) 3040 CALL CHAR(127,"0000347EFFFFFFFF") 3050 CALL COLOR(13,4,1) 3060 CALL CHAR(128,"0000347EFFFFFFFF") 3070 CALL CHAR(136,"3C7EDBE7DBC3FFA5") 3080 CALL COLOR(9,8,1) 3090 CALL CHAR(96,"0F1F3F717BFFFFFF") 3100 CALL CHAR(97,"F0F8FC8EDEFFFFFF") 3110 CALL CHAR(98,"FFF5E2E7FFFFCCCC") 3120 CALL CHAR(99,"FF4FA7E7FFFFBBBB") 3130 CALL CHAR(100,"3C7EDBE7DBC3FFA5") 3140 CALL COLOR(10,11,1) 3150 CALL CHAR(104,"071F3F7F7FFFFFFF") 3160 CALL CHAR(105,"E0F8FC3E3EF8E000") 3170 CALL CHAR(106,"FFFFFF7F7F3F1F07") 3180 CALL CHAR(107,"00E0F8FEFCFCF8E0") 3190 CALL CHAR(108,"3C6E3F0F0F3F7E3C") 3200 CALL CHAR(109,"3C76FCF0F0FC7E3C") 3210 CALL CHAR(110,"000044EEAEEE7C38") 3220 CALL CHAR(111,"0000000082EE7C38") 3230 CALL COLOR(11,11,1) 3240 CALL CHAR(112,"8142004281004281") 3250 FOR I=3 TO 8 3260 CALL COLOR(I,16,1) 3270 NEXT I 3280 RETURN