Sharp PC1360 Taschencomputer
 

 Sharp PC1360

Kniffel - Listing

Im Folgenden finden Sie das Listing zum Würfelspiel "Kniffel".


Javascriptprogramm
Dokumentation ansehen
Programmspeicher-Image laden


10 "1"DATA "FC0201010101C1C10101010102FC","0F1020202020202020202020100F"
20 "2"DATA "FC020101010101010119190102FC","0F1020262620202020202020100F"
30 "3"DATA "FC0201191901C1C10101010102FC","0F1020202020202020262620100F"
40 "4"DATA "FC020119190101010119190102FC","0F1020262620202020262620100F"
50 "5"DATA "FC0201191901C1C10119190102FC","0F1020262620202020262620100F"
60 "6"DATA "FC0201D9D901010101D9D90102FC","0F1020262620202020262620100F"
70 "K"RANDOM :CLS :WAIT 0:CLEAR F,A,B,C,D,E,W,Z,Q,P,O
80 PRINT "***** KNIFFEL *****
90 INPUT "Spielerzahl : ";S
100 ERASE W$,Z$,P,SA,S$,B,A
110 DIM W$(5,1)*28,Z$(S,1)*20,P(S),S$(S)*2,B(S),SA(4)
120 CLS
130 FOR J=1 TO S
140 CURSOR 0,0
150 Z$(J,0)=" 1 2 3 4 5 6 "
160 Z$(J,1)="DP VP FH KS GS KN CH"
170 PRINT "Spieler ";STR$ J:INPUT "Monogramm : ";S$(J)
180 NEXT J
185 FOR I=0 TO 5:RESTORE STR$ (I+1):READ W$(I,0),W$(I,1):NEXT I
190 CLS
200 FOR I=1 TO 13
210 FOR J=1 TO S
220 PRINT Z$(J,0);" ";S$(J)
230 PRINT Z$(J,1)
240 LINE (132,0)-(132,10):LINE (133,10)-(149,10)
250 CURSOR (24-LEN STR$ B(J)),2:PRINT STR$ B(J)
260 CURSOR (24-LEN STR$ P(J)),3:PRINT STR$ P(J)
270 FOR N=1 TO 5
280 A(N)=RND 6
290 NEXT N
300 FOR N=1 TO 5
330 GCURSOR (N*21-11,25):GPRINT W$(A(N)-1,0)
350 GCURSOR (N*21-11,33):GPRINT W$(A(N)-1,1)
370 NEXT N
380 IF Z=2 CLEAR Z:GOTO 490
390 T$=INKEY$ :IF T$=""GOTO 390
400 U=VAL T$
410 IF ASC T$<>13 AND (U=0 OR U>5)BEEP 1,200,100:GOTO 390
420 BEEP 1,1,150
430 IF ASC T$=13 GOTO 470
440 N=U
445 W=1:SA(N-1)=NOT SA(N-1)+2
446 IF SA(N-1) GCURSOR (N*21-15,27):GPRINT "7C3810":GOTO 390
450 GCURSOR (N*21-15,27):GPRINT "000000":GOTO 390
452 FOR L=1 TO 5:IF SA(L-1) LET A(L)=RND 6:SA(L-1)=0:LINE (L*21-15,32)-(L*21+3,18),R,BF
460 NEXT L:RETURN
470 Z=Z+1
480 IF W CLEAR W:GOSUB 452 :GOTO 300
490 CLEAR Z,W,X$
510 CURSOR 18,3
520 INPUT X$
530 Y=VAL X$
540 IF Y>6 GOTO 730
550 IF Y=0 GOTO 660
560 IF MID$ (Z$(J,0),Y*3,1)="-" GOTO 730
570 Z$(J,0)=LEFT$ (Z$(J,0),Y*3-1)+"-"+RIGHT$ (Z$(J,0),20-Y*3)
580 FOR N=1 TO 5
590 IF A(N)=Y LET Q=Q+Y
600 NEXT N
610 B(J)=B(J)+Q-3*Y
620 P(J)=P(J)+Q
630 CLEAR Q
640 IF Z$(J,0)=" - - - - - - "AND B(J)>=0 LET P(J)=P(J)+35
650 GOTO 780
660 IF X$="DP" LET M=1:GOTO 740
670 IF X$="VP" LET M=4:GOTO 740
680 IF X$="FH" LET M=7:GOTO 740
690 IF X$="KS" LET M=10:GOTO 740
700 IF X$="GS" LET M=13:GOTO 740
710 IF X$="KN" LET M=16:GOTO 740
720 IF X$="CH" LET M=19:GOTO 740
730 BEEP 1,200,100:GOTO 510
740 IF MID$ (Z$(J,1),M,2)="--" GOTO 730
750 GOSUB X$
760 IF V CLEAR V:GOTO 730
770 Z$(J,1)=LEFT$ (Z$(J,1),M-1)+"--"+RIGHT$ (Z$(J,1),19-M)
780 CLS :NEXT J
790 NEXT I
800 CLS :PRINT =LPRINT
820 FOR J=1 TO S
830 PRINT S$(J);" : ";STR$ P(J);" Punkte"
840 IF INT (J/3)=J/3 OR J=S WAIT :PRINT "<ENTER>":WAIT 0:CLS
850 IF P(J)>P LET O=J:P=P(J)
860 IF P(J)>H LET H=P(J):G$=S$(J)+STR$ H
870 NEXT J
880 CLS
890 PRINT "Sieger:":PRINT S$(O);" mit ";STR$ P;" Punkten"
910 PRINT "Highscore: ":WAIT :PRINT LEFT$ (G$,2);" mit ";RIGHT$ (G$,3);" Punkten"
920 END
930 "DP" IF A=B AND A=C OR (A=B AND A=D) OR (A=B AND A=E) OR (A=C AND A=D) OR (A=C AND A=E) GOTO 960
940 IF A=D AND A=E OR (B=C AND B=D) OR (B=C AND B=E) OR (B=D AND B=E) OR (C=D AND D=E) GOTO 960
950 RETURN
960 FOR N=1 TO 5:P(J)=P(J)+A(N):NEXT N
970 RETURN
980 "VP" IF A=B AND A=C AND A=D OR (A=B AND A=C AND A=E) OR (A=B AND A=D AND A=E) GOTO 960
990 IF A=C AND A=D AND A=E OR (B=C AND B=D AND B=E) GOTO 960
1000 RETURN
1010 "FH" GOSUB 1330 :IF K AND V RETURN
1020 CLEAR V
1030 IF K GOTO 1090
1040 IF A=B AND A=C AND D=E OR (A=B AND A=D AND C=E) OR (A=B AND A=E AND C=D) GOTO 1090
1050 IF A=C AND A=D AND B=E OR (A=C AND A=E AND B=D) OR (A=D AND A=E AND B=C) GOTO 1090
1060 IF B=C AND B=D AND A=E OR (B=C AND B=E AND A=D) OR (B=D AND B=E AND A=C) GOTO 1090
1070 IF C=D AND C=E AND A=B GOTO 1090
1080 RETURN
1090 P(J)=P(J)+25:RETURN
1100 "KS" GOSUB 1330 :IF K AND V RETURN
1110 CLEAR V
1120 IF K GOTO 1150
1130 GOSUB 1290
1140 IF L<3 RETURN
1150 P(J)=P(J)+30:CLEAR V:RETURN
1160 "GS" GOSUB 1330 :IF K AND V RETURN
1170 CLEAR V
1180 IF K GOTO 1210
1190 GOSUB 1290
1200 IF L<4 RETURN
1210 P(J)=P(J)+40:RETURN
1220 "KN" GOSUB 1330
1230 CLEAR V
1240 IF K LET P(J)=P(J)+50
1250 RETURN
1260 "CH" FOR N=1 TO 5
1270 P(J)=P(J)+A(N)
1280 NEXT N
1290 CLEAR L
1300 L=(ABS (A-B)=1)+(ABS (A-C)=1)+(ABS (A-D)=1)+(ABS (A-E)=1)+(ABS (B-C)=1)+(ABS (B-D)=1)
1310 L=L+(ABS (B-E)=1)+(ABS (C-D)=1)+(ABS (C-E)=1)+(ABS (D-E)=1)
1315 L=L-(A=B)-(A=C)-(A=D)-(A=E)-(B=C)-(B=D)-(B=E)-(C=D)-(C=E)-(D=E)
1320 RETURN
1330 CLEAR K:IF A=B AND A=C AND A=D AND A=E LET K=1
1340 IF MID$ (Z$(J,0),A*3,1)<>"-"OR MID$ (Z$(J,1),16,2)<>"--" LET V=1
1350 RETURN


Javascriptprogramm
Dokumentation ansehen
Programmspeicher-Image laden



Zur Übersichtstabelle



Home
Falls diese Seite ohne Navigationsleiste angezeigt wird, aktivieren Sie Javascript oder klicken Sie hier!