Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß) 0!RVB BASIC-MIX2 1 A1$="KLEINCOMPUTER robotron KC85/1 & KC87" 2 A2$="SPIEL":A9=2 4 A3$="R+HOBBIT" 6 A4$="HASE UND WOELFE" 8 A5$="EIN STRATEGIE-WETTSTREIT" 10! AUTOR:SCHROETER 16! INITIALWERTE 18 BORDER A9:INK 8:PAPER 1:WINDOW:CLS:K$="YXCASDQWE" 90 GOSUB 100:GOTO 1000 96! UNTERPROGRAMME ===============UP 98! TITELBILD --------------------UP 100 PRINT AT(2,2);A1$:PRINT AT(4,2);"",STRING$(34,""),"" 102 PRINT AT(5,2);"":PRINT AT(5,37);"" 104 PRINT AT(6,2);"",STRING$(34,""),"" 106 PRINT AT(5,3);A2$:PRINT INK 3;AT(5,29);A3$ 108 INK A9:PRINT AT(8,2);STRING$(36,"") 110 FOR I=9 TO 13:PRINT AT(I,2);"":PRINT AT(I,37);"":NEXT I 112 PRINT AT(14,2);STRING$(36,"") 114 INK 8:PRINT AT(10,36-LEN(A4$));A4$:PRINT AT(12,36-LEN(A5$));A5$ 116 INK 3:PRINT AT(18,2);"VEB ROBOTRON-MESSELEKTRONIK" 118 PRINT AT(20,2);">OTTO SCHOEN< DRESDEN":INK 8:PRINT AT(0,0);" " 119! >ENTER< ---------------------UP 120 PRINT INK 4;AT(22+EV,31+EV);">ENTER<":T$=INKEY$ 122 IF INKEY$=CHR$(13)THEN RETURN:ELSE 122 999! HAUPTPROGRAMM ---------------HP 1000 WINDOW:BORDER 1:PAPER 1:CLS:INK 4:DIM W(10,2),Z(20):VB=1:VW=1:EV=1 1005 PRINT INK 2;TAB(8);"VARIANTENAUSWAHL":PRINT:PRINT 1010 INPUT "SPIELERANZAHL (1...6):";SP 1015 IF SP<>INT(SP)OR SP<1 OR SP>6 THEN PRINT CHR$(11);:GOTO 1010 1020 PRINT:INPUT "RUNDENZAHL (1...10):";R 1025 IF R<>INT(R)OR R<1 OR R>10 THEN PRINT CHR$(11):GOTO 1020 1030 IF SP=1 THEN 1080 1035 PRINT:PRINT "WERTUNGSVARIANTE":PRINT:PRINT " (1) SICHERHEITSSPIEL" 1040 PRINT " (2) RISIKOSPIEL":PRINT 1045 INPUT "VARIANTE (1/2):";VW:IF VW<>1 AND VW<>2 THEN PRINT CHR$(11);:GOTO 1045 1050 PRINT:PRINT "SPIELVARIANTE":PRINT:PRINT " (1) ZUFAELLIGE ANFANGSBILDER" 1055 PRINT " (2) JEDER SPIELER 1.-3.BILD GLEICH" 1060 PRINT " (3) ALLE BILDER GLEICH":PRINT 1065 INPUT "VARIANTE (1...3):";VB 1070 IF VB<>1 AND VB<>2 AND VB<>3 THEN PRINT CHR$(11);:GOTO 1065 1075 WINDOW:PRINT AT(0,0);" " 1080 GOSUB 120:CLS:PRINT INK 2;TAB(4);"EINGABE DER SPIELERNAMEN":PRINT:PRINT 1085 DIM P(R,SP),N$(SP):FOR I=1 TO SP:PRINT 1090 PRINT INK 4;"NAME SPIELER";I;:INPUT ":";N$:N$(I)=LEFT$(N$,4):NEXT I 1095 WINDOW:PRINT AT(0,0);" ":GOSUB 120 1100 FOR RU=1 TO R:IF VB=1 THEN Z=1:ELSE FOR I=0 TO 20:Z(I)=-RND(1):NEXT I 1105 FOR SS=1 TO SP:IF VB<>1 THEN Z=Z(0) 1110 IF VB=3 THEN Z=Z(G) 1115 WINDOW:PAPER 1:CLS:I=RND(Z) 1120 INK 4:PRINT AT(0,0);"",STRING$(34,""),"":FOR I=1 TO 20:PRINT AT(I,0);"" 1125 PRINT AT(I,35);"":NEXT I:PRINT AT(21,0);"",STRING$(34,""),"" 1130 FOR I=1 TO 50-5*G:PRINT INK 3;AT(INT(20*RND(1)+1),INT(34*RND(1)+1));"":NEXT I 1135 FOR I=0 TO 10 1140 W(I,1)=INT(20*RND(1)+1):W(I,2)=INT(34*RND(1)+1) 1145 IF I=0 THEN 1165 1150 F=0:FOR J=0 TO I-1:IF W(I,1)=W(J,1)AND W(I,2)=W(J,2)THEN F=1:J=I 1155 NEXT J:IF F=1 THEN 1140 1160 PRINT INK 2;AT(W(I,1),W(I,2));"$" 1165 NEXT I:N=0:B=0 1170 PRINT INK 8;AT(W(0,1),W(0,2));"*" 1175 INK 8:PRINT AT(14,37);"QWE":PRINT AT(15,37);"A*D":PRINT AT(16,37);"YXC" 1180 PRINT AT(18,37);"":PRINT AT(19,37);"*":PRINT AT(20,37);"":INK 4 1185 PRINT INK 5;AT(1,36);"RU":PRINT INK 2;AT(1,39);MID$(STR$(RU),2,1) 1190 PRINT INK 2;AT(3,36);N$(SS):PRINT INK 5;AT(5,36);"BI" 1195 PRINT INK 2;AT(5,38);RIGHT$(" "+MID$(STR$(G+1),2),2) 1200 PRINT INK 4;AT(9,36);RIGHT$(" "+MID$(STR$(P),2),4) 1205 IF N=3 THEN 1270 1210 PRINT AT(23,30);"RICHTUNG ?":FOR I=1 TO 50:PRINT INK 2;AT(23,27);"" 1215 PAUSE 1:A$=CHR$(PEEK(36)):A=INSTR(A$,K$):IF A<>0 THEN I=100 1220 PRINT INK 2;AT(23,27);"":PAUSE 1:NEXT I 1225 PRINT AT(23,27);STRING$(13," "):IF A=0 OR A=5 THEN 1400 1230 N=0:X=W(0,1)+(A>6)-(A<4) 1235 Y=W(0,2)+(A=1 OR A=4 OR A=7)-(A=3 OR A=6 OR A=9) 1240 PRINT AT(W(0,1),W(0,2));" ":A=PEEK(-5120+X*40+Y):IF A=36 THEN 1430 1245 IF A=204 THEN 1420 1250 IF A<>32 THEN 1425 1255 B=B+1 1260 IF X<>W(0,1)AND Y<>W(0,2)THEN B=0 1265 W(0,1)=X:W(0,2)=Y:PRINT INK 8;AT(X,Y);"*" 1270 W=0:H=1:C=0:FOR I=1 TO 10:X=W(I,1):Y=W(I,2):IF X=0 THEN 1370 1275 IF H=0 THEN W=1:GOTO 1370 1280 PRINT AT(X,Y);" ":L=W(0,1):S=W(0,2):W=W+1:IF RND(1)<.25 THEN 1325 1285 IF RND(1)<.5 THEN 1305 1290 X=X+(L<X)-(L>X) 1295 Y=Y+(S<Y)-(S>Y) 1300 GOTO 1335 1305 IF G=0 THEN 1290 1310 IF ABS(L-X)=ABS(S-Y)THEN 1290 1315 IF ABS(L-X)>ABS(S-Y)THEN X=X+SGN(L-X):ELSE Y=Y+SGN(S-Y) 1320 GOTO 1335 1325 IF G<2 THEN 1285 1330 X=X+SGN(2*RND(1)-1):Y=Y+SGN(2*RND(1)-1) 1335 A=PEEK(-5120+X*40+Y):IF A=204 THEN 1495 1340 IF A=36 THEN 1505 1345 IF A=42 THEN H=0:BEEP 1350 IF A<>32 AND A<>42 THEN 1500 1355 IF ABS(L-X)+ABS(S-Y)=1 THEN C=C+1 1360 PRINT INK 2;AT(X,Y);"$" 1365 W(I,1)=X:W(I,2)=Y 1370 NEXT I 1375 IF H=0 THEN 1435 1380 IF W=0 THEN 1525 1385 IF C=0 THEN B=0 1390 IF B+SGN(C)>4 THEN 1440 1395 GOTO 1205 1400 N=N+1:IF N=2 THEN PRINT AT(23,0);"NICHT EINSCHLAFEN!":BEEP:PAUSE 20 1405 IF N=2 THEN PRINT AT(23,0);STRING$(26," ") 1410 IF N=3 THEN PRINT INK 2;AT(23,27);"EINGESCHLAFEN":BEEP 1415 GOTO 1270 1420 A$="HASE GEGEN BAUM GEPRALLT !":GOTO 1445 1425 A$="HASE GEGEN MAUER GELAUFEN !":GOTO 1445 1430 A$="UAAAAAAH GENAU IN DEN RACHEN !":GOTO 1445 1435 A$="HASE LEIDER GEFRESSEN !":GOTO 1445 1440 A$="GERADEAUS SIND WIR SCHNELLER !" 1445 PRINT AT(23,0);STRING$(40," "):PRINT INK 2;AT(23,0);A$:BEEP 1450 PAUSE 30:WINDOW 1,20,1,34:CLS:PRINT INK 4;AT(0,0);"":INK 3 1455 IF VW=2 THEN 1465 1460 P(RU,SS)=P(RU,SS)+P 1465 IF G=0 THEN PRINT AT(8,4);"IM ERSTEN BILD VERLOREN !":GOTO 1570 1470 IF VW=1 THEN PRINT AT(8,4);"SIE ERREICHTEN",P(RU,SS),"PUNKTE":GOTO 1570 1475 PRINT AT(6,6);"SCHADE SIE HABEN ZU VIEL" 1480 PRINT AT(8,12);"RISKIERT !!!" 1485 PRINT AT(12,3);"SIE HAETTEN",P(RU,SS),"PUNKTE GEHABT" 1490 P(RU,SS)=0:GOTO 1570 1495 PRINT INK 2;AT(23,0);"WOLF GEGEN BAUM!":GOTO 1510 1500 PRINT INK 2;AT(23,0);"WOLF AN DIE MAUER!":GOTO 1510 1505 PRINT INK 2;AT(23,0);"WOLF FRISST WOLF!" 1510 W(I,1)=0:P=P+INT(10+(3*RND(1)*(G+1))):W=W-1 1515 PRINT INK 4;AT(9,36);RIGHT$(" "+MID$(STR$(P),2),4):BEEP:PAUSE 10 1520 PRINT AT(23,0);STRING$(26," "):GOTO 1370 1525 WINDOW 1,20,1,34:CLS:PRINT INK 2;AT(5,7);"H U R R A A A A A A !" 1530 PRINT INK 4;AT(0,0);"":P(RU,SS)=P(RU,SS)+P:P=0 1535 PRINT INK 2;AT(8,6);"EIN GANZES RUDEL WOELFE":PRINT INK 2;AT(10,13);"BESIEGT" 1540 PRINT AT(23,0);STRING$(40," ") 1545 PRINT AT(1,1);" ":G=G+1:IF VW=1 THEN PAUSE 50:WINDOW:CLS:GOTO 1110 1550 PAUSE 20:PRINT INK 3;AT(14,3);"VERSUCHEN SIE NOCH EIN BILD ?" 1555 PRINT INK 4;AT(23,34);"J/(N)":A$=INKEY$ 1560 A$=INKEY$:IF A$<>"J"AND A$<>"N"THEN 1560 1565 IF A$="J"THEN WINDOW:CLS:GOTO 1110 1570 PRINT AT(1,1);" ":GOSUB 120 1575 G=0:P=0:NEXT SS 1580 WINDOW 0,23,36,39:CLS:PRINT AT(23,0);STRING$(36," "):WINDOW 1,20,1,34 1585 CLS:PRINT AT(1,1);" ":PRINT INK 2;AT(3,6);"RUNDENWERTUNG",RU 1590 FOR I=1 TO SP:PRINT INK 5;AT(4+I*2,4);N$(I) 1595 PRINT INK 4;AT(4+I*2,9);P(RU,I):PRINT INK 5;AT(4+I*2,14);"PUNKTE":NEXT I 1600 GOSUB 120 1605 NEXT RU 1610 WINDOW:CLS:OUT 136,4:PRINT INK 2;AT(0,0);"ENDAUSWERTUNG" 1615 PRINT INK 2;AT(1,0);STRING$(13,""):PRINT INK 6;AT(3,0);"RUNDE" 1620 FOR I=1 TO SP:Z(I)=0:PRINT INK 3;AT(3,5*I+2);N$(I):NEXT I 1625 FOR I=1 TO R:PRINT INK 6;AT(I+4,1);I:FOR J=1 TO SP:Z(J)=Z(J)+P(I,J) 1630 PRINT INK 4;AT(I+4,5*J+2);P(I,J):NEXT J:NEXT I:I=I+5 1635 PRINT INK 6;AT(I,0);"SUMME":FOR J=1 TO SP:PRINT INK 2;AT(I,5*J+2);Z(J):NEXT J 1640 PRINT INK 4;AT(19,31);">ENTER<" 1645 GOSUB 120:BORDER 1:CLS:INK 3:PRINT AT(6,6);"AUF WIEDERSEHEN!":PAUSE 50:CLS:END 9000!ENDE HOBBIT