1 REM +++++++++++++++++++++++++++++++++ 2 REM ! Program .... ROBOT 3 REM ! Utg}va 1982-03-23 4 REM ! av (c) Tommy R|nnholm 7 REM ! Minne 16 Kbytes 8 REM ! Ins{nt av Ulf Lillieh||k <807> 9 REM +++++++++++++++++++++++++++++++++ 10 REM Ett ganska sv}rt spel. Det kan 11 REM ocks} vara sv}rt att hitta sig 12 REM sj{lv till och b|rja med. 13 REM Men du {r p} h|gra delen av sk{rmen, 14 REM ganska s} mycket i mitten. 15 REM 16 REM Screening av 17 REM Allan Varcoe & G|ran Olsson 18 REM 20 REM +++++++++++++++++++++++++++++++++ 100 ; INP(3%)CHR$(12) 110 ; CUR(1,12)"R O B O T W A R" 120 ; CUR(2,11);CHR$(23%);"###############" 130 ; CUR(3,0)"Detta spel g}r ut p} att du ska ta dej ut genom labyrintens utg}ng du f}r d} 1 po{ng." 140 ; CUR(6,0)"Du m}ste se upp s} du inte blir tagen av n}gon robot!" 150 ; CUR(8,0)'Du kan {ven rita hinder du har 20 punk-' 160 ; CUR(9,0)'er att rita med du kan {ven sudda bild-' 170 ; CUR(10,0)'en det g}r att g|r 2 g}nger.' 180 ; CUR(12,6)"Styr med: Ritar med:" 190 ; CUR(13,5);CHR$(23)"######### ##########" 200 ; CUR(15,10)"W=Upp ]" 210 ; CUR(17,1)"V{nstr=A S=H|ger \ [" 220 ; CUR(19,10)"Z=Ner -" 230 ; CUR(21,0)"B=Ny bild ifall man har st{ngt in sig sj{lv!" 240 GET G$ 250 ]$="]" : ]0$="}" : ]1$="-" 260 ]2$="\" : ]3$="|" : ]4$="[" : ]5$="{" 270 DIM P1%(100%) 280 A3%=16% : A5%=67% : A6%=33% : A7%=67% : A9%=100% : B%=50% : B0%=0% : B1%=3% : Y9%=1% 290 B$="B" : B0$="b" 300 D2%=57% : D3%=12% : D5%=63% : D6%=73% : D9%=16% : E0%=29% 310 H%=0% : U%=0% : Y%=0% : X%=0% : Y1%=0% : X1%=0% : Y2%=0% : X2%=0% 320 Y3%=0% : X3%=0% : Y4%=0% : X4%=0% 330 ; CHR$(12%); 340 FOR A%=1% TO 22% 350 ; CUR(A%,O%);CHR$(23%); 360 NEXT A% 370 H%=H%+1% : IF H%>2% THEN B$="" : B0$="" 380 ; CUR(1,1)'7#####################################k' 390 ; CUR(2,1)'5 <,,,,,,,,,,,l h,,,% <,4 <,, h h,4 | j' 400 ; CUR(3,1)'5 5 ppp `pppp j jpp `p5 5 u `pz jp5  j' 410 ; CUR(4,1)'5 5 5 j j j j 5 5 j * * # j' 420 ; CUR(5,1)'5 5 5 j j j j j##5 7 j `pppppx n j' 430 ; CUR(6,1)'5 5 5 z j j j####! ###5 5 n j j j' 440 ; CUR(7,1)'5 5 5 j j j (,,4 <,,% u j j j###! > j' 450 ; CUR(8,1)'5 5 ##### j jpp0 5 5 ppp5 j j j h,4 5 z' 460 ; CUR(9,1)'5 -,,,,,,,n 5 5 5 5 k j j j 5 5 j' 470 ; CUR(10,1)'upppppppp "##! 5 5 ##! #upz j * *,% 7 j' 480 ; CUR(11,1)'5 *,,,,<,% -,4 ,4 j `ppppp5 n' 490 ; CUR(12,1)'5 ####kpppp0 5 0 0 u0 ##k#k j j' 500 ; CUR(13,1)'=,,,l 5 5 5 5 55 ,,n j "#########k' 510 ; CUR(14,1)'5 p "####5 5 5 5 5 uupp j j,,,,,,,,,, j' 520 ; CUR(15,1)'5 ?,,,,4 5 5 -,% 5 j j j `pppppppppz' 530 ; CUR(16,1)'5 5 ppp5 5 5 0 0 5 7k j * j' 540 ; CUR(17,1)'5 5 5 5 5 5 5 5 ## " ` j########## j' 550 ; CUR(18,1)'5 % 5 <,,% % 5 5 - (<,l j j (,,,,,,,,,n' 560 ; CUR(19,1)'uppp5 upppppp5 upppp5 # j jppppppppp pz' 570 ; CUR(20,1)'5 5 l j j j' 580 ; CUR(21,1)'5 ################! ### j " "#######k j' 590 ; CUR(22,1)'-,,,,,,,,,,,,,,,,,$ ,,,,.,,,,,,,,,,,.,.' 600 A$=CHR$(INP(56%)-128%) 610 Y%=A0%+A6% : X%=A1%+A7% : REM MANUELL 620 Y1%=A2%+A3% : X1%=A4%+A5% : REM ROBOT1 630 Y2%=D0%+D2% : X2%=D1%+D3% : REM ROBOT 2 640 Y3%=D4%+D5% : X3%=D6%+D7% : REM ROBOT 3 650 Y4%=D8%+D9% : X4%=E%+E0% : REM ROBOT 4 660 REM  MANUELL STYRNING  670 IF A$="W" OR A$="w" A0%=A0%-1% : IF DOT(Y%-1%,X%) THEN A0%=A0%+1% 680 IF A$="Z" OR A$="z" A0%=A0%+1% : IF DOT(Y%+1%,X%) THEN A0%=A0%-1% 690 IF A$="A" OR A$="a" A1%=A1%-1% : IF DOT(Y%,X%-1%) THEN A1%=A1%+1% 700 IF A$="S" OR A$="s" A1%=A1%+1% : IF DOT(Y%,X%+1%) THEN A1%=A1%-1% 710 IF A$=B$ OR A$=B0$ THEN GOTO 330 720 IF A$=]$ OR A$=]0$ THEN SETDOT Y%-1%,X% : U%=U%+1% 730 IF A$=]2$ OR A$=]3$ THEN SETDOT Y%,X%-1% : U%=U%+1% 740 IF A$=]4$ OR A$=]5$ THEN SETDOT Y%,X%+1% : U%=U%+1% 750 IF A$=]1$ THEN SETDOT Y%+1%,X% : U%=U%+1% 760 IF U%>19% THEN ]$="" : ]0$="" : ]1$="" : ]2$="" : ]3$="" : ]4$="" : ]5$="" 770 REM  DATORN STYR  780 IF DOT(43%,28%) SETDOT 43%,28% ELSE SETDOT 43%,28% 790 IF DOT(8%,46%) SETDOT 8%,46% ELSE SETDOT 8%,46% 800 IF Y%>Y1% THEN A2%=A2%+1% : IF DOT(Y1%+1%,X1%) THEN A2%=A2%-1% 810 IF Y%>Y2% THEN D0%=D0%+1% : IF DOT(Y2%+1%,X2%) THEN D0%=D0%-1% 820 IF Y%>Y3% THEN D4%=D4%+1% : IF DOT(Y3%+1%,X3%) THEN D4%=D4%-1% 830 IF Y%>Y4% THEN D8%=D8%+1% : IF DOT(Y4%+1%,X4%) THEN D8%=D8%-1% 840 IF Y%X1% THEN A4%=A4%+1% : IF DOT(Y1%,X1%+1%) THEN A4%=A4%-1% 930 IF X%>X2% THEN D1%=D1%+1% : IF DOT(Y2%,X2%+1%) THEN D1%=D1%-1% 940 IF X%>X3% THEN D6%=D6%+1% : IF DOT(Y3%,X3%+1%) THEN D6%=D6%-1% 950 IF X%>X4% THEN E%=E%+1% : IF DOT(Y4%,X4%+1%) THEN E%=E%-1% 960 OUT 6%,15% 970 IF Y%=Y1% AND X%=X1% THEN GOTO 1250 980 IF Y%=Y2% AND X%=X2% THEN GOTO 1250 990 IF Y%=Y3% AND X%=X3% THEN GOTO 1250 1000 IF Y%=Y4% AND X%=X4% THEN GOTO 1250 1010 SETDOT Y%,X% 1020 ; CUR(22,1)'PO[NG:';B0%;CUR(22,10)'ANTAL:';B1%;CUR(22,21)"DOTPUNKT:";U% 1030 ; CUR(22,33)"BILD";H% 1040 IF B1%=0% GOTO 1320 1050 IF Y%=64% AND X%=39% THEN GOSUB 1640 1060 IF Y%=64% AND X%=40% THEN GOSUB 1640 1070 IF Y%=64% AND X%=41% THEN GOSUB 1640 1080 FOR A8%=1% TO 45% : NEXT A8% 1090 CLRDOT Y%,X% 1100 FOR A8%=1% TO 15% : NEXT A8% 1110 GOSUB 1130 1120 GOTO 600 1130 SETDOT Y1%,X1% 1140 SETDOT Y2%,X2% 1150 SETDOT Y3%,X3% 1160 SETDOT Y4%,X4% 1170 FOR A8%=1% TO A9% : NEXT A8% 1180 CLRDOT Y1%,X1% 1190 CLRDOT Y2%,X2% 1200 CLRDOT Y3%,X3% 1210 CLRDOT Y4%,X4% 1220 FOR A8%=1% TO B% : NEXT A8% 1230 OUT 6,4 1240 RETURN 1250 FOR N%=1% TO 10% 1260 OUT 6,7 : FOR A8%=1% TO 100% : NEXT A8% : OUT 6,4 1270 NEXT N% 1280 B1%=B1%-1% : A0%=0% : A1%=0% 1290 A2%=0% : A4%=0% : D0%=0% : D1%=0% 1300 D9%=0% : E%=0% 1310 GOTO 330 1320 ; CHR$(12) 1330 FOR C%=1% TO 23% 1340 ; CUR(C%,O%);CHR$(23%); 1350 NEXT C% 1360 ; CUR(3,8)'    ' 1370 ; CUR(4,8)'     ' 1380 ; CUR(5,8)'      ' 1390 ; CUR(6,8)'       ' 1400 ; CUR(7,8)'      ' 1410 ; CUR(10,8)'    ' 1420 ; CUR(11,8)'      ' 1430 ; CUR(12,8)'     ' 1440 ; CUR(13,8)'      ' 1450 ; CUR(14,8)'    ' 1460 OUT 6,4 1470 ; CUR(22,0)"Tryck p} (RETURN)!"; : GET G$ 1480 IF ASC(G$)<>13% THEN 1470 1490 ; CHR$(12) 1500 IF P%