Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß) 10! Programm: R+NIM VERSION 1 20 CLEAR 100 30 A1$="HEIMCOMPUTER robotron Z9001" 40 A2$="SPIEL":A9=2:A3$="R+NIM" 50 A4$="NIM-SPIEL" 60 A5$="EINE EINFACHE VARIANTE" 70 WINDOW:BORDER A9:INK 8:PAPER 1:CLS 80 PRINT INK 1;AT(0,0);" " 90 PRINT AT(2,2);A1$:PRINT AT(4,2);"",STRING$(34,""),"" 100 PRINT AT(5,2);"":PRINT AT(5,37);"" 110 PRINT AT(6,2);"",STRING$(34,""),"" 120 PRINT AT(5,3);A2$:PRINT INK 3;AT(5,29);A3$ 130 INK A9:PRINT AT(8,2);STRING$(36,"") 140 FOR I=9 TO 13:PRINT AT(I,2);"":PRINT AT(I,37);"":NEXT I 150 PRINT AT(14,2);STRING$(36,"") 160 INK 8:PRINT AT(10,36-LEN(A4$));A4$:PRINT AT(12,36-LEN(A5$));A5$ 170 PRINT INK 3;AT(18,2);"VEB ROBOTRON-MESSELEKTRONIK" 180 PRINT INK 3;AT(19,8);">OTTO SCHOEN< DRESDEN":GOSUB 230 190 INK 3:PRINT AT(19,2);"ERLAEUTERUNGEN: (J)/N " 200 PRINT AT(18,2);STRING$(27," ") 210 PRINT INK 4;AT(22,31);">ENTER<":WINDOW 19,19,30,36:JN$="J":INPUT "";JN$ 220 GOTO 260 230 PRINT INK 4;AT(22,31);">ENTER<" 240 T$=INKEY$:IF T$=""THEN:GOTO 240 250 RETURN 260 PAPER 5:BORDER 5:INK 8:WINDOW:CLS 270 IF JN$="N"THEN GOTO 410 280 PRINT TAB(5);"DIES IST EIN NIM-SPIEL" 290 PRINT TAB(5);STRING$(22,CHR$(226)) 300 PRINT:PRINT "GEGEBEN IST EINE MENGE VON N GEGEN-":PRINT 310 PRINT "STAENDEN (Z.B. STREICHHOELZER). DER":PRINT 320 PRINT "SPIELER UND DER RECHNER NEHMEN AB-":PRINT 330 PRINT "WECHSELND MINDESTENS 1, HOECHSTENS":PRINT 340 PRINT "K HOELZER WEG. ES VERLIERT DERJENIGE,":PRINT 350 PRINT "DER DAS LETZTE HOLZ NEHMEN MUSS.":PRINT 360 PRINT:PRINT "VIEL SPASS - UND LASSEN SIE SICH":PRINT 370 PRINT "DURCH EVENTUELLE NIEDERLAGEN NICHT":PRINT 380 PRINT "GLEICH ENTMUTIGEN.":PRINT 390 INK 6:INPUT "BEGINN DES SPIELS MIT ENTER";B:INK 8 400 CLS 410 PRINT AT(0,1);"AUSGANGSANZAHL IST " 420 GOTO 530 430 WINDOW 23,23,0,39 440 INK 4:PAPER 1:INPUT "4<N<=120 !!! - ENTER";B:INK 8:PAPER 5:CLS:GOTO 530 450 WINDOW 23,23,0,39 460 INK 4:PAPER 1:INPUT "DAS IST UNFAIR - K>1 WAEHLEN!! - ENTER";B:INK 8:PAPER 5 470 CLS:GOTO 620 480 WINDOW 23,23,0,39 490 INK 4:PAPER 1:INPUT "K<=N/2 !!! - ENTER";B:INK 8:PAPER 5:CLS:GOTO 620 500 WINDOW 23,23,0,39 510 INK 4:PAPER 1:INPUT "WIR KENNEN NUR GANZE HOELZER! - ENTER";B:INK 8:PAPER 5 520 CLS 530 WINDOW 21,21,0,39:INK 6:INPUT "ZAHL DER HOELZER (4<N<=120) ?";N:INK 8 540 IF N-INT(N)<>0 THEN 510 550 IF N>120 OR N<5 THEN 430 560 PRINT AT(0,20);" " 570 ZK$=STR$(N):L=LEN(ZK$) 580 PRINT AT(0,20);" " 590 PRINT PAPER 1;AT(0,21+4-L);RIGHT$(ZK$,L-1) 600 PRINT AT(0,25);"HOELZER" 610 AU=N 620 WINDOW 21,21,34,39:INK 6 630 K$=STR$(INT(N/2)):K$=RIGHT$(K$,LEN(K$)-1) 640 PRINT AT(21,0);"AUF EINMAL WEGNEHMBAR (1<K<=",K$,") ?" 650 INPUT "";K :WINDOW 21,21,0,39:CLS 660 INK 8:IF K>N/2 THEN 480 670 IF K<2 THEN GOTO 450 680 IF K-INT(K)<>0 THEN GOTO 500 690 PRINT AT(1,0);"MAN DARF HOECHSTENS" 700 PRINT AT(1,21);" " 710 ZK$=STR$(K):L=LEN(ZK$) 720 PRINT PAPER 1;AT(1,21+4-L);RIGHT$(ZK$,L-1) 730 PRINT AT(1,25);"HOELZER NEHMEN" 740 PRINT AT(2,0);STRING$(40,CHR$(160)) 750 K5=1:J=1:M=0:Z=8:S=8 760 FOR I=1 TO N 770 PRINT AT(Z,S+I+M-20*(K5-1));CHR$(244) 780 INK 2:PRINT AT(Z-1,S+I+M-20*(K5-1));CHR$(223):INK 8 790 IF I<>N THEN 810 800 LZ=Z:LS=S+I+M-20*(K5-1) 810 IF I=5*J THEN 830 820 GOTO 850 830 J=J+1:M=M+1 840 PRINT AT(Z,S+I+M-20*(K5-1));" " 850 IF I=20*K5 THEN 870 860 GOTO 900 870 K5=K5+1 880 Z=Z+2 890 M=0 900 NEXT I 910 GOTO 940 920 WINDOW 23,23,0,39 930 INK 4:PAPER 1:INPUT "FALSCHE EINGABE - ENTER";B:INK 8:PAPER 5:CLS 940 WE=0 950 WINDOW 21,21,0,39:INK 6:INPUT "WER BEGINNT: (0)-RECHNER; 1-SPIELER";WE:INK 8 960 WO$="XXXXXXX" 970 T6$="DER "+WO$+" NIMMT" 980 PRINT AT(4,0);T6$ 990 PRINT AT(4,22);"HOELZER (HOLZ)" 1000 PRINT AT(5,0);"ES SIND NUN NOCH" 1010 PRINT AT(5,22);"HOELZER (HOLZ) DA" 1020 PRINT AT(6,0);STRING$(40,CHR$(251)) 1030 IF WE=1 THEN 1460 1040 IF WE<>0 THEN 930 1050 GOTO 1070 1060 WINDOW 21,21,0,39:INK 6:INPUT "ZUG DES RECHNERS NACH ENTER";B:INK 8 1070 R=N-(INT((N-1)/(K+1))*(K+1)+1) 1080 IF R<>0 THEN 1130 1090 R=INT(RND(K)*K) 1100 IF R=0 THEN 1090 1110 IF R<=N THEN 1130 1120 R=1 1130 N=N-R 1140 IF N>0 THEN 1220 1150 PRINT AT(7,9);" " 1160 WINDOW 8,20,0,39:INK 2:PAPER 1:CLS 1170 WINDOW 8,20,7,39:PRINT:PRINT:PRINT "Ich fuerchte, Sie haben":PRINT 1180 PRINT "das System erkannt.":PRINT:PRINT 1190 PRINT:INK 4:PRINT "Ich gebe mich geschlagen!":INK 2 1200 WINDOW 22,22,0,39:INK 6:PAPER 5:INPUT "ENTER";B:INK 8 1210 GOTO 1730 1220 PRINT AT(4,4);"RECHNER" 1230 PRINT AT(4,18);" " 1240 ZK$=STR$(R):L=LEN(ZK$) 1250 PRINT PAPER 2;AT(4,18+4-L);RIGHT$(ZK$,L-1) 1260 PRINT AT(5,18);" " 1270 ZK$=STR$(N):L=LEN(ZK$) 1280 PRINT PAPER 2;AT(5,18+4-L);RIGHT$(ZK$,L-1) 1290 FOR I=1 TO R 1300 PRINT AT(LZ,LS);" " 1310 PRINT AT(LZ-1,LS);" " 1320 LS=LS-1 1330 IF LS=14 OR LS=20 OR LS=26 THEN LS=LS-1 1340 IF LS>8 THEN 1360 1350 LS=31:LZ=LZ-2 1360 NEXT I 1370 GOTO 1460 1380 WINDOW 23,23,0,39 1390 INK 4:PAPER 1:INPUT "SOVIELE SIND NICHT ZUGELASSEN! - ENTER";B:INK 8:PAPER 5 1400 CLS:GOTO 1460 1410 WINDOW 23,23,0,39 1420 INK 4:PAPER 1:INPUT "SOVIELE HABEN WIR GAR NICHT!! - ENTER";B:INK 8:PAPER 5 1430 CLS:GOTO 1460 1440 WINDOW 23,23,0,39 1450 INK 4:PAPER 1:INPUT "NICHT MOGELN!! - ENTER";B:INK 8:PAPER 5:CLS 1460 WINDOW 21,21,0,39:INK 6:INPUT "WIEVIELE HOELZER NIMMT DER SPIELER?";R:INK 8 1470 IF R>K THEN 1380 1480 IF R>N THEN 1410 1490 IF R<=0 THEN 1440 1500 N=N-R 1510 PRINT AT(4,4);"SPIELER" 1520 PRINT AT(4,18);" " 1530 ZK$=STR$(R):L=LEN(ZK$) 1540 PRINT PAPER 2;AT(4,18+4-L);RIGHT$(ZK$,L-1) 1550 PRINT AT(5,18);" " 1560 ZK$=STR$(N):L=LEN(ZK$) 1570 PRINT PAPER 2;AT(5,18+4-L);RIGHT$(ZK$,L-1) 1580 FOR I=1 TO R 1590 PRINT AT(LZ,LS);" " 1600 PRINT AT(LZ-1,LS);" " 1610 LS=LS-1 1620 IF LS=14 OR LS=20 OR LS=26 THEN LS=LS-1 1630 IF LS>8 THEN 1650 1640 LS=31:LZ=LZ-2 1650 NEXT I 1660 IF N>0 THEN 1060 1670 WINDOW 8,20,0,39:INK 2:PAPER 1:CLS 1680 WINDOW 8,20,1,39:PRINT:PRINT:PRINT "Ich muss Ihnen die traurige Mitteilung" 1690 PRINT:PRINT "machen, dass Sie verloren haben.":PRINT:PRINT 1700 INK 4:PRINT "Sicher klappt es beim naechsten Mal":PRINT 1710 PRINT "schon besser!":INK 2 1720 WINDOW 22,22,0,39:INK 6:PAPER 5:INPUT "ENTER";B:INK 8 1730 INK 6:JN$="J":INPUT "NEUES SPIEL: (J)/N";JN$ 1740 IF JN$="N"THEN GOTO 1770 1750 WINDOW 0,23,0,39:INK 8 1760 GOTO 400 1770 WINDOW:CLS:INK 8:PRINT TAB(14);"D A N K E" 1780 END