r+memory_sss.tap
r+memory_sss.z80
Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß)

    0!RVB BASIC-MIX1
    1 GOTO 50
    2 RESTORE 300:RETURN
    3 RESTORE 310:RETURN
    4 RESTORE 320:RETURN
    5 RESTORE 330:RETURN
    6 RESTORE 340:RETURN
    7 RESTORE 350:RETURN
    8 RESTORE 360:RETURN
    9 RESTORE 370:RETURN
   10 RESTORE 380:RETURN
   11 RESTORE 390:RETURN
   12 RESTORE 400:RETURN
   13 RESTORE 410:RETURN
   14 RESTORE 420:RETURN
   15 RESTORE 430:RETURN
   16 RESTORE 440:RETURN
   17 RESTORE 450:RETURN
   18 RESTORE 460:RETURN
   19 RESTORE 470:RETURN
   20 RESTORE 480:RETURN
   21 RESTORE 490:RETURN
   22 RESTORE 500:RETURN
   23 RESTORE 510:RETURN
   24 RESTORE 520:RETURN
   25 RESTORE 530:RETURN
   26 RESTORE 540:RETURN
   27 RESTORE 550:RETURN
   28 RESTORE 560:RETURN
   29 RESTORE 570:RETURN
   30 RESTORE 580:RETURN
   31 RESTORE 590:RETURN
   32 RESTORE 600:RETURN
   33 RESTORE 610:RETURN
   50 A1$="KLEINCOMPUTER robotron KC85/1 & KC87"
   60 A2$="SPIELE":A9=2 
   70 A3$="R+MEMORY"  
   80 A4$="BILDERMEMORY"
   90 A5$=""
  100!AUTOREN:Gansauge,Koenig,Kuechler
  130 WINDOW:CLS
  140 BORDER A9:INK 8:PAPER 1:CLS:E0$=">ENTER<"
  150 PRINT AT(2,2);A1$:PRINT AT(4,2);"",STRING$(34,""),"" 
  160 PRINT AT(5,2);"":PRINT AT(5,37);"" 
  170 PRINT AT(6,2);"",STRING$(34,""),"" 
  180 PRINT AT(5,3);A2$:PRINT INK 3;AT(5,29);A3$ 
  190 INK A9:PRINT AT(8,2);STRING$(36,"") 
  200 FOR J=9 TO 13:PRINT AT(J,2);"":PRINT AT(J,37);"":NEXT J 
  210 PRINT AT(14,2);STRING$(36,"") 
  220 INK 8:PRINT AT(10,36-LEN(A4$));A4$:PRINT AT(12,36-LEN(A5$));A5$ 
  230 INK 3:PRINT AT(18,2);"VEB ROBOTRON-MESSELEKTRONIK" 
  240 PRINT AT(20,2);">OTTO SCHOEN< DRESDEN":Z=22:S=31:C=4:GOSUB 250:GOTO 630
  250 PRINT INK C;AT(Z,S);E0$
  260 PRINT AT(0,0);" "
  270 T$=INKEY$:IF T$=""THEN 270 ELSE RETURN
  300 DATA 178,255,179,182,255,182,178,255,179
  310 DATA 32,157,32,148,32,151,32,154,32
  320 DATA 188,32,189,32,255,32,187,32,186
  330 DATA 199,32,199,32,199,32,199,32,199
  340 DATA 174,199,173,199,199,199,171,199,172
  350 DATA 180,180,180,180,180,180,180,180,180
  360 DATA 200,158,136,159,207,192,137,248,193
  370 DATA 190,143,32,190,143,32,190,143,32
  380 DATA 142,199,191,199,199,199,143,199,190
  390 DATA 32,131,32,129,140,128,149,161,146
  400 DATA 190,191,143,142,201,190,191,143,142
  410 DATA 142,191,191,142,32,190,143,143,190
  420 DATA 131,129,128,130,175,131,129,128,130
  430 DATA 255,141,255,141,255,141,255,141,255
  440 DATA 166,160,166,161,32,161,166,160,166
  450 DATA 193,154,137,151,32,148,136,157,200
  460 DATA 175,175,175,175,175,175,175,175,175
  470 DATA 174,130,173,128,140,129,171,131,172
  480 DATA 175,157,175,148,32,151,175,154,175
  490 DATA 188,189,32,187,186,189,32,187,186
  500 DATA 184,184,184,184,184,184,184,184,184
  510 DATA 190,32,143,191,255,142,32,255,32
  520 DATA 174,131,173,129,140,128,171,130,172
  530 DATA 193,158,137,159,196,192,171,248,172
  540 DATA 174,154,173,151,140,148,171,157,172
  550 DATA 174,173,32,171,144,173,32,171,172
  560 DATA 188,182,189,180,32,181,187,183,186
  570 DATA 140,140,140,140,140,140,140,140,140
  580 DATA 174,158,173,171,248,172,32,161,32
  590 DATA 200,154,136,151,32,148,137,157,193
  600 DATA 168,164,169,163,166,165,167,162,170
  610 DATA 174,158,173,255,255,255,171,248,172
  620 DATA 199,199,199,199,199,199,199,199,199
  625 DATA 32,32,32,32,32,32,32,32,32
  630 CLS:BORDER 1:FOR BN=1 TO 32:GOSUB 5000:NEXT BN
  640 WINDOW 20,23,1,38:CLS
  645 SB=49
  650 INK 6:PRINT:PRINT "  WUENSCHEN SIE SPIELART A ODER B?":PRINT AT(22,1);" "
  660 C$=INKEY$:RE=RND(1):IF C$=""THEN 660
  665 IF C$<>"A"AND C$<>"B"THEN 660
  670 FOR BN=1 TO 32:RESTORE 620:FA=2:GOSUB 5000:NEXT BN
  680 WINDOW 20,23,1,38:CLS:PRINT:INK 4:PRINT TAB(13);"ICH MISCHE!"
  690 PRINT AT(22,1);" ":IF C$="A"THEN EN=16:ELSE EN=32
  695 DIM Q(EN/4,8),R(EN*2)
  700 FOR I=1 TO EN*2:R(I)=I:NEXT I
  710 FOR I=1 TO EN
  720 F=INT(RND(1)*33):IF R(F)=0 THEN 720
  725 FOR J=1 TO 2  
  730 FP=INT(RND(1)*2.01*EN):IF FP=0 THEN 730
  740 ZZ=INT(FP/8)+1:SS=FP-8*(ZZ-1):IF SS=0 THEN SS=8:ZZ=ZZ-1
  750 IF Q(ZZ,SS)>0 THEN 730
  760 Q(ZZ,SS)=R(F):NEXT J:R(F)=0:NEXT I
  770 CLS:PRINT:PRINT " WIEVIEL PERSONEN SPIELEN MIT (1-4)?":PRINT AT(22,1);" "
  780 D$=INKEY$:IF D$=""THEN 780
  781 AN=ASC(D$)-48:IF AN<1 OR AN>4 THEN 780
  790 CLS:FOR I=1 TO AN:PRINT INK 2;AT(19+I,4);"SPIELER":PRINT INK 2;AT(19+I,11);I    
  791 PRINT INK 2;AT(19+I,14);":":PRINT INK 7;AT(19+I,19);"0":NEXT I
  795 VS=1:DIM A(AN):SE=49
  796 IF C$="B"THEN PRINT INK 2;AT(20,23);"SEITE 1/2:":PRINT INK 7;AT(20,34);"1"
  800 FOR I=1 TO AN
  802 BN=0:BE=0
  805 IF AN=1 THEN PRINT INK 7;AT(22,5);"VERSUCH":PRINT INK 7;AT(22,18);VS
  810 PRINT INK 7;AT(19+I,2);"->":PRINT AT(20,1);" "
  821 GOSUB 8000:IF A=42 THEN POKE-AD,S:POKE-AD-1024,SF:GOTO 820
  830 VE=RE:BE=BN
  833 GOSUB 8000
  835 IF A=42 THEN POKE-AD,S:POKE-AD-1024,SF:GOTO 832
  836 IF BE=BN THEN GOSUB 6000:GOSUB 5000:GOTO 833
  840 IF VE=RE THEN 865
  845 PAUSE 50
  850 PRINT AT(19+I,2);"  "
  851 IF(BN>32 AND RR=4)OR(BN<33 AND RR=0)THEN FA=2:RESTORE 620:GOSUB 5000
  852 BN=BE:IF(BN>32 AND RR=4)OR(BN<33 AND RR=0)THEN FA=2:RESTORE 620:GOSUB 5000
  860 GOTO 900                
  864 PAUSE 20
  865 FOR J=1 TO EN/4:FOR K=1 TO 8:IF Q(J,K)=VE THEN Q(J,K)=0:ELSE 871
  867 IF(J-1)*8+K<33 AND RR=0 THEN RESTORE 625:BN=(J-1)*8+K:GOSUB 5000
  869 IF(J-1)*8+K>32 AND RR=4 THEN RESTORE 625:BN=(J-1)*8+K:GOSUB 5000
  871 NEXT K:NEXT J
  880 A(I)=A(I)+1:PRINT INK 7;AT(19+I,18);A(I)
  885 SU=0:FOR SZ=1 TO AN:SU=SU+A(SZ):NEXT SZ:IF SU=EN THEN 930
  890 GOTO 802
  900 NEXT I
  910 VS=VS+1
  920 GOTO 800
  930 WINDOW:CLS
  940 IF AN>1 THEN 1000
  950 WINDOW 5,20,5,35:BORDER 2:CLS
  960 INK 4:PRINT "SIE BENOETIGTEN FUER DIE":PRINT EN;"PAARE";VS;"VERSUCHE."
  970 PAUSE 70:GOTO 1500
 1000 WINDOW 4,20,4,39:CLS
 1010 DIM B(AN)
 1020 FOR I=1 TO AN
 1030 FOR J=1 TO AN
 1040 IF A(J)>B(I)THEN B(I)=A(J)
 1050 NEXT J
 1060 FOR J=1 TO AN
 1070 IF A(J)=B(I)THEN A(J)=-1:GOTO 1090
 1080 NEXT J
 1090 INK 4:PRINT I;".PLATZ: SPIELER";J;" ";B(I);"PUNKTE":PRINT
 1100 NEXT I:PAUSE 100
 1500 WINDOW:CLS:PRINT INK 4;AT(12,12);"AUF WIEDERSEHEN!":PRINT AT(0,0);" "
 1510 PAUSE 30:WINDOW:BORDER 1:CLS:END
 5000 REM UP BILD ZEICHNEN
 5007 IF FA=2 THEN INK 5:ELSE INK 4
 5010 ZZ=INT((BN-(RR*8))/8):SS=BN-(RR*8)-1-8*ZZ:IF SS<0 THEN ZZ=ZZ-1:SS=7
 5020 WINDOW 1+ZZ*5,4+ZZ*5,1+SS*5,3+SS*5:CLS
 5030 FOR II=1 TO 9:READ ZW:PRINT CHR$(ZW);:NEXT II:PRINT AT(4+ZZ*5,1+SS*5);" "
 5040 FA=0:RETURN
 6000 REM UP RESTORE
 6001 IF RE=1 THEN RESTORE 300
 6010 ON RE GOTO 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24
 6020 ON RE-23 GOTO 25,26,27,28,29,30,31,32,33
 7000 REM UP VARI B
 7001 POKE-AD,S:POKE-AD-1024,SF
 7010 PRINT INK 7;AT(20,33);SE-48:PRINT AT(21,23);" "
 7025 IF SE=49 THEN RR=0:ELSE RR=4
 7030 INK 7:PRINT AT(20,33);SE-48
 7040 IF SE=SB THEN RETURN
 7050 FOR LL=1+RR TO 4+RR:FOR MM=1 TO 8:BN=(LL-1)*8+MM
 7060 IF Q(LL,MM)=0 THEN RESTORE 625:ELSE RESTORE 620:FA=2
 7070 GOSUB 5000:NEXT MM:NEXT LL
 7080 SB=SE:SE=0:RETURN
 8000 REM UP ZEIGEN
 8001 IF RR=4 AND BE>32 THEN BN=BE:GOSUB 6000:GOSUB 5000
 8002 IF RR=0 AND BE<33 AND BE>0 THEN BN=BE:GOSUB 6000:GOSUB 5000
 8010 AD=5100
 8015 POKE-AD,32
 8020 S=PEEK(-AD)
 8021 SF=PEEK(-AD-1024)
 8024 POKE-AD-1024,16
 8025 POKE-AD,42:IF C$="A"THEN 8030
 8026 B$=INKEY$:IF B$=""THEN 8026
 8027 IF B$="1"OR B$="2"THEN SE=ASC(B$):GOSUB 7000:GOTO 8000:ELSE GOTO 8035
 8030 B$=INKEY$:IF B$=""THEN 8030
 8035 A=ASC(B$)
 8040 IF A=8 THEN AS=1
 8050 IF A=9 THEN AS=-1
 8060 IF A=11 THEN AS=40
 8070 IF A=10 THEN AS=-40
 8080 IF A=13 THEN 8115
 8090 IF AD+AS>5120 OR AD+AS<4321 THEN 8030
 8099 POKE-AD-1024,SF
 8100 POKE-AD,S
 8110 AD=AD+AS:GOTO 8020
 8115 IF S<>199 THEN 8030
 8117 AD=-AD+5121
 8120 ZZ=INT(AD/200)+1
 8121 FOR II=1 TO 20:AD=AD-40:IF AD<0 THEN AD=AD+40:GOTO 8122:ELSE NEXT II
 8122 SS=INT(AD/5)+1
 8130 RE=Q(ZZ+RR,SS):BN=(ZZ-1+RR)*8+SS
 8140 GOSUB 6000:GOSUB 5000:RETURN
 9000!ENDE MEMORY !