Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß) 0!RVB BASIC-MIX2 1 CLEAR 512:A1$="KLEINCOMPUTER robotron KC85/1 & KC87" 2 A2$="SPIEL":A9=2 4 A3$="R+FLOHSP" 6 A4$="DAS LUSTIGE FLOHSPRINGEN" 8 A5$="EIN GESELLSCHAFTSSPIEL" 10! AUTOR:SCHROETER 18 BORDER A9:INK 8:PAPER 1:WINDOW:CLS 90 GOSUB 100:GOTO 1000 100 PRINT AT(0,0);" ":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 120 PRINT INK 4;AT(22,31);">ENTER<" 122 IF PEEK(36)<>13 THEN 122:ELSE RETURN 500 X(I)=INT(19*RND(1)+1):Y(I)=INT(35*RND(1)+4):F(I)=INT((I-1)/4+2):K(I)=0 501 R(I)=0:Z=0:FOR J=1 TO 4*S:Z=Z-(I<>J AND X(I)=X(J)AND Y(I)=Y(J)):NEXT J 502 IF Z<>0 THEN 500 503 INK F(I):IF R(I)<>0 THEN RETURN 504 PRINT AT(X(I),Y(I));A$(I):RETURN 510 WINDOW:PRINT AT(0,0);" ":PAUSE 30:RETURN 530 PRINT " BEUTE: ";:FOR J=1 TO 4*S:IF R(J)=K+1 THEN INK F(J):PRINT A$(J); 534 NEXT J:PRINT:RETURN 540 FOR J=1 TO 4:I=(K-1)*4+J:INK K+1:IF R(I)=0 THEN PRINT LEFT$(STR$(J),2);:GOSUB 550 541 NEXT J:INK K+1:GOSUB 560:WINDOW 22,23,2,39:CLS:GOSUB 570:Q=1 543 IF X>=1 AND X<=19 AND Y>=3 AND Y<=38 THEN GOSUB 580:RETURN 544 IF X>=0 AND X<=20 AND Y>=0 AND Y<=39 THEN Q=0:GOSUB 590 545 IF Q=0 THEN RETURN:ELSE GOSUB 600:RETURN 550 IF K(I)=0 THEN RETURN:ELSE P=I:H=I 553 O=K(P):INK F(O):PRINT A$(O);:IF K(O)=0 THEN I=H:INK F(I):RETURN:ELSE P=O:GOTO 553 560 PRINT AT(23,2);"MIT WELCHEM FLOH SPRINGEN SIE ?":WINDOW:PRINT AT(0,0);" " 561 FOR J=1 TO 4:I=(K-1)*4+J:INK F(I) 562 IF R(I)=0 THEN PRINT AT(X(I),Y(I));MID$(STR$(J),2,1) 563 NEXT J:PAUSE 2:FOR J=1 TO 4:I=(K-1)*4+J:IF R(I)=0 THEN PRINT AT(X(I),Y(I));A$(I) 564 NEXT J:T$=INKEY$:IF T$=""THEN 561:ELSE I=ASC(T$)-48 565 IF I<1 OR I>4 THEN 561:ELSE IF R((K-1)*4+I)<>0 THEN 561 566 I=I+(K-1)*4:RETURN 570 WINDOW 23,23,2,39:CLS:PRINT "UNTER WELCHEM WINKEL "; 571 INPUT W:CLS:W=W*PI*2/360 572 PRINT "UEBER WELCHE DISTANZ (";SG;CHR$(8);"-40) "; 573 INPUT D:CLS:IF D<SG OR D>50 THEN 572 574 X=X(I)-INT(SIN(W)*D+.5):Y=Y(I)+INT(COS(W)*D+.5) 575 WINDOW:PRINT AT(0,0);" ":PRINT AT(X(I),Y(I));" ":RETURN 580 X(I)=X:Y(I)=Y:INK F(I):PRINT AT(X,Y);A$(I):P=I 581 O=K(P):IF O=0 THEN 583 582 X(O)=X:Y(O)=Y:P=O:GOTO 581 583 FOR O=1 TO 4*S 584 IF X(O)<>X(I)OR Y(O)<>Y(I)OR R(O)<>0 THEN 588 585 IF F(O)=F(I)AND O<>I THEN GOSUB 620:RETURN 586 IF F(O)=F(I)THEN 588 587 IF R(O)=0 THEN GOSUB 610:RETURN 588 NEXT O:RETURN 590 R=PEEK(-5120+40*X+Y):IF CHR$(R)=B$(INT((I-1)/4))THEN 630 594 IF R=32 THEN Q=1:RETURN 595 IF(R>200 AND R<205)OR R=207 OR R=166 THEN 640:ELSE 660 600 INK F(I):WINDOW 21,23,2,39:CLS:PRINT "DAS GING INS AUSSEITS":BEEP 601 IF K(I)<>0 THEN 603:ELSE PRINT "SIE VERLIEREN DIESEN FLOH" 602 R(I)=10:K(I)=0:T=2:GOSUB 510:RETURN 603 PRINT "SIE VERLIEREN DEN TURM":GOSUB 510:H=I:R=K(I):GOSUB 500 604 I=R:R=K(I):IF F(H)=F(I)THEN R(I)=10:K(I)=0:GOTO 606 605 GOSUB 500 606 IF R=0 THEN I=H:T=2:RETURN 607 GOTO 604 610 WINDOW 22,23,2,39:CLS 611 PRINT:PRINT "GENAU GETROFFEN!!!";:BEEP:GOSUB 510 612 K(P)=O:R(O)=1:RETURN 620 WINDOW 22,23,2,39:CLS:PRINT "DAS WAR EIN EIGENER FLOH" 621 PRINT "SIE HABEN WOHL GENUG DAVON!?"; 622 BEEP:GOSUB 510:GOTO 612 630 INK F(I):PRINT AT(23,2);"DIESER FLOH HAT SEINEN HOF ERREICHT":BEEP 631 PAPER F(I):INK 1:PRINT AT(X,Y);"":R=K(I):PAPER 1:PAUSE 30:GOSUB 500 632 PRINT PAPER F(I);AT(X,Y);B$(INT((I-1)/4)):IF R=0 THEN T=2:RETURN 633 WINDOW 23,23,2,39:CLS:H=I 634 I=R:F=F(I):IF F(H)=F THEN 636:ELSE R=K(I):R(I)=F(H):BEEP 635 PRINT AT(23,2);"BEUTEFLOH: ":INK F:PRINT AT(23,14);A$(I):GOSUB 510:GOTO 637 636 PRINT AT(23,2);"FLOH BEFREIT!":BEEP:R=K(I):GOSUB 500:GOSUB 510 637 IF R=0 THEN I=H:T=2:RETURN 638 INK F(H):GOTO 634 640 INK F(I):WINDOW 21,23,2,39:CLS:PRINT "DAS WAR EIN FREMDER HOF!":BEEP:GOTO 601 650 INK K+1:FOR J=4*K-3 TO 4*K:IF R(J)<2 THEN 655 651 NEXT J:SA=SA+1:A(K)=SA 652 PRINT "SCHEIDET LEIDER AUS":GOSUB 510 653 FOR J=4*K-3 TO 4*K:X(J)=0:NEXT J:RETURN 655 PRINT "MUSS ABWARTEN, BIS WIEDER FLOEHE" 656 PRINT "FREI WERDEN!"; 657 GOSUB 510:RETURN 660 INK F(I):WINDOW 21,23,2,39:CLS:PRINT "BEGRENZUNG GETROFFEN":BEEP 661 R=PEEK(-5120+40*X+Y) 662 FOR J=1 TO 10:INK F(I):PRINT AT(X,Y);A$(I):PAUSE 2:INK 8 663 PRINT AT(X,Y);CHR$(R):PAUSE 2:NEXT J 664 INK F(I):GOTO 601 1000 BORDER 1:PAPER 1:CLS:INK 2:SA=0 1010 DIM A$(24):PRINT AT(10,4);"",STRING$(28,""),"" 1020 FOR I=11 TO 13:PRINT AT(I,4);"":PRINT AT(I,33);"":NEXT I 1030 PRINT AT(14,4);"",STRING$(28,""),"":INK 3 1040 PRINT AT(12,6);"ANZAHL DER FLOHKUENSTLER ?" 1050 WINDOW 22,22,30,39:CLS:INPUT "(2...6)";S 1060 S=INT(S):IF S<2 OR S>6 THEN 1050 1070 FOR I=1 TO S:WINDOW:PRINT AT(12,6);" NAMEN DER FLOHSPRINGER ? " 1080 WINDOW 22,22,27,39:CLS:INK I+1:INPUT N$(I):INK 3:NEXT I:WINDOW 1110 INK 3:PRINT AT(12,6);" SCHWIERIGKEITSGRAD ? " 1120 WINDOW 22,22,28,39:CLS:INPUT "(1...20)";SG 1130 IF SG<1 OR SG>20 THEN 1120 1140 DIM A(S),B(S),G(S) 1150 WINDOW:DIM X(4*S):DIM Y(4*S):DIM F(4*S):DIM K(4*S):DIM R(4*S):INK 8:CLS 1155 PRINT AT(0,0);" ":PRINT INK 1;AT(12,6);"BITTE EINE >1< EINGEBEN!" 1160 PRINT AT(22,30);">ENTER<":A$=INKEY$:IF A$=""THEN 1160 1162 IF A$="1"THEN SW=1 1164 IF A$<>"1"AND A$<>CHR$(13)THEN 1155 1170 CLS:PRINT AT(0,0);" ":PRINT AT(0,2);"",STRING$(36,""),"" 1180 FOR I=1 TO 19:PRINT AT(I,2);"":PRINT AT(I,39);"":NEXT I 1190 PRINT AT(20,2);"",STRING$(36,""),"" 1200 V=INT(1.5*(6-S)+1):PRINT INK 8;AT(V,0);"":FOR I=0 TO S-1 1210 B$(I)=CHR$(-(I+201)*(I<4)-207*(I=4)-166*(I=5)):FOR J=1 TO 2 1240 PRINT INK 8;AT(3*I+J+V,0);"":INK I+2:PAPER I+2:PRINT AT(3*I+J+V,1);B$(I),B$(I) 1260 PRINT AT(3*I+J+V,1);B$(I),B$(I):PAPER 1:NEXT J 1280 PRINT INK 8;AT(3*I+3+V,0);"":NEXT I 1290 PRINT INK 8;AT(3*I+V,0);"":FOR I=1 TO 4*S 1300 A$(I)=CHR$(-((I-1)/4+201)*(I<17)-207*(I>16 AND I<21)-166*(I>20)) 1302 IF SW=0 THEN A$(I)="" 1305 GOSUB 500:NEXT I 1310 FOR K=1 TO S:IF X(4*K-3)=0 THEN 1440 1330 INK K+1:WINDOW 21,23,2,39:CLS:IF SW=1 THEN PRINT B$(K-1);" "; 1360 PRINT N$(K);" ";:GOSUB 530:Z=0:FOR J=1 TO 4:I=(K-1)*4+J 1400 IF R(I)=0 THEN Z=Z+1 1410 NEXT J:IF Z=0 THEN GOSUB 650:GOTO 1440:ELSE GOSUB 540 1440 NEXT K:IF SA<S-1 THEN 1310 1460 WINDOW:CLS:PRINT AT(0,0);" ":PRINT INK 2;AT(2,8);"ENDAUSWERTUNG" 1470 PRINT INK 4;AT(6,21);"AUS BEUTE WERTUNG" 1480 FOR I=1 TO 4*S:IF R(I)>1 AND R(I)<8 THEN B(R(I)-1)=B(R(I)-1)+1 1500 NEXT I:FOR I=1 TO S:IF X(I*4-3)<>0 THEN A(I)=S 1505 G(I)=A(I)*2+B(I):NEXT I 1510 FOR I=1 TO S:K=7+2*I:PRINT INK 4;AT(K,0);"PLATZ",I,": ":M=0:FOR J=1 TO S 1520 IF G(J)>M THEN M=G(J):N=J:T=A(J):ELSE IF G(J)=M AND A(J)>T THEN M=G(J):N=J:T=A(J) 1530 NEXT J:PRINT INK N+1;AT(K,10);N$(N):PRINT INK 3;AT(K,21);A(N) 1540 PRINT INK 3;AT(K,26);B(N):PRINT INK 3;AT(K,33);G(N):G(N)=0:NEXT I 1550 GOSUB 120:WINDOW:CLS:PRINT INK 3;AT(8,6);"AUF WIEDERSEHEN!":PAUSE 50:CLS:END 9000!ENDE FLOHSP