100 PROGRAM "HAMIKA.BAS" 110 SET CHARACTERORD("£"),255,255,255,255,255,255,255,255,255 120 STRING A$ 130 NUMERIC X,Y,VX,VY,KUKACX(0TO79),KUKACY(0TO79),MT,KAPUX,KAPUY,AKADSZ,HOSSZ,IDO,PLUSIDO 190 SET KEYCLICKOFF 210 DEF KERET 220 SET STATUSOFF 230 SET BORDERYELLOW 240 SET #102:COLOR0,GREEN 250 SET #102:COLOR1,WHITE 260 CLEAR SCREEN 270 SET #102:PAPER0 280 PRINT #102,AT2,1:"£££££££££££££££££££££££££££££££££££££££":PRINT #102,AT24,1:"£££££££££££££££££££££££££££££££££££££££" 300 FOR I=2TO24 310 PRINT #102,ATI,1:"£";:PRINT #102,ATI,40:"£"; 330 NEXT I 340 END DEF 360 DEF PALYA 370 NUMERIC AKADX,AKADY 380 RANDOMIZE 390 FOR I=1TOINT(RND(3)+3) 400 LET AKADX=INT(RND(21))+3 410 LET AKADY=INT(RND(38))+2 420 PRINT #102,ATAKADX,AKADY:; 430 GET #102:A$ 440 IF A$=" "THEN 450 PRINT #102:"*"; 460 LET AKADSZ=AKADSZ+1 470 ELSE I=I-1 480 END IF 490 NEXT I 500 END DEF 520 DEF START 530 LET AKADSZ=0 540 LET HOSSZ=5 550 RANDOMIZE 560 IF RND<.5THEN 570 LET Y=INT(RND(38))+2 580 LET VY=0 590 IF RND<.05THEN 600 LET X=3 610 LET VX=1 620 ELSE 630 LET X=23 640 LET VX=-1 650 END IF 660 ELSE 670 LET X=INT(RND(21))+3 680 LET VX=0 690 IF RND<.5THEN 700 LET Y=2 710 LET VY=1 720 ELSE 730 LET Y=39 740 LET VY=-1 750 END IF 760 END IF 770 FOR I=1TOHOSSZ 780 LET KUKACX(I)=1 790 LET KUKACY(I)=1 800 NEXT I 810 LET MT=0 820 LET KUKACX(0)=X 830 LET KUKACY(0)=Y 840 CALL VIZS 850 PRINT #102,ATX,Y:"O"; 860 END DEF 880 DEF IRANY 890 IF VX=0THEN 900 SELECT CASEJOY(1)ORJOY(0) 910 CASE 1 920 LET VX=0 930 LET VY=1 940 CASE 2 950 LET VX=0 960 LET VY=-1 970 CASE 4,5,6 980 LET VX=1 990 LET VY=0 1000 CASE 8,9,10 1010 LET VX=-1 1020 LET VY=0 1030 CASE ELSE 1040 END SELECT 1050 ELSE 1060 SELECT CASEJOY(1)ORJOY(0) 1070 CASE 1,5,9 1080 LET VX=0 1090 LET VY=1 1100 CASE 2,6,10 1110 LET VX=0 1120 LET VY=-1 1130 CASE 4 1140 LET VX=1 1150 LET VY=0 1160 CASE 8 1170 LET VX=-1 1180 LET VY=0 1190 CASE ELSE 1200 END SELECT 1210 END IF 1220 END DEF 1240 DEF LEPES 1250 NUMERIC S1,S2,UMT 1260 LET UMT=MOD(MT+1,HOSSZ) 1270 LET S1=KUKACX(UMT) 1280 LET S2=KUKACY(UMT) 1290 PRINT #102,ATS1,S2:" "; 1300 LET X=KUKACX(MT)+VX 1310 LET Y=KUKACY(MT)+VY 1320 LET MT=UMT 1330 LET KUKACX(MT)=X 1340 LET KUKACY(MT)=Y 1350 CALL VIZS 1360 PRINT #102,ATX,Y:"o"; 1370 SOUND PITCH25,DURATION1 1380 PRINT #102,AT1,19:IDO; 1390 PRINT #102,AT1,1:HOSSZ; 1395 PRINT #102,AT1,38:SZINT; 1400 END DEF 1420 DEF NOV 1430 IF HOSSZ<79THEN 1440 LET KUKACX(HOSSZ+1)=KUKACX(HOSSZ) 1450 LET KUKACY(HOSSZ+1)=KUKACY(HOSSZ) 1460 LET HOSSZ=HOSSZ+1 1470 END IF 1480 END DEF 1500 DEF KAPUKI 1510 SET BORDERRED 1520 IF RND<.5THEN 1530 LET KAPUY=INT(RND(38))+2 1540 IF RND<.5THEN 1550 LET KAPUX=2 1560 ELSE 1570 LET KAPUX=24 1580 END IF 1590 ELSE 1600 LET KAPUX=INT(RND(21))+3 1610 IF RND<.5THEN 1620 LET KAPUY=1 1630 ELSE 1640 LET KAPUY=40 1650 END IF 1660 END IF 1670 PRINT #102,ATKAPUX,KAPUY:"-"; 1680 END DEF 1700 DEF KAPUBE 1710 SET BORDERYELLOW 1720 PRINT #102,ATKAPUX,KAPUY:"£"; 1730 END DEF 1750 DEF VIZS 1760 PRINT #102,ATX,Y:; 1770 GET #102:A$ 1780 SELECT CASEA$ 1790 CASE " " 1800 CASE "*" 1810 POKE 47368+X*16+1,RED 1820 SOUND PITCH70,DURATION2 1830 CALL NOV 1840 LET AKADSZ=AKADSZ-1 1850 POKE 47368+X*16+1,WHITE 1860 IF AKADSZ=0THENCALL KAPUKI 1870 CASE ELSE 1880 LET VEGE=1 1890 END SELECT 1900 END DEF 1920 DEF FALAK 1930 SELECT CASESZINT 1940 CASE 1 1950 LET PLUSIDO=30 1960 CASE 2 1970 LET PLUSIDO=50 1980 PRINT #102,AT13,9:"££££££££££££££££££££££££"; 1990 CASE 3 2000 LET PLUSIDO=80 2010 FOR I=8TO18 2020 PRINT #102,ATI,8:"£"; 2030 PRINT #102,ATI,32:"£"; 2040 NEXT I 2050 CASE 4 2060 LET PLUSIDO=100 2070 PRINT #102,AT9,9:"££££££££££££££££££££££££"; 2080 PRINT #102,AT17,9:"££££££££££££££££££££££££"; 2090 CASE 5 2100 LET PLUSIDO=50 2110 PRINT #102,AT13,4:"£££££££££££££££ £££££££££££££££"; 2120 FOR I=5TO11 2130 PRINT #102,ATI,20:"£"; 2140 NEXT I 2150 FOR I=15TO21 2160 PRINT #102,ATI,20:"£"; 2170 NEXT I 2180 CASE 6 2190 LET PLUSIDO=50 2200 PRINT #102,AT5,18:"£££££"; 2210 PRINT #102,AT6,2:" £££££ £ £££££"; 2220 PRINT #102,AT7,2:" £ £ £"; 2230 PRINT #102,AT8,2:" £ £ £ £"; 2240 PRINT #102,AT9,2:" £££ ££££ £ £ ££££ £££"; 2250 PRINT #102,AT10,2:" £ £ £ £ £ £ £ £"; 2260 PRINT #102,AT11,2:" £ £££ £££ £ £ £££ £££ £"; 2270 PRINT #102,AT12,2:" £ £ £ £ £ £"; 2280 PRINT #102,AT13,2:" £ £ £ £ £ £"; 2290 PRINT #102,AT14,2:" £ £ £ £ £ £"; 2300 PRINT #102,AT15,2:" £ £££ £££ £ £ £££ £££ £"; 2310 PRINT #102,AT16,2:" £ £ £ £ £ £ £ £"; 2320 PRINT #102,AT17,2:" £££ ££££ £ £ ££££ £££"; 2330 PRINT #102,AT18,2:" £ £ £ £"; 2340 PRINT #102,AT19,2:" £ £ £"; 2350 PRINT #102,AT20,2:" £££££ £ £££££"; 2360 PRINT #102,AT21,2:" £££££"; 2370 END SELECT 2380 PRINT #102,AT1,11:"^^^^^^^ ^^^^^^^^"; 2390 END DEF 2410 DEF FOCIM 2420 STRING BILL$ 2430 CLEAR SCREEN 2440 PRINT AT5,19:"HAMIKA" 2450 PRINT AT10,10:"Ha kezdhetjük a jåtékot," 2460 PRINT AT12,10:"Nyomj le egy billentyüt!" 2470 DO 2480 GET BILL$ 2490 LOOP UNTILBILL$<>"" 2500 END DEF 2520 DEF SIR 2550 PRINT #102,AT10,10:"Sajnålom, nem sikerült"; 2560 SET BORDERCYAN 2570 SOUND PITCH49,DURATION10 2580 SOUND PITCH44,DURATION10 2590 SOUND PITCH41,DURATION10 2600 SOUND PITCH37,DURATION20 2610 WAIT 4 2620 IF SZINT>1THENLET SZINT=SZINT-1 2630 END DEF 2650 DEF NEVET 2660 ! 2670 ! 2680 PRINT #102,AT12,13:"HURRÅ! SIKERÜLT!!"; 2690 SET BORDERMAGENTA 2700 SOUND PITCH37,DURATION20 2710 SOUND PITCH41,DURATION20 2720 SOUND PITCH44,DURATION20 2730 SOUND PITCH49,DURATION40 2740 WAIT 4 2750 END DEF 2770 CALL FOCIM 2780 FOR SZINT=1TO6 2790 DO 2800 CALL KERET 2810 CALL FALAK 2820 CALL START 2830 DO 2840 CALL PALYA 2850 LET VEGE=0 2860 FOR IDO=150+PLUSIDOTO0STEP-1 2870 CALL LEPES 2880 CALL IRANY 2890 IF VEGETHENEXIT FOR 2900 NEXT IDO 2910 IF VEGETHEN 2920 EXIT DO 2930 ELSE 2940 IF AKADSZ=0THENCALL KAPUBE 2950 END IF 2960 LOOP 2970 IF A$<>"-"THEN 2980 CALL SIR 2990 ELSE 3000 CALL NEVET 3010 EXIT DO 3020 END IF 3030 LOOP 3040 NEXT SZINT 3060 CLEAR SCREEN 3070 PRINT #102,AT10,1:; 3080 PRINT #102:" £££ £££ ££ £ £ ££ ££" 3090 PRINT #102:" £ £ £ £ £ £ £ £ £ £ ££" 3100 PRINT #102:" £££ £££ £ £ £ £ £ £ ££" 3110 PRINT #102:" £ £ £ £ ££££ £ £ £ £ ££" 3120 PRINT #102:" £ £ £ £ £ £ ££ £ £ " 3130 PRINT #102:" £££ £ £ £ £ ££ ££ ££" 3140 SET BORDERBLUE 3150 FOR J=1TO5 3160 RESTORE 3170 FOR I=1TO8 3180 READ HANG,HOSSZ 3190 SOUND PITCHHANG,DURATIONHOSSZ 3200 NEXT I 3210 NEXT J 3220 DATA 37,10,41,10,44,10,49,10,37,10,42,10,46,10,49,10 3230 SOUND PITCH1,DURATION2 3240 SOUND PITCH49,DURATION20 3250 SOUND PITCH1,DURATION2 3260 SOUND PITCH44,DURATION20 3270 SOUND PITCH1,DURATION2 3280 SOUND PITCH41,DURATION20 3290 SOUND PITCH1,DURATION2 3300 SOUND PITCH37,DURATION20 3310 SOUND PITCH1,DURATION2 3320 SOUND PITCH37,DURATION80 3330 WAIT 4 3340 FOR I=1TO24 3350 PRINT ATI,1:"" 3360 NEXT I 3370 GOTO 210 3380 END