"Labyrinthe" for Sharp PC-1500
 Sharp.
in "Manuel d'applications PC-1500".
BASIC program - 2448 bytes.

CLOAD "LABYRINTHE"
RUN

Keys:
2/4/6/8 - move

----- BASIC program -----------------------------------------
1 "LABYRINTHE"
2 "Deplacements: 2 4 6 8
10 "A"CLEAR :M=&FF,S=&FF
20 CLS :WAIT 0:DIM T$(11)*68,PT(102)
30 T$(0)="087F42790F7957554C770977555D427F55047F107755457D0977525E55655F555B6D
31 T$(1)="086F217F027F514C575D55457D296D533E455E515D5577097D55556F507F52477A4A
32 T$(2)="087F494B714D5F51157554475D4575455D4575457D017F096B217F207F25712F692B
33 T$(3)="087B427F482F715D47725D57552D75594F701F70475D457D017F417759087F427B49
34 T$(4)="087F4A097F097A477D4157147F207F285F6A77445D117F116F297E246F157D457B2A
35 T$(5)="087F047F207F017D5557505F407F486B2A5F52553F517D047F415D7506735E427B4A
40 T$(6)="5B6D557D53557D2577485F515577047F10557F215D557748771955754F784F217F08
41 T$(7)="292F71257F057B55555F4877555D453D513E655B4A5F51555D7519457F207F427B08
42 T$(8)="6A4B7A47527F027F426B487F405F5157515D5157515D71155754457D594769497F08
43 T$(9)="496F217F084D77417F405F515D71077C07794D575A55755D27715D477A097F216F08
44 T$(10)="2A6F515F547B123F4A7B447F445D11772B7D0A7F027F1475415F712F487F48297F08
45 T$(11)="296F213D6730575D417F105F457E55257D2A6B097F017D0575555F407F027F107F08
50 A=RND 12,B=RND 12,C=RND 12
60 IF A=BGOTO 50
61 IF A=CGOTO 50
62 IF B=CGOTO 50
70 CLS :A=A-1,B=B-1,C=C-1
80 GCURSOR 0:GPRINT T$(A);T$(B);T$(C)
81 BEEP 10,10,10
100 FOR CP=0TO 101
101 BEEP 1,1,1
110 A=POINT CP,PT(CP)=A
120 GCURSOR CP:GPRINT "7F"
130 NEXT CP
140 PT(102)=&08
150 D=8,CP=0,Z=0
160 TIME =0
170 WAIT 0:X=POINT CP
180 CURSOR 23:PRINT Z:Y=DOR X
190 GCURSOR CP:GPRINT Y:D1=D
200 A$=INKEY$ 
210 IF A$<>""GOTO 300
220 A=&7F-D,A=AAND X
230 GCURSOR CP:GPRINT A
240 D=0
250 A$=INKEY$ 
260 IF A$<>""GOTO 300
270 D=D1
280 Z=Z+1:IF Z>99LET Z=0:CURSOR 24:PRINT "0 "
290 GOTO 180
300 BEEP 1,10,10
310 IF A$="8"LET DW=INT ((D1+1)/2):GOTO 400
320 IF A$="2"LET DW=D1*2:GOTO 400
330 IF A$="6"LET PW=CP+1:GOTO 500
340 IF A$="4"LET PW=CP-1:GOTO 500
350 BEEP 2,10,20
360 D=D1
370 GOTO 180
400 IF DW>64LET DW=64
410 A=PT(CP),A=AAND DW
420 IF A=0BEEP 3,10,30:DW=D1:GOTO 440
430 A=&7F-D1,X=AAND X
440 GCURSOR CP:GPRINT X
450 D=DW
460 GOTO 170
500 IF PW<0LET PW=0:BEEP 3,10,30:GOTO 570
510 IF PW>101GOTO 600
520 A=PT(PW),A=AAND D1
530 IF A=0BEEP 3,10,30:GOTO 570
540 A=&7F-D1,X=AAND X
550 GCURSOR CP:GPRINT X
560 CP=PW
570 D=D1
580 GOTO 170
600 A=PT(PW):A=AAND D1
610 IF A=0BEEP 3,10,30:D=D1:GOTO 170
620 GCURSOR 105:GPRINT "04087B3F7B0804"
621 BEEP 1,90,50
622 BEEP 1,70,50
623 BEEP 1,150,90
624 BEEP 1,150,100
625 BEEP 1,60,60
626 BEEP 1,200,200
630 T=TIME ,T=T-INT T:T=T*10000
640 MM=INT (T/100),SS=T-(MM*100)
645 NP$=STR$ MM+":"+STR$ SS
650 WAIT 150:CURSOR 21:PRINT NP$+"  "
660 IF M>MMLET M=MM,S=SS:GOTO 700
670 IF M<>MMGOTO 700
680 IF S>SSLET S=SS
700 CLS :CURSOR 0:WAIT 0
710 PRINT "VOTRE TEMPS:"
720 WAIT 150:CURSOR 13:PRINT NP$
730 CLS :CURSOR 0:WAIT 0
740 PRINT "MEILLEUR TEMPS:"
745 HP$=STR$ M+":"+STR$ S
750 WAIT 150:CURSOR 16:PRINT HP$
760 CLS :WAIT 0:CURSOR 0
770 PRINT "REJOUER(OouN)?"
780 CURSOR 13:INPUT A$
790 IF A$="O"GOTO 50
800 IF A$="N"GOTO 850
810 GOTO 760
850 CLS :CURSOR 0:END
