"Morpion" pour SHARP PC-1500 et CE-150
 Logi' Stick, 1983.

Programme BASIC de 1910 octets.

CLOAD "MORPION"

----- BASIC program -----------------------------------------
1 ARUN 
2 REM 
3 REM ***************************
4 REM *                         *
5 REM * (C) LOGI "STICK    1983 *
6 REM *                         *
7 REM ***************************
8 REM 
9 REM 
10 "A"CLEAR :WAIT 0:PAUSE "******** MORPION ********":BEEP 1:USING "##.#"
20 PRINT "IMPRIMANTE (O):":IF INKEY$ =""THEN 20
30 IF INKEY$ ="O"LET I=1:GOSUB "T"
40 DATA 1,4,60,1E3,1E6,10,0,0,0,0,300,0,0,0,0,1E4,0,0,0,0,1E8,0
50 DIM V(21),C(99,3),T$(99)*1:FOR J=0TO 21:READ V(J):NEXT J
60 PRINT "VOUS COMMENCEZ (O)":IF INKEY$ =""THEN 60
70 IF INKEY$ <>"O"LET C=RND 99:GOTO 160
80 "JOUEUR"INPUT "VOTRE COUP:";C
90 C=10*C:IF C<0OR C>99PRINT "IMPOSSIBLE":BEEP 2:GOTO 80
95 IF T$(C)LET C=-1:GOTO 90
100 IF ICOLOR 2:GOSUB "P"
110 T$(C)="1":T=C(C,0)+C(C,1)+C(C,2)+C(C,3):IF T>=1E6AND T<1E8THEN "F2"
120 IF N=100GOTO "F3"
130 GOSUB 500:S=0:RANDOM :FOR J=0TO 99:IF T$(J)THEN 155
140 T=C(J,0)+C(J,1)+C(J,2)+C(J,3):IF T=SIF RND 2-1LET C=J:GOTO 155
150 IF T>SLET S=T:C=J
155 NEXT J
160 T$(C)="5":N=N+1:PRINT "JE JOUE :";C/10:BEEP 1,100:IF ICOLOR 3:GOSUB "P"
170 IF S>=1E8GOTO "F1"
180 IF N=100OR (S=0AND N>1)GOTO "F3"
190 GOSUB 500:GOTO "JOUEUR"
200 "F1"F$="JE GAGNE":GOTO 230
210 "F2":F$="VOUS GAGNEZ":GOTO 230
220 "F3"F$="EGALITE"
230 PRINT F$:FOR J=1TO 4:BEEP J,10*J:NEXT J:IF ILPRINT F$:TEXT :LF 5
240 END
500 R=INT (C/10):G=C-10*R:D=9-G:H=R:B=9-R
510 L=G:M=D:P=1:S=0:GOSUB 600
520 L=H:M=B:P=10:S=1:GOSUB 600
530 P=10:S=1:GOSUB 600
540 L=H:IF D<LLET L=D
550 M=B:IF G<MLET M=G
560 P=9:S=2:GOSUB 600
570 L=H:IF G<LLET L=G
580 M=B:IF D<MLET M=D
590 P=11:S=3:GOSUB 600
595 RETURN 
600 IF L+M<4RETURN 
605 X=C-L*P:Y=C+M*P
610 FOR J=XTO YSTEP P:C(J,S)=0:NEXT J
615 FOR J=XTO Y-4*PSTEP P
620 Q=V(VAL T$(J)+VAL T$(J+P)+VAL T$(J+P+P)+VAL T$(J+3*P)+VAL T$(J+4*P))
625 IF QFOR K=JTO J+4*PSTEP P:C(K,S)=C(K,S)+Q:NEXT K
630 NEXT J
640 RETURN 
1000 "T"CSIZE 2:TEXT :COLOR 2:LPRINT "VOTRE COULEUR":COLOR 3:LPRINT "MA COULEUR"
1010 GRAPH :GLCURSOR (15,-30):SORGN :COLOR 0:A=0:B=200
1020 FOR Y=0TO -200STEP -20:LINE (A,Y)-(B,Y):E=A:A=B:B=E:NEXT Y
1030 A=-200:B=0:FOR X=200TO 0STEP -20:LINE (X,A)-(X,B):E=A:A=B:B=E:NEXT X
1040 FOR I=0TO 9:GLCURSOR (20*I+6,6):LPRINT STR$ I:NEXT I
1050 FOR J=0TO 9:GLCURSOR (-15,-20*J-15):LPRINT STR$ J:NEXT J
1060 GLCURSOR (0,-200):RETURN 
2000 "P"GLCURSOR (20*(C-10*INT (C/10))+3,-20*INT (C/10)-12)
2010 RLINE -(0,6)-(4,4)-(6,0)-(4,-4)-(0,-9)-(-4,-3)
2020 RLINE -(-6,0)-(-4,3)-(0,3)-(4,-3)-(6,0)-(4,3)
2030 GLCURSOR (0,-280):RETURN 
