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

    1 A1$="HEIMCOMPUTER robotron Z9001"
    2 A2$="SPIEL":A9=2
    4 A3$="R+TRUMPF"
    6 A4$="TRUMPF-8 ODER MAU"
    8 A5$="EIN KARTENSPIEL"
   10 REM VERFASSER:KITTELMANN
   12 REM ANSCHRIFT:MKD/1EKG
   14 REM DATUM 26.09.1984 VERSION 4.0
   18 WINDOW:BORDER A9:INK 8:PAPER 1:CLS:PRINT AT(0,0);" "
   20 DIM D$(52),N$(8),Y(4):I=RND(-PEEK(31)-1):US=528:GS=581:HS=634:ZS=687
   90 GOSUB 100:GOTO 1000
  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
  120 PRINT INK 4;AT(22,31);">ENTER<"
  122 T$=INKEY$:IF T$=""THEN 122
  124 IF T$=CHR$(13)THEN PRINT AT(20,27);STRING$(11," "):RETURN
  126 GOSUB 130:GOTO 122
  130 PRINT INK 2;AT(20,27);"WIE BITTE ?":RETURN
  150 PRINT INK 4;AT(18,(32-LEN(KY$)));KY$,":(J)/N"
  151 T$=INKEY$:IF T$=""THEN 151
  152 PRINT INK 2;AT(18,37);T$
  154 IF ASC(T$)=13 OR ASC(T$)=74 THEN T=1:RETURN
  156 IF ASC(T$)=78 THEN T=2:RETURN
  158 PRINT INK 2;AT(16,27);"WIE BITTE ?":GOTO 150
  160 K=0:L=0:FOR I=1 TO 8:IF INSTR(N$(I),Z$)<>0 THEN L=I+4*(I>4):I=8:K=1
  168 NEXT I:IF INSTR("8",C$)AND K=1 AND W=0 THEN C$=N$(L)+"  ":RETURN
  172 FOR I=1 TO 13:IF INSTR(MID$(D$(I),3,2),Z$)<>0 THEN L=(L-1)*13+I:I=13:K=K+1
  174 NEXT I:IF K=2 THEN Z$=D$(L)
  178 RETURN
  180 WINDOW 2,14,0,39:CLS:PRINT AT(2,0);" ":FOR I=1 TO 52
  182 J=Q:Q=INT((I-1)/13):IF J<>Q THEN R=0
  184 IF PEEK(GS+I)=1 THEN PRINT INK 4;AT(2+R,2+10*Q);D$(I):R=R+1
  186 NEXT I:Q=0:R=0:RETURN
  290 K=INT(52*RND(5)+1):FOR J=K TO 52:IF PEEK(US+J)=1 THEN M=J:J=52:GOTO 350
  320 NEXT J:FOR J=1 TO K-1:IF PEEK(US+J)=1 THEN M=J:J=K
  350 NEXT J:POKE US+M,0:D1=D1-1:RETURN
  380 GOSUB 180
  410 WINDOW 19,19,2,39:Z$="":INK 6:INPUT "WELCHE KARTE SPIELEN SIE ?";Z$:INK 3
  412 WINDOW 16,18,2,39:CLS
  420 IF Z$<>""THEN 480
  430 IF D1>0 THEN H1=H1+1:GOSUB 290:POKE GS+M,1:GOTO 380
  440 IF BZ=0 THEN PRINT "KARTEN SIND ALLE !":BZ=1:GOTO 410
  450 PRINT "SIE MUESSEN AUSSETZEN !":B=B+1:RETURN
  480 W=1:GOSUB 160:IF K<>2 THEN PRINT Z$;" IST KEINE KARTE !":GOTO 410
  500 IF PEEK(GS+L)=0 THEN PRINT Z$;" HABEN SIE NICHT !":GOTO 410
  530 IF INSTR(RIGHT$(C$,2),Z$)<>0 OR INSTR(LEFT$(C$,1),Z$)<>0 THEN 580
  540 IF RIGHT$(Z$,1)="8"THEN 580
  560 PRINT Z$;"  KANN NICHT GESPIELT WERDEN !":GOTO 410
  580 POKE GS+L,0:C$=D$(L):H1=H1-1:PRINT AT(0,24);C$,"       "
  590 IF RIGHT$(C$,1)<>"8"THEN 645
  600 WINDOW 19,19,2,39:INK 6:INPUT "WELCHE FARBE WUENSCHEN SIE ?";Z$:INK 3
  605 WINDOW 16,18,2,39
  610 CLS:W=0:GOSUB 160:IF K<>1 THEN PRINT Z$;" IST KEINE KARTENFARBE !":GOTO 600
  645 PRINT AT(0,24);C$,"       ":PAUSE 20:B=0:RETURN
  660 FOR I=52 TO 1 STEP-1
  670 IF PEEK(HS+I)=0 OR INSTR("8",D$(I))<>0 THEN 710
  690 IF INSTR(RIGHT$(C$,2),D$(I))<>0 OR INSTR(LEFT$(C$,1),D$(I))<>0 THEN 790
  710 NEXT I:FOR I=46 TO 7 STEP-13
  730 IF PEEK(HS+I)=1 THEN 790
  750 NEXT I:IF D1>0 THEN GOSUB 290:POKE HS+M,1:H2=H2+1:GOTO 660
  760 IF BZ=0 THEN PRINT "KARTEN SIND ALLE !":BZ=1
  770 IF BZ=1 THEN PRINT "ICH MUSS AUSSETZEN !":B=B+1:RETURN
  790 C$=D$(I):B=0:POKE HS+I,0:H2=H2-1:I=1:NEXT I
  800 CLS:IF H2>0 THEN PRINT "ICH HABE";H2+1;"KARTEN":ELSE PRINT "ICH HABE EINE KARTE"
  810 IF RIGHT$(C$,1)<>"8"THEN PRINT "ICH SPIELE ";C$:RETURN
  820 FOR I=1 TO 4:Y(I)=0:NEXT I:K=0:FOR I=1 TO 52 STEP 13:K=K+1:FOR J=I TO I+12
  850 IF PEEK(HS+J)=1 THEN Y(K)=Y(K)+1
  860 NEXT J:NEXT I:P=1:FOR J=2 TO 4:IF Y(J)>Y(P)THEN P=J
  900 NEXT J:PRINT "ICH SPIELE ";C$;:C$=N$(P):PRINT "  UND WAEHLE ";C$:RETURN
 1000 CLS:WINDOW 0,19,1,39:PRINT AT(0,1);" ":OUT 136,4:INK 3
 1002 PRINT AT(6,2);"MOMENT BITTE - ICH MISCHE"
 1004 N$(1)="":N$(2)="":N$(3)="":N$(4)=""
 1005 N$(5)="Y":N$(6)="X":N$(7)="C":N$(8)="V"
 1006 FOR I=0 TO 3:FOR J=1 TO 13:K=J+1:A1$=STR$(K):IF K=11 THEN A1$=" BUBE"
 1007 IF K=12 THEN A1$=" DAME"
 1008 IF K=13 THEN A1$=" KOENIG"
 1009 IF K=14 THEN A1$=" AS"
 1010 IF K>10 THEN K=10
 1012 IF K=8 THEN K=50
 1014 D$(I*13+J)=N$(I+1)+A1$:POKE ZS+I*13+J,K:NEXT J:NEXT I
 1020 FOR I=1 TO 52:POKE GS+I,0:POKE HS+I,0:POKE US+I,1:NEXT I:D1=52
 1022 FOR I=1 TO 7:GOSUB 290:POKE GS+M,1:GOSUB 290:POKE HS+M,1:NEXT I
 1024 GOSUB 290:C$=D$(M):H1=7:H2=7:B=0:BZ=0:CLS
 1028 PRINT AT(0,2);"AUSGESPIELTE KARTE :  ",C$,"       "
 1034 IF NOT(H2=0 OR B=2)THEN GOSUB 380:IF NOT(H1=0 OR B=2)THEN GOSUB 660:GOTO 1028
 1036 BEEP:PAUSE 30:BEEP:WINDOW 2,19,2,39:CLS:PRINT AT(2,2);" ":C1=0:C2=0
 1038 IF H2<>0 THEN PRINT AT(0,2);"MEINE KARTEN :",STRING$(16," ")
 1039 IF H1<>0 AND H2=0 THEN PRINT AT(0,2);"IHRE KARTEN :",STRING$(18," "):GOSUB 180
 1041 FOR I=1 TO 52:J=Q:Q=INT((I-1)/13):IF J<>Q THEN R=0
 1042 IF PEEK(HS+I)=1 THEN PRINT AT(2+R,2+10*Q);D$(I):R=R+1:C1=C1+PEEK(ZS+I)
 1044 IF PEEK(GS+I)=1 THEN C2=C2+PEEK(ZS+I)
 1046 NEXT I:Q=0:R=0:S1=S1+C1:S2=S2+C2
 1056 PRINT INK 2;AT(15,2);"IHRE PUNKTE :",C1,"  MEINE PUNKTE :",C2
 1058 IF C2<C1 THEN PRINT AT(16,2);"SIE HABEN GEWONNEN !":N1=N1+1:GOTO 1064
 1060 PRINT AT(16,2);"SIE HABEN VERLOREN !":N2=N2+1
 1064 N3=N3+1:KY$="WEITER SPIELEN":GOSUB 150
 1066 WINDOW 0,19,0,39:CLS:PRINT AT(0,0);" ":IF T=1 THEN 1020
 1068 PRINT AT(3,3);"ANZAHL DER SPIELE  :",N3
 1070 PRINT INK 7;AT(5,3);"SIE HABEN GEWONNEN :",N1
 1071 PRINT INK 7;AT(7,3);"SIE HABEN VERLOREN :",N2
 1072 PRINT INK 2;AT(9,3);"IHRE GESAMTPUNKTE  :",S1
 1074 PRINT INK 2;AT(11,3);"MEINE GESAMTPUNKTE :",S2
 1076 IF S1>S2 THEN PRINT AT(13,3);"GROSSE KLASSE !"
 1078 IF S1<S2 THEN PRINT AT(13,3);"TROESTEN SIE SICH !"
 1080 PRINT INK 6;AT(19,31);">ENTER<":GOSUB 120
 1082 BORDER 7:WINDOW:CLS:PRINT AT(0,0);" ":PRINT INK 3;AT(8,2);"AUF WIEDERSEHEN !"
 1084 PAUSE 50:CLS:END