Sharp PC1360 |
Javascriptprogramm
Dokumentation ansehen
Programmspeicher-Image laden
| 10 | DATA 16,29,-100,-175,36,29,100,-175,49,16,200,0,36,3,100,175,16,3,-100,175,3,16 | |
| 20 | DATA -200,0 | |
| 30 | DATA "HEXAGON - SPIELREGELN :","Man muss abwechselnd mit" | |
| 40 | DATA "dem Computer 2 von 6","Punkten mit einer Linie" | |
| 50 | DATA "verbinden. Wer beginnt","wird ausgelost." | |
| 60 | DATA "Verlierer ist, wer als","erster mit seinen Linien" | |
| 70 | DATA "ein Dreieck bilden muss.","Zusaetzlich zum Display" | |
| 80 | DATA "kann das Bild auf Plot-","ter gezeichnet werden." | |
| 90 | DATA "Auf dem Display zeichnet","der Computer punktierte" | |
| 100 | DATA "und auf dem Plotter","gruene Linien, die des" | |
| 110 | DATA "Spielers sind durchgezo-","gen bzw. rot." | |
| 120 | DATA "Die Eingabe der zu ver-","bindenden Punkte erfolgt" | |
| 130 | DATA "mit den Zifferntasten","1 bis 6 oder den Cursor-" | |
| 140 | DATA "Auf/Ab-Tasten.","VIEL SPASS !!!" | |
| 150 | "H"CLS :WAIT 0:CLEAR | |
| 160 | LINE (16,29)-(36,29):LINE -(49,16):LINE -(36,3):LINE -(16,3):LINE -(3,16):LINE -(16,29) | |
| 170 | CURSOR 4,1:PRINT "HEXAGON":CURSOR 9,3:PRINT "Bitte warten !" | |
| 180 | DIM L(14,4),P(5,1),I(5,5),K(5,3),T$(0)*13,S$(0)*24 | |
| 190 | FOR I=0 TO 4:L(I,0)=0:L(I,1)=I+1:NEXT I | |
| 200 | FOR I=5 TO 8:L(I,0)=1:L(I,1)=I-3:NEXT I | |
| 210 | FOR I=9 TO 11:L(I,0)=2:L(I,1)=I-6:NEXT I | |
| 220 | FOR I=12 TO 13:L(I,0)=3:L(I,1)=I-8:NEXT I | |
| 230 | L(14,0)=4:L(14,1)=5 | |
| 240 | FOR I=0 TO 4:FOR J=I+1 TO 5:I(I,J)=Z:I(J,I)=Z:Z=Z+1:NEXT J:NEXT I | |
| 250 | RESTORE 10 :FOR I=0 TO 5:FOR J=0 TO 3:READ K(I,J):NEXT J:NEXT I | |
| 260 | CLS :GOSUB 1210 | |
| 270 | CURSOR 10,2:PRINT "Spieler:":CURSOR 10,3:INPUT T$(0):CURSOR 10,3:PRINT " | " |
| 280 | T$="":CURSOR 10,2:PRINT "Spielregeln ?":CURSOR 10,3:INPUT " | |
| 290 | IF T$="J" GOSUB 1070 | |
| 300 | CLEAR T$:CURSOR 10,2:PRINT "Mit Plotter ? ":CURSOR 10,3:INPUT " | |
| 310 | IF T$="J" GOSUB 1110 | |
| 320 | CURSOR 10,2:PRINT "von : ":CURSOR 10,3:PRINT "nach: " | |
| 330 | ON RND 2 GOTO 340 ,520 | |
| 340 | CLEAR A,B:Z=1:CURSOR 10,1:PRINT "Ihr Zug: ":CURSOR 20,3:PRINT " " | |
| 350 | CURSOR 20,1+Z:PRINT STR$ (A(Z)+1) | |
| 360 | PSET (K(A(Z),0),K(A(Z),1)),X | |
| 370 | T=ASC INKEY$ | |
| 380 | IF T BEEP 1,1,20:GOTO 400 | |
| 390 | GOTO 360 | |
| 400 | PSET (K(A(Z),0),K(A(Z),1)) | |
| 410 | IF T=4 LET A(Z)=A(Z)+1-6*(A(Z)>4):GOTO 350 | |
| 420 | IF T=5 LET A(Z)=A(Z)-1+6*(A(Z)<1):GOTO 350 | |
| 430 | IF T>48 AND T<55 LET A(Z)=T-49:GOTO 350 | |
| 440 | IF T=13 LET Z=Z+1:IF Z=3 GOTO 460 | |
| 450 | GOTO 350 | |
| 460 | IF L(I(A,B),2) OR A=B CURSOR 10,1:BEEP 1,255,100:WAIT :PRINT "FEHLEINGABE !":WAIT 0:GOTO 340 | |
| 470 | F=1:GOSUB 850 | |
| 480 | C=0:FOR J=0TO 5:IF J=A OR J=B GOTO 500 | |
| 490 | IF L(I(A,J),2)=2 AND L(I(B,J),2)=2 LET C=J+1:J=5 | |
| 500 | NEXT J | |
| 510 | IF C LET C=C-1:GOTO 890 | |
| 520 | CURSOR 10,1:PRINT "ich denke ...":CURSOR 20,2:PRINT " ":CURSOR 20,3:PRINT " " | |
| 530 | FOR I=0 TO 14:IF L(I,2) GOTO 730 | |
| 540 | A=P(L(I,0),0):B=P(L(I,0),1):U=P(L(I,1),0):V=P(L(I,1),1) | |
| 550 | IF A+B+U+V=0 LET L(I,3)=10:GOTO 730 | |
| 560 | IF A+B+U=0 OR A+U+V=0 LET L(I,3)=9:GOTO 730 | |
| 570 | IF A+B=0 OR U+V=0 LET L(I,3)=8:GOTO 730 | |
| 580 | FOR J=0 TO 5:IF J=L(I,0) OR J=L(I,1) GOTO 600 | |
| 590 | IF L(I(L(I,0),J),2)=1 AND L(I(L(I,1),J),2)=1 LET L(I,3)=0:C=J:J=5:NEXT J:GOTO 730 | |
| 600 | NEXT J | |
| 610 | FOR J=0 TO 5:IF J=L(I,0) OR J=L(I,1) GOTO 630 | |
| 620 | IF L(I(L(I,0),J),2)=2 AND L(I(L(I,1),J),2)=2 LET L(I,3)=1:J=5:NEXT J:GOTO 730 | |
| 630 | NEXT J | |
| 640 | FOR J=0 TO 5:IF J=L(I,0) OR J=L(I,1) GOTO 670 | |
| 650 | IF L(I(L(I,0),J),2)=2 AND L(I(L(I,1),J),2)=1 LET L(I,3)=2:J=5:NEXT J:GOTO 730 | |
| 660 | IF L(I(L(I,0),J),2)=1 AND L(I(L(I,1),J),2)=2 LET L(I,3)=2:J=5:NEXT J:GOTO 730 | |
| 670 | NEXT J | |
| 680 | IF A*B*U*V=1 LET L(I,3)=3:GOTO 730 | |
| 690 | IF (A*B=1AND U+V=1) OR (A+B=1AND U*V=1) LET L(I,3)=4:GOTO 730 | |
| 700 | IF A*U=1 LET L(I,3)=5:GOTO 730 | |
| 710 | IF (A*V=1AND B+U=0) OR (B*U=1AND A+V=0) LET L(I,3)=6:GOTO 730 | |
| 720 | IF A+U=0 LET L(I,3)=7 | |
| 730 | NEXT I | |
| 740 | CLEAR M,Z:FOR I=0 TO 14 | |
| 750 | IF L(I,2) GOTO 780 | |
| 760 | IF L(I,3)>M LET M=L(I,3):Z=0:L(Z,4)=I:GOTO 780 | |
| 770 | IF L(I,3)=M LET Z=Z+1-(M=0):L(Z,4)=I | |
| 780 | NEXT I | |
| 790 | L=L(RND (Z+1)-1,4):A=L(L,0):B=L(L,1) | |
| 800 | CURSOR 10,1:PRINT "... und ziehe" | |
| 810 | CURSOR 20,2:PRINT STR$ (A+1):CURSOR 20,3:PRINT STR$ (B+1) | |
| 820 | F=0:GOSUB 850 :IF M=0 GOTO 890 | |
| 830 | WAIT :GPRINT :WAIT 0 | |
| 840 | GOTO 340 | |
| 850 | LINE (K(A,0),K(A,1))-(K(B,0),K(B,1)),21845+F*43690 | |
| 860 | IF P LLINE (K(A,2),K(A,3))-(K(B,2),K(B,3)),0,4-2*F:GLCURSOR (K(B,2),-375) | |
| 870 | L(I(A,B),2)=F+1:P(A,F)=P(A,F)+1:P(B,F)=P(B,F)+1 | |
| 880 | RETURN | |
| 890 | CURSOR 9,1:IF F GOTO 910 | |
| 900 | PRINT "SHARP PC-1360 ":GOTO 920 | |
| 910 | PRINT T$(0)+LEFT$ (" ",13-LEN T$(0)) | |
| 920 | CURSOR 9,2:PRINT "hat verloren !" | |
| 930 | CURSOR 9,3:PRINT "Dreieck: ";STR$ (A+1);"-";STR$ (B+1);"-";STR$ (C+1) | |
| 940 | FOR I=1 TO 3:LINE (K(A(I),0)-2,K(A(I),1)-2)-(K(A(I),0)+2,K(A(I),1)+2),B:NEXT I | |
| 950 | IF P=0 WAIT :GPRINT :CLS :END | |
| 960 | FOR I=1 TO 3:CIRCLE (K(A(I),2),K(A(I),3)),9,7:PAINT 10,6-F*5:NEXT I | |
| 970 | GLCURSOR (0,-250):LPRINT CHR$ 27+"@" | |
| 980 | Z=0:FOR I=0 TO 14:IF L(I,2) LET Z=Z+1 | |
| 990 | NEXT I | |
| 1000 | IF F GOTO 1030 | |
| 1010 | LPRINT "SHARP PC-1360"; | |
| 1020 | GOTO 1040 | |
| 1030 | LPRINT T$(0); | |
| 1040 | LPRINT " hat im ";Z;" von maximal 15":LPRINT "Spielzuegen verloren, weil das Dreieck" | |
| 1050 | LPRINT STR$ (A+1);"-";STR$ (B+1);"-";STR$ (C+1);" gezeichnet wurde !" | |
| 1060 | LF 5:WAIT :GPRINT :CLS :END | |
| 1070 | CLS :RESTORE 30 :FOR I=1 TO 24:IF I/4=INT (I/4) WAIT | |
| 1080 | READ S$(0):PRINT S$(0):IF I/4=INT (I/4) WAIT 0:CLS | |
| 1090 | NEXT I | |
| 1100 | GOSUB 1210 :RETURN | |
| 1110 | P=1:CURSOR 10,2:PRINT "CE-140P o.k.?!":WAIT :CURSOR 10,3:PRINT " | |
| 1120 | LPRINT CHR$ 27+"@" | |
| 1130 | CSIZE 3:LPRINT " >>> HEXAGON <<<" | |
| 1140 | COLOR 2,7:LPRINT LEFT$ (" ",7-LEN T$(0)/2);T$(0); | |
| 1150 | COLOR 0:LPRINT " gegen "; | |
| 1160 | COLOR 4,7:LPRINT "PC-1360" | |
| 1170 | GRAPH :GLCURSOR (240,-200):SORGN | |
| 1180 | FOR I=0 TO 5:CIRCLE (K(I,2),K(I,3)),10,0,0,360,1,60 | |
| 1190 | GLCURSOR (K(I,2)+25*SGN K(I,2)-6,K(I,3)+25*SGN K(I,3)-9):LPRINT "P"+STR$ (I+1):NEXT I | |
| 1200 | GLCURSOR (-231,-375):RETURN | |
| 1210 | FOR I=0 TO 5:LINE (K(I,0)-1,K(I,1)-1)-(K(I,0)+1,K(I,1)+1),BF:NEXT I | |
| 1220 | CURSOR 9,0:PRINT ">>> HEXAGON <<<" | |
| 1230 | RETURN | |
Javascriptprogramm
Dokumentation ansehen
Programmspeicher-Image laden
|
|
![]()
Falls diese Seite ohne Navigationsleiste angezeigt wird, aktivieren Sie Javascript oder klicken Sie hier!