Screenshot 1 Screenshot 2
2bc0 3df2 0000 B ... BOHNEN
Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß)

   20 WINDOW:CLS:CLEAR 255
   30 WINDOW 4,23,4,31
   31 PRINT ""
   32 PRINT "                      "
   33 PRINT " 19                85 "
   34 PRINT "                  "
   35 PRINT "                "  
   36 PRINT "                "
   37 PRINT "               "
   38 PRINT "               "
   39 PRINT "                "
   40 PRINT "                "
   41 PRINT "                  "
   42 PRINT "                      "
   43 PRINT "                      "
   44 PRINT "     DAS BOHNENSPIEL  "
   45 PRINT ""
   50 PAUSE 50
  100 WINDOW:CLS:CLEAR:GOTO 110
  105 PRINT AT(X,Y);"":RETURN  
  110 GOSUB 105:IF Y<31 THEN Y=Y+1:GOTO 110 
  115 GOSUB 105:IF X<31 THEN X=X+1:GOTO 115
  120 GOSUB 105:IF Y>0 THEN Y=Y-1:GOTO 120
  125 GOSUB 105:IF X>0 THEN X=X-1:GOTO 125
  130 PRINT AT(2,10);"* BOHNENSPIEL *"
  135 PRINT AT(4,1);STRING$(30,"")
  140 PRINT AT(12,2);"Antworten Sie bitte auf meine"
  145 PRINT AT(14,2);"Fragen mit J bzw. N":PAUSE 30
  150 PRINT AT(12,1);STRING$(30," "):PRINT AT(14,1);STRING$(30," ")
  155 PRINT AT(13,5);"Anleitung erwuenscht?"
  160 A$=INKEY$:IF A$="N"THEN 295:ELSE IF A$<>"J"THEN 160
  165 WINDOW 5,30,2,30:CLS:PRINT AT(0,0);""
  170 PRINT "Vom Spieler wird die Anzahl  seiner"
  175 PRINT "Felder festgelegt.Der Gegner besitzt"
  180 PRINT "ebensoviele. Auf jedem Feld  liegen"
  185 PRINT "am Spielbeginn je 6 Bohnen.  Der"
  190 PRINT "am Zug befindliche Spieler   waehlt"
  195 PRINT "eines seiner Felder aus. Die auf"
  200 PRINT "diesem Feld liegenden Bohnen werden"
  205 PRINT "der Reihe nach auf die nach- folgenden"
  210 PRINT "Felder verteilt. Das Feld,   auf dem"
  215 PRINT "die letzte Bohne verteilt    worden"
  220 PRINT "ist,wird auf Gewinn geprueft "
  240 PRINT "Kann es weiter gehen? J/N"
  245 A$=INKEY$:IF A$<>"J"THEN 245
  246 CLS:PRINT "Liegen auf diesem Feld 2 / 4 oder 6"
  247 PRINT "Bohnen, so werden diese dem  Spieler gutgeschrieben"
  250 PRINT "Trifft das zu, werden ausser dem noch"
  255 PRINT "die vorangegangenen Felder   geprueft."
  260 PRINT "Hat ein Spieler auf seinen   Feldern"
  265 PRINT "keine Bohne mehr, und kann   deshalb""
  270 PRINT "nicht mehr verteilen,ist das Spiel"
  275 PRINT "zu Ende. Die restlichen Boh- nen gehoeren"
  280 PRINT "dem Gegner."
  285 PRINT:PRINT:PRINT "Alles klar?";
  290 A$=INKEY$:IF A$=""THEN 290
  293 IF A$<>"J"THEN 165
  295 WINDOW 5,30,2,30:CLS:PRINT AT(0,0);"":PRINT
  300 PRINT "Wollen Sie mit mir spielen?";:W=0
  305 A$=INKEY$:IF A$="J"THEN 360
  310 IF A$<>"N"THEN 305:ELSE T1$=" nimmt":T2$=T1$:W=1:X=0
  315 PRINT A$:PRINT:PRINT "Dann brauche ich aber Ihren  Namen"
  320 PRINT "und den Ihres Partners.":INPUT "Ihr Name bitte:";S1$
  325 INPUT "Ihr Partner   :";S2$:S1$=LEFT$(S1$,8):S2$=LEFT$(S2$,8)
  330 IF S1$=S2$ THEN S1$=LEFT$(S1$,7)+"1":S2$=LEFT$(S2$,7)+"2":GOTO 350
  335 INPUT "Wer will beginnen? ";A$:IF S1$=A$ THEN 375
  340 IF A$=S2$ THEN S2$=S1$:S1$=A$:GOTO 375
  345 PRINT "Entscheiden Sie sich: ";S1$;" oder ";:PRINT S2$:GOTO 335
  350 PRINT "Da Ihre Namen gleich sind, heissen":PRINT "Sie ";S1$;
  355 PRINT " und Ihr Partner ";S2$:GOTO 335
  360 PAUSE 1:PRINT A$:PRINT:PRINT "Wollen Sie beginnen?";
  365 A$=INKEY$:IF A$="J"THEN X=0:ELSE X=1:IF A$<>"N"THEN 365
  370 S2$="Ich":T2$=" nehme":S1$="Sie":T1$=" nehmen":PRINT A$
  375 PRINT:PRINT "Mit wieviel Feldern spielen  Sie?";:CALL*F6B8:PAUSE 2
  380 A$=INKEY$:IF A$<"1"OR A$>"7"THEN 380:ELSE M=VAL(A$):CALL*F6C5
  385 Y=INT((31-4*M)/(M+1)):WINDOW 1,30,1,30:CLS:Z=Y+1-(M=3 OR M=4 OR M=7)
  390 WINDOW:A=Z:FOR I=1 TO M:PRINT AT(2,A);"":PRINT AT(3,A);""+CHR$(64+I)+""
  395 PRINT AT(4,A);"":PRINT AT(5,A);"  ":PRINT AT(6,A);" 6"
  400 PRINT AT(7,A);"  ":PRINT AT(8,A);"":PRINT AT(12,A);""
  405 PRINT AT(13,A);"  ":PRINT AT(14,A);" 6":PRINT AT(15,A);"  "
  410 PRINT AT(16,A);"":PRINT AT(17,A);""+CHR$(64+M+I)+""
  415 PRINT AT(18,A);"":A=A+4+Y:NEXT:PRINT AT(20,1);STRING$(30,"")
  420 PRINT AT(27,7);S1$
  425 PRINT AT(27,23);S2$
  430 PRINT AT(25,1);STRING$(30,"")
  433 PRINT AT(28,1);STRING$(30,"")
  434 FOR I=26 TO 30:PRINT AT(I,16);"":NEXT I
  435 M=2*M:DIM Z(M):FOR I=1 TO M:Z(I)=6:NEXT:W$="":I=RND(1):IF X=1 THEN 555 
  440 IF W$=S1$ THEN W$=S2$:X$=T2$:X=1:ELSE W$=S1$:X$=T1$:X=0
  445 PRINT AT(21,1);W$+X$+" Feld" 
  450 A$=INKEY$:IF A$<CHR$(65+M*W*X/2)OR A$>=CHR$(65+M/2+M*W*X/2)THEN 450
  455 U=ASC(A$)-64:IF Z(U)=0 THEN 450:ELSE PRINT AT(21,25);A$
  460 T=Z(U):Z(U)=-1:U=U-1:IF U=0 THEN U=M
  465 U=U+1+M*(U=M):Z(U)=Z(U)+1:T=T-1:GOSUB 470:ON 1-(T>=0)GOTO 480,465
  470 PRINT AT(6-8*(U>M/2),Z+1+(4+Y)*(U-1+M/2*(U>M/2)));RIGHT$(STR$(Z(U)),2)
  471 E1=(6-8*(U>M/2))+5:E2=(Z+1+(4+Y)*(U-1+M/2*(U>M/2))) 
  472 PRINT AT(E1,E2);"^"
  475 BEEP:PAUSE 20:PRINT AT(E1,E2);" ":RETURN
  480 PRINT AT(22,1);"Letzte Bohne auf "+CHR$(64+U)+" ->  "+RIGHT$(STR$(Z(U)),2)
  485 PAUSE 25:S=Z(U):IF S<>2 AND S<>4 AND S<>6 THEN 505
  490 PRINT AT(23,1);"GEWINN auf "+CHR$(64+U)+" -> "+RIGHT$(STR$(Z(U)),2)
  495 Z(U)=0:GOSUB 470:IF X=0 THEN N=N+S:O=N:ELSE P=P+S:O=P
  500 PRINT AT(29,8+16*X);RIGHT$(STR$(O),2):U=U-1-M*(U=1):GOTO 485
  505 PAUSE 30:FOR O=1 TO 3:PRINT AT(20+O,1);STRING$(30," "):NEXT:S=0
  510 FOR O=1 TO M/2:S=S+Z(O):NEXT:IF X+W=0 THEN ON(1-(6*M>N+P+S))GOTO 565,525
  515 IF X=1 THEN ON(1-(S=0))GOTO 440,565
  520 IF 6*M>N+P+S THEN 440:ELSE GOTO 565
  525 T=0:X=1:FOR S=M/2+1 TO M:R=0:V=S+Z(S):IF V=S THEN 550
  530 IF V>M THEN V=V-M:GOTO 530
  535 Q=INT(Z(S)/M)-(Z(V)+1)*(V<>S)
  540 IF Q=2 OR Q=4 OR Q=6 THEN R=R+Q:V=V-1-M*(V=1):GOTO 535
  545 IF R>T THEN T=R:U=S
  550 NEXT:IF T>0 THEN 560
  555 U=INT(RND(1)*M/2+1+M/2):IF Z(U)=0 THEN 555
  560 W$="Ich":PRINT AT(21,1);"Ich nehme Feld          "+CHR$(64+U):GOTO 460 
  565 IF X=1 THEN R$=S1$:ELSE R$=S2$
  570 IF W=1 THEN S$=" hat":ELSE S$=" habe":IF X=1 THEN S$=" haben"
  575 PRINT AT(21,1);R$+S$+" keine":PRINT AT(22,1);"Bohnen mehr. ENDE:":N=N+S
  577 PRINT AT(23,15);"PUNKTE"
  580 PRINT AT(23,22);RIGHT$(STR$(N),2):PRINT AT(23,26);RIGHT$(STR$(6*M-N),2)
  585 PRINT AT(24,1);"Neues Spiel?"
  590 A$=INKEY$:IF A$="J"THEN 100
  595 IF A$<>"N"THEN 590:ELSE END