  100 PROGRAM "Tankwars.bas"
  110 SET 0,4
  120 STRING SZOVEG$(1TO26)*65
  130 NUMERIC MX(1TO2),MY(1TO2),LOV(1TO2),A(1TO2),V(1TO2),P(1TO2)
  140 CALL TOLT
  150 SET INTERRUPTSTOPOFF
  160 SET FKEY1"1":SET FKEY2"2":SET FKEY3"3":SET FKEY4"4":SET FKEY5"5"
  170 SET KEYCLICKOFF:SET KEYDELAY6
  180 ENVELOPE NUMBER1;0,127,127,1;-2,-50,-50,32
  190 LET LEP=2:LET CEL=1:LET P(1),P(2),JO=0
  200 LET G2=4.9:LET FRD,KEZD=1
  210 SET VIDEOX40:SET VIDEOY20:SET VIDEOMODE1:SET VIDEOCOLOUR1
  220 OPEN #1:"video:"
  230 OPEN #2:"video:"
  240 EXT "hfont"
  250 EXT "status "TANK WARS  ",1,"ÅRTA: KISS LΣSZLä""
  260 RANDOMIZE 
  270 OPTION ANGLEDEGREES
  280 CALL MENU
  290 LET KEY$=INKEY$
  300 IF KEY$="1"THENLET JO=0:PRINT #102,AT7,25:" ":PRINT #102,AT8,25:" ":PRINT #102,AT6,25:"←"
  310 IF KEY$="2"THENLET JO=1:PRINT #102,AT7,25:"←":PRINT #102,AT8,25:" ":PRINT #102,AT6,25:" "
  320 IF KEY$="3"THENLET JO=2:PRINT #102,AT7,25:" ":PRINT #102,AT8,25:"←":PRINT #102,AT6,25:" "
  330 IF KEY$="4"THENPRINT AT23,1:"":TEXT 80:GOTO  360
  340 IF KEY$="5"THENCALL EXIT
  350 GOTO  290
  360 SET #1:PALETTE0,16,RED,YELLOW
  370 SET #2:PALETTE0,16,RED,YELLOW
  380 SET #102:PALETTE0,RED,0,CYAN
  390 LET V(1)=60:LET V(2)=60:LET A(1)=45:LET A(2)=45:LET LOV(1)=0:LET LOV(2)=0
  400 SET #1:INK1
  410 SET #2:INK1
  420 CALL TEREP
  430 SET #1:INK2
  440 SET #2:INK3
  450 IF KEZD=1THENLET LEP=2:LET KEZD=2:GOTO  470
  460 IF KEZD=2THENLET LEP=1:LET KEZD=1
  470 IF LEP=2THENLET LEP=1:LET CEL=2:GOTO  490
  480 IF LEP=1THENLET LEP=2:LET CEL=1
  490 DISPLAY #LEP:AT1FROM1TO20
  500 SET #102:INKLEP
  510 PRINT #102,AT22,3:"A(z) ";LEP;". j#tökos kÆvetkezik"
  520 PRINT #102,AT21,62:FRD;". fordulØ"
  530 PRINT #102,AT21,3:"LÆvös sebessöge (m/s):"
  540 PRINT #102,AT21,35:"LÆvös szÆg (fok):"
  550 GET KEY$
  560 PRINT #102,AT21,26:V(LEP)
  570 PRINT #102,AT21,53:A(LEP)
  580 LET J=JOY(JO)
  590 IF J=1ANDV(LEP)<200THENLET V(LEP)=V(LEP)+1:GOTO  560
  600 IF J=2ANDV(LEP)>25THENLET V(LEP)=V(LEP)-1:GOTO  560
  610 IF J=4ANDA(LEP)>10THENLET A(LEP)=A(LEP)-1:GOTO  560
  620 IF J=8ANDA(LEP)<90THENLET A(LEP)=A(LEP)+1:GOTO  560
  630 IF J=16THEN 840
  640 LET KEY$=INKEY$
  650 IF KEY$=CHR$(9)THEN
  660   CLEAR #1
  670   CLEAR #2
  680   CLEAR TEXT
  690   LET LEP=2
  700   IF KEZD=1THENLET KEZD=2:GOTO  390
  710   LET KEZD=1:GOTO  390
  720 END IF 
  730 IF KEY$="p"ANDV(LEP)<191THENLET V(LEP)=V(LEP)+10:GOTO  560
  740 IF KEY$="o"ANDV(LEP)>34THENLET V(LEP)=V(LEP)-10:GOTO  560
  750 IF KEY$="q"ANDA(LEP)<80THENLET A(LEP)=A(LEP)+10:GOTO  560
  760 IF KEY$="a"ANDA(LEP)>20THENLET A(LEP)=A(LEP)-10:GOTO  560
  770 IF KEY$=CHR$(27)THEN
  780   CALL ERTEK
  790   CLEAR #1
  800   CLEAR #2
  810   GOTO  280
  820 END IF 
  830 GOTO  560
  840 LET LOV(LEP)=LOV(LEP)+1
  850 SOUND SOURCE3,ENVELOPE1,DURATION5
  860 FOR FW=1TO2
  870   SET #102:INK3
  880   PRINT #102,AT23,39:"T→z!"
  890   SET #102:INK1
  900   PRINT #102,AT23,39:"T→z!"
  910 NEXT 
  920 SET 0,4
  930 LET AX=V(LEP)*COS(A(LEP)):LET AY=V(LEP)*SIN(A(LEP))
  940 IF LEP=1THEN
  950   FOR T=.4TO1000STEP.2
  960     LET X=AX*T+MX(1):LET Y=AY*T-G2*T^2+MY(1)
  970     IF X>1279THENEXIT FOR
  980     IF Y>719THENGOTO  1030
  990     IF Y<0THENLET Y=1
 1000     LOOK #1,ATX,Y:C
 1010     IF C<>0ANDC<>2ORY=1THENEXIT FOR
 1020     PLOT #1:X,Y
 1030   NEXT 
 1040 END IF 
 1050 IF LEP=2THEN
 1060   FOR T=.4TO1000STEP.2
 1070     LET X=MX(2)-AX*T:LET Y=AY*T-G2*T^2+MY(2)
 1080     IF X<0THENEXIT FOR
 1090     IF Y>719THENGOTO  1140
 1100     IF Y<0THENLET Y=1
 1110     LOOK #2,ATX,Y:C
 1120     IF C<>0ANDC<>3ORY=1THENEXIT FOR
 1130     PLOT #2:X,Y
 1140   NEXT 
 1150 END IF 
 1160 SET 0,20
 1170 IF X<=1279ANDX>=0THENCALL BUM(16)
 1180 IF MX(LEP)>=X-27ANDMX(LEP)<=X+27THEN
 1190   PRINT #102,AT23,11:"*** Nem tudod, hogy az Ængyilkoss#g k#ros az egöszsögre?"
 1200   CALL BUM(32)
 1210   LET P(CEL)=P(CEL)+1:LET FRD=FRD+1:GOTO  1370
 1220 END IF 
 1230 PRINT #102,AT23,39:"   "
 1240 IF MX(CEL)<X-27ORMX(CEL)>X+27THEN
 1250   PRINT #102,AT23,1:"Nem tal#lt! ";
 1260   LET SZVG=RND(26)+1
 1270   PRINT #102:SZOVEG$(SZVG);
 1280   IF JOY(JO)=0THEN 1280
 1290   PRINT #102,AT23,1:"                                                                          "
 1300   GOTO  470
 1310 END IF 
 1320 CALL BUM(32)
 1330 IF MX(CEL)>=X-27ANDMX(CEL)<=X+27THEN
 1340   PRINT #102,AT23,20:"*** Eltal#ltad a cölt a(z)";LOV(LEP);". lÆvösre! ***"
 1350   LET P(LEP)=P(LEP)+1:LET FRD=FRD+1
 1360 END IF 
 1370 IF FRD=11THEN
 1380   CALL ERTEK
 1390   CLEAR #1
 1400   CLEAR #2
 1410   GOTO  280
 1420 END IF 
 1430 IF JOY(JO)=0THEN 1430
 1440 CLEAR TEXT
 1450 LET LEP=2
 1460 CLEAR #1
 1470 CLEAR #2
 1480 GOTO  390
 1490 DEF TEREP
 1500   SET 0,4
 1510   LET PX=0:LET HV=0:LET PY=RND(400)+4
 1520   PLOT #1:PX,PY;
 1530   PLOT #2:PX,PY;
 1540   LET HV=RND(2)
 1550   IF HV=0THEN
 1560     FOR FR=1TORND(5)+1
 1570       LET PY=PY-RND(30)
 1580       IF PY<4THENLET PY=4
 1590       LET PX=PX+RND(40)+10
 1600       IF PX>1279THENLET PX=1279
 1610       PLOT #1:PX,PY;
 1620       PLOT #2:PX,PY;
 1630     NEXT 
 1640   END IF 
 1650   IF HV=1THEN
 1660     FOR FR=1TORND(5)+1
 1670       LET PY=PY+RND(30)
 1680       IF PY>500THENLET PY=500
 1690       LET PX=PX+RND(40)+10
 1700       IF PX>1279THENLET PX=1279
 1710       PLOT #1:PX,PY;
 1720       PLOT #2:PX,PY;
 1730       IF PX=1279THENEXIT FOR
 1740     NEXT 
 1750   END IF 
 1760   IF PX<1279THENGOTO  1540
 1770   SET #1:BEAMOFF:SET #2:BEAMOFF
 1780   PLOT #1:0,0,PAINT
 1790   PLOT #2:0,0,PAINT
 1800   SET #1:INK2:SET #2:INK2
 1810   LET MX(1)=RND(500)+30
 1820   FOR MH=1TO719STEP4
 1830     LOOK #1,ATMX(1),MH:JJ
 1840     IF JJ=0THENEXIT FOR
 1850   NEXT 
 1860   LET MY(1)=MH
 1870   PLOT #1:MX(1),MY(1),ELLIPSE16,2,PAINT
 1880   PLOT #2:MX(1),MY(1),ELLIPSE16,2,PAINT
 1890   LET MX(2)=RND(1000-MX(1))+MX(1)+200
 1900   FOR FY=1TO719STEP4
 1910     LOOK #1,ATMX(2),FY:JJ
 1920     IF JJ=0THENEXIT FOR
 1930   NEXT 
 1940   LET MY(2)=FY
 1950   SET #1:INK3:SET #2:INK3
 1960   PLOT #1:MX(2),MY(2),ELLIPSE16,2,PAINT
 1970   PLOT #2:MX(2),MY(2),ELLIPSE16,2,PAINT
 1980   SET 0,20
 1990 END IF 
 2000 DEF BUM(ROB)
 2010   SOUND SOURCE3,ENVELOPE1,DURATIONROB
 2020   PLOT #1:X,Y
 2030   PLOT #2:X,Y
 2040   FOR E=1TOROBSTEP4
 2050     PLOT #1:ELLIPSEE,E
 2060     PLOT #2:ELLIPSEE,E
 2070   NEXT 
 2080   SET #1:INK0:SET #2:INK0
 2090   FOR E=ROBTO1STEP-4
 2100     PLOT #1:ELLIPSEE,E
 2110     PLOT #2:ELLIPSEE,E
 2120   NEXT 
 2130   SET #1:INK2:SET #2:INK3
 2140 END DEF 
 2150 DEF MENU
 2160   TEXT 40
 2170   LET JO=0
 2180   SET #102:PALETTE0,CYAN,0,RED
 2190   PRINT #102,AT15,1:"←☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀☀è"
 2200   PRINT #102,AT16,1:"Ω JOY le/fel, A/Q -LÆvösszÆg #llÜt#sa μ"
 2210   PRINT #102,AT17,1:"Ω JOY jobbra/balra, O/P               μ"
 2220   PRINT #102,AT18,1:"Ω              -LÆvös kezdésebessöge  μ"
 2230   PRINT #102,AT19,1:"Ω TAB -åj p#lya köröse                μ"
 2240   PRINT #102,AT20,1:"Ω ESC -Vissza a men↑hÆz               μ"
 2250   PRINT #102,AT21,1:"ÖøøøøøøøøøøøøøøøøøøøøøøøøøøøøøøøøøøøøøÄ"
 2260   SET #102:INK3
 2270   PRINT #102,AT5,5:"←☀☀☀☀☀☀☀☀* TANK WARS *☀☀☀☀☀☀☀☀è"
 2280   PRINT #102,AT6,5:"Ω 1          JOY 0            μ"
 2290   PRINT #102,AT7,5:"Ω 2          JOY 1            μ"
 2300   PRINT #102,AT8,5:"Ω 3          JOY 2            μ"
 2310   PRINT #102,AT9,5:"Ω 4      J#tök indÜt#sa       μ"
 2320   PRINT #102,AT10,5:"Ω 5         Kilöpös           μ"
 2330   PRINT #102,AT11,5:"ÖøøøøøøøøøøøøøøøøøøøøøøøøøøøøøÄ"
 2340   PRINT #102,AT23,2:"* A program csk EPDOS mellett fut! *"
 2350   SET #102:INK4
 2360   PRINT #102,AT6,25:"←"
 2370   SET 0,20
 2380 END DEF 
 2390 DEF EXIT
 2400   PRINT AT23,1:""
 2410   SET 0,20
 2420   PRINT AT4,16:"KILæPæS"
 2430   PRINT AT5,15:"☀☀☀☀☀☀☀☀☀"
 2440   SET #102:INK3
 2450   PRINT #102,AT8,12:"←☀☀☀☀☀☀☀☀☀☀☀☀è"
 2460   PRINT #102,AT9,12:"Ω  1 BAIC    μ"
 2470   PRINT #102,AT10,12:"Ω  2 WP      μ"
 2480   PRINT #102,AT11,12:"Ω  3 EPDOS   μ"
 2490   PRINT #102,AT12,12:"Ω  q Vissza  μ"
 2500   PRINT #102,AT13,12:"ÖøøøøøøøøøøøøÄ"
 2510   SET 0,20
 2520   DO 
 2530     LET KEY$=INKEY$
 2540     IF KEY$="1"THENEXT "basic"
 2550     IF KEY$="2"THENEXT "wp"
 2560     IF KEY$="3"THENEXT "i"
 2570   LOOP UNTILKEY$="q"
 2580   CALL MENU
 2590 END DEF 
 2600 DEF ERTEK
 2610   CLEAR TEXT
 2620   IF P(1)>P(2)THENLET GYO=1
 2630   IF P(1)<P(2)THENLET GYO=2
 2640   PRINT #102,AT21,30:"1. J#tökos     2. J#tökos"
 2650   PRINT #102,AT22,37:P(1);"  -  ";P(2)
 2660   IF P(1)=P(2)THENPRINT #102,AT23,33:"A k↑zdelem dÆntetlen":GOTO  2680
 2670   PRINT #102,AT23,32:"A gyéztes a(z) ";GYO;". j#tökos"
 2680   IF JOY(JO)=0THEN 2680
 2690   LET LEP=2
 2700   LET P(1)=0:LET P(2)=0:LET FRD=1
 2710 END DEF 
 2720 DEF TOLT
 2730   LET SZOVEG$(1)="Ez igen györ prØb#lkoz#s volt."
 2740   LET SZOVEG$(2)="Azt hiszem, tàl bonyolult neked ez a program."
 2750   LET SZOVEG$(3)="A kÆvetkezé lÆvösedhez vedd fel a szem↑veged!"
 2760   LET SZOVEG$(4)="S↑rgÆs orvosi ell#t#sra szorulsz! Fordulj a szemöszethez!"
 2770   LET SZOVEG$(5)="Javasolhatn#m tal#n e program helyett a SPACE INVADERS-t?"
 2780   LET SZOVEG$(6)="Ezt mög sokat kell gyakorolnod!"
 2790   LET SZOVEG$(7)="Te #t#llt#l az ellensöghez?"
 2800   LET SZOVEG$(8)="Tal#n a PAC MAN egyp#ly#s, ÆrÆköletes verziØja jobban menne..."
 2810   LET SZOVEG$(9)="Ink#bb fej↑dj le pihenni!"
 2820   LET SZOVEG$(10)="Azt hiszem, s↑rgés pihen;sre van sz↑ksöged!"
 2830   LET SZOVEG$(11)="Nyomd m#r meg a RESET gombot!"
 2840   LET SZOVEG$(12)="Ha te lész, kÆr↑lÆtted csak a cölpont van biztons#gban..."
 2850   LET SZOVEG$(13)="Ez felejtheté produkciØ volt..."
 2860   LET SZOVEG$(14)="Ha te lész, az ellensög rÆhÆgégÆrcsÆt kap."
 2870   LET SZOVEG$(15)="HA-HA-HA...!"
 2880   LET SZOVEG$(16)="Na ne... Ezt komolyan gondoltad?"
 2890   LET SZOVEG$(17)="?!?%%$£(&%*?%*$%&&)"
 2900   LET SZOVEG$(18)="Ez egy cölzott lÆvös akart lenni?"
 2910   LET SZOVEG$(19)="Remölem ennöl jobbra is futja téled!"
 2920   LET SZOVEG$(20)="Ennyire azört nem kell vigy#zni a cölpont öpsögöre!"
 2930   LET SZOVEG$(21)="Valami belement a szemedbe?"
 2940   LET SZOVEG$(22)="Fel köne m#r Ürni egy erésebb szem↑veget."
 2950   LET SZOVEG$(23)="Ez elszomorÜtØ."
 2960   LET SZOVEG$(24)="Pancser..."
 2970   LET SZOVEG$(25)="Amatér..."
 2980   LET SZOVEG$(26)="Ami azt illeti, nem volt egy gatyaszaggatØ lÆvvös..."
 2990 END DEF 

