35 'ordipuz /lavergne georges 5 rue des ecoles 37420 avoine/tel 47589532/cpc 464-664-6128/jan 87
40 MODE 1:CLS:DIM NUM(25),chi(25),x(25),lettre$(40) 42 'ON BREAK CONT 45 ' variables======================================== 46 'nbpiece=nombre de pieces du puzzle/ligne=nb de lignes quadrillage/modvisi=modele visible(1)-non visible(0)/num=numero des pieces en ordre/chi=numero pieces désordre/modeles=pour affichage modèle(1)/pieces=affichage pieces/bien=affichage piece trouvee 47 ' modmont=aide affichage modele(1)/erreur=nb d'erreurs/aider=nb d'aides/aide=aide affichage une piece/z=numero piece désordre pour aide/rep$=numero piece a placer/repp$=numero de l'emplacement/juste=une piece bien placée/ 50 ' accents 55 SYMBOL AFTER 64 56 SYMBOL 125,&60,&10,&3C,&66,&7E,&60,&3C 57 KEY 135,CHR$(123) 58 SYMBOL 123,&6,&8,&3C,&66,&7E,&60,&3C 59 KEY 128,CHR$(125) 60 SYMBOL 64,&60,&10,&78,&3C,&7C,&CC,&76 61 KEY 129,CHR$(64) 62 SYMBOL 92,&0,&0,&3C,&66,&60,&3E,&8,&18 63 KEY 132,CHR$(92) 64 SYMBOL 124,&30,&8,&66,&66,&66,&66,&3E 65 KEY 137,CHR$(124) 66 SYMBOL 94,&18,&24 67 KEY 134,CHR$(94) 68 SYMBOL 93,&1C,&32,&38,&6C,&38,&10,&90,&60 69 KEY 131,CHR$(93) 75 ' présentation======================================== 76 INK 2,9:INK 3,26:PAPER 2:PEN 3:BORDER 9:CLS:IF start THEN 79 77 v=10:texte$="J'ai l'honneur de vous présenter":GOSUB 29200:v=14:texte$="O R D I P U Z":GOSUB 29200:v=15:texte$="=============":GOSUB 29200:FOR d=1 TO 2000:NEXT 79 CLS:v=12:texte$="Désirez-vous les instructions?":GOSUB 29200:start=-1 80 IF INKEY$="" THEN 80 81 IF INKEY(34)=0 THEN 3000 ELSE 83 83 INK 2,9:INK 3,26:PAPER 2:PEN 3:BORDER 9:CLS:GOTO 3100:'choix options 100 CLS:INK 2,14:INK 3,1:INK 0,0:INK 1,26:CLS:BORDER 0:PAPER 0:PEN 2 102 CLS:PLOT 5,395,2:DRAW 5,24,2:DRAW 635,24,2:DRAW 635,395,2 103 PLOT 5,220,2:DRAW 635,220,2:PLOT 220,220,2:DRAW 220,24,2:PLOT 420,220,2:DRAW 420,24,2 104 PEN 2:LOCATE 15,13:PRINT "CLR = sortie":LOCATE 18,22:PRINT "ENTER":LOCATE 15,23:PRINT "pour valider":PEN 1 105 PEN 2:LOCATE 2,11:PRINT "COPY = aide TAB = modèle visible":PEN 1 110 'dessin 112 'nbpiece=16:ligne=4:modvisi=1 115 'RESTORE 30210 116 'RESTORE 30010 118 'ON BREAK CONT 120 FOR t=1 TO nbpiece:READ num(t):NEXT 122 ' le modele========================= 123 IF modvisi=0 THEN 185 125 ss=12:aa=2:modeles=1 130 FOR t=1 TO nbpiece 140 ON num(t) GOTO 1010,1012,1014,1016,1018,1020,1022,1024,1026,1028,1030,1032,1034,1036,1038,1040,1042,1044,1046,1048,1050,1052,1054,1056,1058,1060,1062,1064,1066,1068,1070,1072,1074,1076,1078,1080,1082,1084,1086,1088,1090 150 aa=aa+2 160 IF aa=(nbpiece/ligne)*2+2 THEN aa=2:ss=ss+2 165 IF t=nbpiece THEN 180 170 NEXT t 180 PLOT 32,207,1:DRAW 32+32*ligne,207,1:DRAW 32+32*ligne,207-32*ligne,1:DRAW 32,207-32*ligne,1:DRAW 32,207,1 185 MODELES=0 190 IF MODMONT=1 THEN 2330 200 ' la grille=========================== 205 aaa=0:sss=0:a=0:s=0 210 FOR t=1 TO nbpiece 221 PLOT 447+aaa,208-sss,1:DRAW 480+aaa,208-sss,1:DRAW 480+aaa,175-sss,1:DRAW 447+aaa,175-sss,1:DRAW 447+aaa,208-sss,1 225 LOCATE 30+a,14+s:PEN 2:PRINT CHR$(64+t):PEN 1 230 aaa=aaa+16*2:a=a+2 240 IF aaa=16*2*ligne THEN aaa=0:sss=sss+2*16:a=0:s=s+2 245 IF t=nbpiece THEN 260 250 NEXT 260 'disposition des pieces============== 261 LOCATE 4,3:PEN 2:PRINT "Patience, je mélange les pièces.":PEN 1:FOR w=1 TO 500:NEXT 263 IF re=1 THEN RESTORE 30040:GOTO 289 264 IF re=2 THEN RESTORE 30050:GOTO 289 265 IF re=3 THEN RESTORE 30060:GOTO 289 266 IF re=4 THEN RESTORE 30070:GOTO 289 267 IF re=5 THEN RESTORE 30080:GOTO 289 268 IF re=6 THEN RESTORE 30090:GOTO 289 269 IF re=7 THEN RESTORE 30100:GOTO 289 270 IF re=8 THEN RESTORE 30110:GOTO 289 271 IF re=9 THEN RESTORE 30120:GOTO 289 272 IF re=10 THEN RESTORE 30130:GOTO 289 273 IF re=11 THEN RESTORE 30140:GOTO 289 274 IF re=12 THEN RESTORE 30150:GOTO 289 275 IF re=13 THEN RESTORE 30160:GOTO 289 276 IF re=14 THEN RESTORE 30170:GOTO 289 277 IF re=15 THEN RESTORE 30180:GOTO 289 278 IF re=16 THEN RESTORE 30190:GOTO 289 279 IF re=17 THEN RESTORE 30200:GOTO 289 280 IF re=18 THEN RESTORE 30210:GOTO 289 281 IF re=19 THEN RESTORE 30000:GOTO 289 282 IF re=20 THEN RESTORE 30010:GOTO 289 283 IF re=21 THEN RESTORE 30020:GOTO 289 284 IF re=22 THEN RESTORE 30030 289 FOR t=1 TO nbpiece 290 RANDOMIZE TIME:x(t)=INT(RND*nbpiece)+1 295 n=1 300 FOR r=1 TO t 305 IF x(t)=x(t-n) THEN 290 310 n=n+1 315 NEXT 317 READ chi(x(T)) 320 NEXT 322 LOCATE 4,3:PRINT " " 323 ss=1:aa=1:pieces=1:a=0:s=0:aaa=0:sss=0 325 FOR t=1 TO nbpiece 330 ON chi(t) GOTO 1010,1012,1014,1016,1018,1020,1022,1024,1026,1028,1030,1032,1034,1036,1038,1040,1042,1044,1046,1048,1050,1052,1054,1056,1058,1060,1062,1064,1066,1068,1070,1072,1074,1076,1078,1080,1082,1084,1086,1088,1090 332 PLOT 16+aaa,383-sss,1:DRAW 47+aaa,383-sss,1:DRAW 47+aaa,352-sss,1:DRAW 16+aaa,352-sss,1:DRAW 16+aaa,384-sss,1 333 LOCATE 1+a,1+s:PEN 2:PRINT t:PEN 1 335 aa=aa+3:a=a+3:aaa=aaa+48 340 IF aa=40 THEN aa=2:ss=ss+4:a=1:s=s+4:aaa=16:sss=sss+64 345 IF t=nbpiece THEN 356 350 NEXT 355 ' placer les pieces================== 356 pieces=0 360 LOCATE 3,25:PRINT "PIECE:" 365 IF INKEY$<>"" THEN 365 370 q$=INKEY$:IF q$="" THEN 370 371 IF INKEY(16)=0 THEN 2000:' fin 372 IF INKEY(79)=0 THEN 29000:' efface 373 IF INKEY(18)=0 OR INKEY(6)=0 THEN 404:' validation 374 IF INKEY(9)=0 THEN 2200:'aide 375 IF INKEY(68)=0 THEN 2300:'mod. visible 376 IF ASC(q$)<48 OR ASC(q$)>57 THEN 370 377 IF av=2 THEN rep$=LEFT$(rep$,1):av=1 380 LOCATE 10+av,25:PEN 2:PRINT q$:PEN 1:rep$=rep$+q$:av=av+1 400 GOTO 370 404 IF rep$="" THEN 370 405 IF VAL(rep$)<1 OR VAL(rep$)>nbpiece THEN LOCATE 10,25:PRINT " ":rep$="":av=0:GOTO 370 407 FOR t=1 TO nbpiece 408 IF t<>VAL(rep$) THEN 410 409 IF chi(t)=0 THEN LOCATE 10,25:PRINT " ":rep$="":av=0:GOTO 370 410 NEXT 412 ' demande de l'emplacement============= 415 LOCATE 20,25:PRINT "EMPLACEMENT:" 420 IF INKEY$<>"" THEN 420 430 q$=INKEY$:IF q$="" THEN 430 440 IF INKEY(16)=0 THEN 2000:' fin 450 IF INKEY(18)=0 OR INKEY(6)=0 THEN 485: ' validation 455 IF INKEY(9)=0 THEN rep$="":GOTO 2200:' aide 457 IF INKEY(68)=0 THEN rep$="":GOTO 2300:'mod. visible 460 IF ASC(UPPER$(q$))<64 OR ASC(UPPER$(q$))>89 THEN 430 470 LOCATE 33,25:PEN 2:PRINT UPPER$(q$):PEN 1:repp$=UPPER$(q$) 480 GOTO 430 485 IF repp$="" THEN 430 490 IF ASC(repp$)-64 >nbpiece THEN LOCATE 33,25:PRINT " ":repp$="":GOTO 430 500 'controle reponse====================== 510 IF chi(VAL(rep$))=num(ASC(repp$)-64) THEN 600 520 ' faux =============================== 522 IF modvisi=1 THEN erreur=erreur+2:GOTO 530 525 erreur=erreur+1 530 FOR w=1 TO 3:LOCATE 17,15+w:PAPER 1:PEN 3:PRINT " ":NEXT :LOCATE 18,17:PRINT "ERREUR":PAPER 0:PEN 1:FOR w=1 TO 2000:NEXT 535 rep$="":repp$="": 540 FOR w=1 TO 3:LOCATE 17,15+w:PAPER 0:PEN 1:PRINT " ":NEXT 542 IF erreur>=nbpiece+1 THEN FOR d=1 TO 2000:NEXT:GOTO 2100:' partie interrompue:trop d'erreurs 545 LOCATE 1,25:PRINT " ":av=0:GOTO 355:' autre piece 600 ' bien =============================== 605 ss=1:aa=1:a=0:s=0:juste=juste+1 610 FOR t=1 TO nbpiece 612 IF aide=0 THEN 620 614 IF t<>z THEN 650 615 GOTO 625 620 IF t<>VAL(rep$) THEN 650 625 LOCATE 1+aa,1+ss:PRINT " ":LOCATE 1+aa,2+ss:PRINT " " 650 aa=aa+3 655 IF aa=40 THEN aa=2:ss=ss+4 660 IF t=nbpiece THEN 667 665 NEXT 667 aa=28:ss=12:bien=1 670 FOR t=1 TO nbpiece 671 IF aide=0 THEN 677 673 IF num(t)<>chi(z) THEN 690 675 GOTO 680 677 IF num(t)<>num(ASC(repp$)-64) THEN 690 680 ON num(t) GOTO 1010,1012,1014,1016,1018,1020,1022,1024,1026,1028,1030,1032,1034,1036,1038,1040,1042,1044,1046,1048,1050,1052,1054,1056,1058,1060,1062,1064,1066,1068,1070,1072,1074,1076,1078,1080,1082,1084,1086,1088,1090 690 aa=aa+2 695 IF aa=28+(ligne*2) THEN aa=28:ss=ss+2 700 IF t=nbpiece THEN 707 705 NEXT 707 IF aide=0 THEN 710 708 av=0:bien=0:chi(z)=0:LOCATE 1,25:PRINT " ":GOTO 712 710 av=0:bien=0:chi(VAL(rep$))=0:rep$="":LOCATE 1,25:PRINT " " 712 IF aider>=nbpiece+1 THEN FOR d=1 TO 2000:NEXT:GOTO 2100:'partie interrompue:trop d'aides 715 IF juste=nbpiece THEN 750 720 aide=0:GOTO 355:'demande nouvelle piece 750 ' bilan ================================= 760 PAPER 2:PEN 1:FOR q=1 TO 3:LOCATE 18,16+q:PRINT " ":NEXT:LOCATE 19,18:PRINT "BRAVO":FOR Q=1 TO 3000:NEXT 765 INK 2,9:INK 3,26:PAPER 2:PEN 3:BORDER 9:CLS 770 v=2:texte$="Ce puzzle est maintenant terminé.":GOSUB 29200 772 IF erreur>=1 THEN 790 775 IF erreur=0 THEN v=4:texte$="En fait, d'après les résultats":GOSUB 29200:v=6:texte$="en ma possession":GOSUB 29200:v=8:texte$="et après une sérieuse vérification,":GOSUB 29200:v=10:texte$="il apparait qu'aucune erreur n'a été":GOSUB 29200 776 IF aider=0 THEN 780 777 v=12:texte$="commise.":GOSUB 29200:v=14:texte$="Cependant, nous observons":GOSUB 29200:v=16:texte$="que vous avez eu de l'aide.":GOSUB 29200:v=19:texte$="La prochaine fois, sans aide,":GOSUB 29200:GOTO 785 780 v=12:texte$="commise.":GOSUB 29200:v=14:texte$="En conséquense directe,":GOSUB 29200:v=16:texte$="nous vous adressons solennellement":GOSUB 29200:v=19:texte$="NOS PLUS SINCERES FELICITATIONS, et":GOSUB 29200 785 v=22:texte$="nous vous invitons à renouveler cet":GOSUB 29200:v=23:texte$="exploit.":GOSUB 29200:GOTO 850 790 v=3:texte$="Nous renouvelons nos félicitations":GOSUB 29200:v=4:texte$="pour une telle performance":GOSUB 29200:v=5:texte$="en ces temps difficiles.":GOSUB 29200:v=8:texte$="Toutefois, et dans un but humanitaire,":GOSUB 29200 795 v=10:texte$="nous avons le regret de vous rappeler":GOSUB 29200:v=12: 800 IF erreur>1 THEN 805 ELSE texte$="votre seule et regrettable erreur.":GOSUB 29200: 802 v=14:texte$="Bien sur,nous comprenons et pardonnons":GOSUB 29200:v=16:texte$="cette faiblesse passagère.":GOSUB 29200:v=18:texte$="Mais notre patience a des limites !":GOSUB 29200:v=20:texte$="VOUS POUVEZ FAIRE MIEUX !":GOSUB 29200:GOTO 815 805 texte$="vos "+STR$(erreur)+" erreurs.":GOSUB 29200 810 v=14:texte$="Bien sur,nous comprenons et pardonnons":GOSUB 29200:v=16:texte$="ces faiblesses passagères.":GOSUB 29200:v=18:texte$="Mais notre patience a des limites !":GOSUB 29200:v=20:texte$="VOUS POUVEZ FAIRE MIEUX !":GOSUB 29200 815 V=22:TEXTE$="Et nous vous y invitons sans tarder.":GOSUB 29200 850 PAPER 0:PEN 1:LOCATE 2,25:PRINT "APPUYER SUR UNE TOUCHE POUR LE MENU":FOR Z=1 TO 100:NEXT:PAPER 1:PEN 0:LOCATE 2,25:PRINT "APPUYER SUR UNE TOUCHE POUR LE MENU":FOR Z=1 TO 100:NEXT 860 IF INKEY$="" THEN 850 870 PAPER 0:PEN 1:GOTO 4200 1000 ' les 25 cases 1010 LOCATE 1+aa,1+ss:PAPER 1:PEN 1:PRINT CHR$(143):LOCATE 1+aa,2+ss:PEN 3:PRINT CHR$(214):LOCATE 2+aa,1+ss:PRINT CHR$(214):PEN 2:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1012 LOCATE 1+aa,1+ss:PAPER 1:PEN 3:PRINT CHR$(143):LOCATE 1+aa,2+ss:PEN 2:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 3:PRINT CHR$(143):PEN 3:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1014 LOCATE 1+aa,1+ss:PAPER 1:PEN 3:PRINT CHR$(143):LOCATE 1+aa,2+ss:PEN 2:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 3:PRINT CHR$(143):PEN 2:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1016 LOCATE 1+aa,1+ss:PAPER 1:PEN 3:PRINT CHR$(143):LOCATE 1+aa,2+ss:PEN 3:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 3:PRINT CHR$(143):PEN 2:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1017 '5 1018 LOCATE 1+aa,1+ss:PAPER 1:PEN 3:PRINT CHR$(215):LOCATE 1+aa,2+ss:PEN 2:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 1:PRINT CHR$(143):PEN 3:LOCATE 2+aa,2+ss:PRINT CHR$(215):PAPER 0:PEN 1:GOTO 1100 1019 '6 1020 LOCATE 1+aa,1+ss:PAPER 1:PEN 3:PRINT CHR$(143):LOCATE 1+aa,2+ss:PEN 3:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 2:PRINT CHR$(143):PEN 2:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1021 '7 1022 LOCATE 1+aa,1+ss:PAPER 1:PEN 2:PRINT CHR$(143):LOCATE 1+aa,2+ss:PEN 2:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 3:PAPER 2:PRINT CHR$(214):PEN 2:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1023 '8 1024 LOCATE 1+aa,1+ss:PAPER 2:PEN 3:PRINT CHR$(215):LOCATE 1+aa,2+ss:PEN 2:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 3:PAPER 2:PRINT CHR$(214):PEN 2:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1025 '9 1026 LOCATE 1+aa,1+ss:PAPER 2:PEN 3:PRINT CHR$(215):LOCATE 1+aa,2+ss:PEN 2:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 2:PAPER 2:PRINT CHR$(143):PEN 2:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1027 '10 1028 LOCATE 1+aa,1+ss:PAPER 2:PEN 2:PRINT CHR$(143):LOCATE 1+aa,2+ss:PEN 2:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 3:PAPER 2:PRINT CHR$(143):PEN 3:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1029 '11 1030 LOCATE 1+aa,1+ss:PAPER 1:PEN 3:PRINT CHR$(213):LOCATE 1+aa,2+ss:PEN 3:PRINT CHR$(214):LOCATE 2+aa,1+ss:PEN 3:PAPER 2:PRINT CHR$(143):PEN 3:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1031 '12 1032 LOCATE 1+aa,1+ss:PAPER 2:PEN 2:PRINT CHR$(143):LOCATE 1+aa,2+ss:PEN 2:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 3:PAPER 2:PRINT CHR$(214):PEN 3:LOCATE 2+aa,2+ss:PRINT CHR$(213):PAPER 0:PEN 1:GOTO 1100 1033 '13 1034 LOCATE 1+aa,1+ss:PAPER 2:PEN 3:PRINT CHR$(143):LOCATE 1+aa,2+ss:PEN 3:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 3:PAPER 2:PRINT CHR$(143):PEN 3:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1035 '14 1036 LOCATE 1+aa,1+ss:PAPER 2:PEN 3:PRINT CHR$(215):LOCATE 1+aa,2+ss:PEN 3:PRINT CHR$(212):LOCATE 2+aa,1+ss:PEN 2:PAPER 2:PRINT CHR$(143):PEN 2:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1037 '15 1038 LOCATE 1+aa,1+ss:PAPER 1:PEN 3:PRINT CHR$(143):LOCATE 1+aa,2+ss:PEN 3:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 3:PAPER 1:PRINT CHR$(212):PEN 3:LOCATE 2+aa,2+ss:PRINT CHR$(215):PAPER 0:PEN 1:GOTO 1100 1039 '16 1040 LOCATE 1+aa,1+ss:PAPER 1:PEN 3:PRINT CHR$(214):LOCATE 1+aa,2+ss:PEN 3:PRINT CHR$(213):LOCATE 2+aa,1+ss:PEN 2:PAPER 2:PRINT CHR$(143):PEN 2:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1041 '17 1042 LOCATE 1+aa,1+ss:PAPER 2:PEN 2:PRINT CHR$(143):LOCATE 1+aa,2+ss:PEN 2:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 2:PAPER 2:PRINT CHR$(143):PEN 3:LOCATE 2+aa,2+ss:PRINT CHR$(215):PAPER 0:PEN 1:GOTO 1100 1043 '18 1044 LOCATE 1+aa,1+ss:PAPER 2:PEN 3:PRINT CHR$(213):LOCATE 1+aa,2+ss:PEN 2:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 3:PAPER 2:PRINT CHR$(212):PEN 2:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1045 '19 1046 LOCATE 1+aa,1+ss:PAPER 2:PEN 2:PRINT CHR$(143):LOCATE 1+aa,2+ss:PEN 3:PRINT CHR$(214):LOCATE 2+aa,1+ss:PEN 2:PAPER 2:PRINT CHR$(143):PEN 2:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1047 '20 1048 LOCATE 1+aa,1+ss:PAPER 2:PEN 2:PRINT CHR$(143):LOCATE 1+aa,2+ss:PEN 2:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 3:PAPER 1:PRINT CHR$(215):PEN 3:LOCATE 2+aa,2+ss:PRINT CHR$(212):PAPER 0:PEN 1:GOTO 1100 1049 '21 1050 LOCATE 1+aa,1+ss:PAPER 1:PEN 1:PRINT CHR$(143):LOCATE 1+aa,2+ss:PEN 1:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 3:PAPER 1:PRINT CHR$(213):PEN 3:LOCATE 2+aa,2+ss:PRINT CHR$(214):PAPER 0:PEN 1:GOTO 1100 1051 '22 1052 LOCATE 1+aa,1+ss:PAPER 2:PEN 2:PRINT CHR$(143):LOCATE 1+aa,2+ss:PEN 2:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 3:PAPER 2:PRINT CHR$(143):PEN 2:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1053 '23 1054 LOCATE 1+aa,1+ss:PAPER 2:PEN 3:PRINT CHR$(215):LOCATE 1+aa,2+ss:PEN 3:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 3:PAPER 2:PRINT CHR$(214):PEN 3:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1055 '24 1056 LOCATE 1+aa,1+ss:PAPER 2:PEN 3:PRINT CHR$(143):LOCATE 1+aa,2+ss:PEN 2:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 2:PAPER 2:PRINT CHR$(143):PEN 2:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1057 '25 1058 LOCATE 1+aa,1+ss:PAPER 1:PEN 3:PRINT CHR$(212):LOCATE 1+aa,2+ss:PEN 3:PRINT CHR$(215):LOCATE 2+aa,1+ss:PEN 1:PAPER 1:PRINT CHR$(143):PEN 1:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1059 '26 1060 LOCATE 1+aa,1+ss:PAPER 2:PEN 3:PRINT CHR$(143):LOCATE 1+aa,2+ss:PEN 3:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 3:PAPER 2:PRINT CHR$(212):PEN 2:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1061 '27 1062 LOCATE 1+aa,1+ss:PAPER 2:PEN 3:PRINT CHR$(143):LOCATE 1+aa,2+ss:PEN 3:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 2:PAPER 2:PRINT CHR$(143):PEN 3:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1063 '28 1064 LOCATE 1+aa,1+ss:PAPER 2:PEN 3:PRINT CHR$(143):LOCATE 1+aa,2+ss:PEN 2:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 3:PAPER 2:PRINT CHR$(143):PEN 3:LOCATE 2+aa,2+ss:PRINT CHR$(213):PAPER 0:PEN 1:GOTO 1100 1065 '29 1066 LOCATE 1+aa,1+ss:PAPER 2:PEN 2:PRINT CHR$(143):LOCATE 1+aa,2+ss:PEN 3:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 3:PAPER 2:PRINT CHR$(214):PEN 3:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1067 '30 1068 LOCATE 1+aa,1+ss:PAPER 2:PEN 3:PRINT CHR$(143):LOCATE 1+aa,2+ss:PEN 3:PRINT CHR$(212):LOCATE 2+aa,1+ss:PEN 3:PAPER 2:PRINT CHR$(143):PEN 3:LOCATE 2+aa,2+ss:PRINT CHR$(213):PAPER 0:PEN 1:GOTO 1100 1069 '31 1070 LOCATE 1+aa,1+ss:PAPER 2:PEN 3:PRINT CHR$(214):LOCATE 1+aa,2+ss:PEN 3:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 3:PAPER 2:PRINT CHR$(215):PEN 3:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1071 '32 1072 LOCATE 1+aa,1+ss:PAPER 2:PEN 3:PRINT CHR$(143):LOCATE 1+aa,2+ss:PEN 3:PRINT CHR$(212):LOCATE 2+aa,1+ss:PEN 3:PAPER 2:PRINT CHR$(143):PEN 2:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1073 '33 1074 LOCATE 1+aa,1+ss:PAPER 2:PEN 3:PRINT CHR$(215):LOCATE 1+aa,2+ss:PEN 3:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 2:PAPER 2:PRINT CHR$(143):PEN 3:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1075 '34 1076 LOCATE 1+aa,1+ss:PAPER 2:PEN 3:PRINT CHR$(213):LOCATE 1+aa,2+ss:PEN 2:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 3:PAPER 2:PRINT CHR$(143):PEN 3:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1077 '35 1078 LOCATE 1+aa,1+ss:PAPER 2:PEN 2:PRINT CHR$(143):LOCATE 1+aa,2+ss:PEN 3:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 3:PAPER 2:PRINT CHR$(143):PEN 3:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1079 '36 1080 LOCATE 1+aa,1+ss:PAPER 2:PEN 2:PRINT CHR$(143):LOCATE 1+aa,2+ss:PEN 2:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 2:PAPER 2:PRINT CHR$(143):PEN 2:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1081 '37 1082 LOCATE 1+aa,1+ss:PAPER 2:PEN 2:PRINT CHR$(143):LOCATE 1+aa,2+ss:PEN 2:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 2:PAPER 2:PRINT CHR$(143):PEN 3:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1083 '38 1084 LOCATE 1+aa,1+ss:PAPER 2:PEN 2:PRINT CHR$(143):LOCATE 1+aa,2+ss:PEN 3:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 2:PAPER 2:PRINT CHR$(143):PEN 2:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1085 '39 1086 LOCATE 1+aa,1+ss:PAPER 2:PEN 2:PRINT CHR$(143):LOCATE 1+aa,2+ss:PEN 3:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 2:PAPER 2:PRINT CHR$(143):PEN 3:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1087 '40 1088 LOCATE 1+aa,1+ss:PAPER 2:PEN 3:PRINT CHR$(143):LOCATE 1+aa,2+ss:PEN 3:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 3:PAPER 2:PRINT CHR$(215):PEN 3:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1089 '41 1090 LOCATE 1+aa,1+ss:PAPER 2:PEN 3:PRINT CHR$(214):LOCATE 1+aa,2+ss:PEN 3:PRINT CHR$(143):LOCATE 2+aa,1+ss:PEN 3:PAPER 2:PRINT CHR$(143):PEN 3:LOCATE 2+aa,2+ss:PRINT CHR$(143):PAPER 0:PEN 1:GOTO 1100 1100 IF modeles=1 THEN 150 1110 IF pieces=1 THEN 332 1120 IF bien=1 THEN 690 2000 ' abandon 2010 INK 2,9:INK 3,26:PAPER 2:PEN 3:BORDER 9:CLS 2020 v=1:texte$="Hélas,pourquoi cette brutale décision?":GOSUB 29200:v=3:texte$="N'avez-vous pas des remords ?":GOSUB 29200:v=5:texte$="Quoiqu'il en soit,":GOSUB 29200:v=7:texte$="les plus grands espoirs étaient":GOSUB 29200 2030 v=9:texte$="en vous":GOSUB 29200:v=11:texte$="et vous avez lachement abandonné.":GOSUB 29200:v=14:texte$="CE PUZZLE N'EST PAS TERMINE !":GOSUB 29200:v=17:texte$="Mais nous savons que vous etes":GOSUB 29200:v=19:texte$="courageux,":GOSUB 29200 2040 v=21:texte$="aussi,nous vous invitons à le prouver.":GOSUB 29200 2060 PAPER 0:PEN 1:LOCATE 2,25:PRINT "APPUYER SUR UNE TOUCHE POUR LE MENU":FOR Z=1 TO 100:NEXT:PAPER 1:PEN 0:LOCATE 2,25:PRINT "APPUYER SUR UNE TOUCHE POUR LE MENU":FOR Z=1 TO 100:NEXT 2070 IF INKEY$="" THEN 2060 2080 av=0:GOTO 4200:' début de jeu 2100 ' arret trop de fautes/erreurs========== 2110 INK 2,9:INK 3,26:PAPER 2:PEN 3:BORDER 9:CLS 2112 IF erreur>nbpiece THEN 2120 2114 v=5:texte$="STOP !":GOSUB 29200:V=10:TEXTE$="Le nombre d'aides est trop élevé.":GOSUB 29200:v=12:texte$="Aussi, avons-nous pris":GOSUB 29200:v=14:texte$="la très pénible décision d'interrompre":GOSUB 29200:GOTO 2130 2120 v=5:texte$="STOP !":GOSUB 29200:V=10:TEXTE$="Le nombre d'erreurs est trop élevé.":GOSUB 29200:v=12:texte$="Aussi, avons-nous pris":GOSUB 29200:v=14:texte$="la très pénible décision d'interrompre":GOSUB 29200 2130 v=16:texte$="cette partie.":GOSUB 29200 2140 IF nbpiece=4 THEN 2170 2150 V=18:TEXTE$="Choisissez un puzzle plus petit et":GOSUB 29200:GOTO 2180 2170 v=18:texte$="Il n'y a pourtant pas plus facile !":GOSUB 29200: 2180 v=21:texte$="CONCENTREZ - VOUS !":GOSUB 29200 2190 PAPER 0:PEN 1:LOCATE 2,25:PRINT "APPUYER SUR UNE TOUCHE POUR LE MENU":FOR Z=1 TO 100:NEXT:PAPER 1:PEN 0:LOCATE 2,25:PRINT "APPUYER SUR UNE TOUCHE POUR LE MENU":FOR Z=1 TO 100:NEXT 2192 IF INKEY$="" THEN 2190 2195 GOTO 4200 2200 ' aide =============================== 2203 IF modvisi=1 THEN aide=1:aider=aider+3:GOTO 2210 2205 aide=1:aider=aider+2 2210 RANDOMIZE TIME 2220 z=INT(RND*nbpiece)+1 2230 FOR t=1 TO nbpiece 2240 IF t<>z THEN 2270 2250 IF chi(z)=0 THEN 2210 ELSE 2280 2270 NEXT 2280 GOTO 605:' placer piece 2300 ' modele visible======================== 2310 IF modvisi=1 THEN PEN 1:LOCATE 16,17:PRINT "MODELE DEJA":LOCATE 18,19:PRINT "VISIBLE":FOR d=1 TO 2000:NEXT:LOCATE 16,17:PRINT " ":LOCATE 18,19:PRINT " ":GOTO 370 2320 MODMONT=1:aider=aider+1:GOTO 125 2330 MODMONT=0 2335 FOR D=1 TO 3000:NEXT:FOR D=1 TO 11:LOCATE 2,12+D:PRINT " ":NEXT 2340 LOCATE 1,25:PRINT " ":REP$="":GOTO 360 3000 ' instructions ======================================== 3010 CLS:v=5:texte$="Le but est de refaire le dessin dont ":GOSUB 29200:v=7:texte$="les pièces sont mélangées.":GOSUB 29200:v=9:texte$="Vous pourrez choisir l'option":GOSUB 29200:v=11:texte$="avec modèle ou sans modèle visible.":GOSUB 29200 3020 v=13:texte$="Mais il faut savoir ":GOSUB 29200:v=15:texte$="qu'avec le modèle visible, ":GOSUB 29200:v=17:texte$="toute erreur ou aide demandée":GOSUB 29200:v=19:texte$="pénalisera davantage...":GOSUB 29200 3030 v=21:texte$="Voici les options possibles:":GOSUB 29200 3040 PAPER 0:PEN 1:LOCATE 2,25:PRINT "APPUYER SUR UNE TOUCHE POUR LA SUITE":FOR Z=1 TO 100:NEXT:PAPER 1:PEN 0:LOCATE 2,25:PRINT "APPUYER SUR UNE TOUCHE POUR LA SUITE":FOR Z=1 TO 100:NEXT 3050 IF INKEY$="" THEN 3040 3060 GOTO 83:' options 3100 ' options 3110 v=5:texte$="Choisissez le nombre de pièces :":GOSUB 29200:v=8:texte$="Appuyer sur 1 pour 4 pièces":GOSUB 29200:v=11:texte$="Appuyer sur 2 pour 9 pièces":GOSUB 29200:v=14:texte$="Appuyer sur 3 pour 16 pièces":GOSUB 29200 3120 v=17:texte$="Appuyer sur 4 pour 25 pièces":GOSUB 29200 3130 IF INKEY$<>"" THEN 3130 3140 q$=INKEY$:IF q$="" THEN 3140 3150 IF ASC(q$)<49 OR ASC(q$)>52 THEN 3140 3160 ON VAL(q$) GOTO 3162,3163,3164,3165 3162 nbpiece=4:ligne=2:GOTO 3170 3163 nbpiece=9:ligne=3:GOTO 3170 3164 nbpiece=16:ligne=4:GOTO 3170 3165 nbpiece=25:ligne=5 3170 CLS:v=10:texte$="Choisissez le numéro du puzzle":GOSUB 29200: 3175 IF ligne=2 THEN 3180 3176 IF ligne=3 THEN 3190 3177 IF ligne=4 THEN 3200 3178 IF ligne=5 THEN 3210 3180 v=14:texte$="Appuyer sur un nombre de 1 à 9":GOSUB 29200: 3182 IF INKEY$<>"" THEN 3182 3183 q$=INKEY$:IF q$="" THEN 3183 3184 IF ASC(q$)<49 OR ASC(q$)>57 THEN 3183 3185 ON VAL(q$) GOTO 4000,4001,4002,4003,4004,4005,4006,4007,4008 3190 v=14:texte$="Appuyer sur un nombre de 1 à 5":GOSUB 29200: 3192 IF INKEY$<>"" THEN 3192 3193 q$=INKEY$:IF q$="" THEN 3192 3194 IF ASC(q$)<49 OR ASC(q$)>53 THEN 3193 3195 ON VAL(q$) GOTO 4009,4010,4011,4012,4013 3200 v=14:texte$="Appuyer sur un nombre de 1 à 4":GOSUB 29200: 3202 IF INKEY$<>"" THEN 3202 3203 q$=INKEY$:IF q$="" THEN 3203 3204 IF ASC(q$)<49 OR ASC(q$)>52 THEN 3203 3205 ON VAL(q$) GOTO 4014,4015,4016,4017 3210 v=14:texte$="Appuyer sur un nombre de 1 à 4":GOSUB 29200: 3212 IF INKEY$<>"" THEN 3212 3213 q$=INKEY$:IF q$="" THEN 3213 3214 IF ASC(q$)<49 OR ASC(q$)>52 THEN 3213 3215 ON VAL(q$) GOTO 4018,4019,4020,4021 3990 ' codes puzzle choisi 4000 RESTORE 30040:re=1:GOTO 4100 4001 RESTORE 30050:re=2:GOTO 4100 4002 RESTORE 30060:re=3:GOTO 4100 4003 RESTORE 30070:re=4:GOTO 4100 4004 RESTORE 30080:re=5:GOTO 4100 4005 RESTORE 30090:re=6:GOTO 4100 4006 RESTORE 30100:re=7:GOTO 4100 4007 RESTORE 30110:re=8:GOTO 4100 4008 RESTORE 30120:re=9:GOTO 4100 4009 RESTORE 30130:re=10:GOTO 4100 4010 RESTORE 30140:re=11:GOTO 4100 4011 RESTORE 30150:re=12:GOTO 4100 4012 RESTORE 30160:re=13:GOTO 4100 4013 RESTORE 30170:re=14:GOTO 4100 4014 RESTORE 30180:re=15:GOTO 4100 4015 RESTORE 30190:re=16:GOTO 4100 4016 RESTORE 30200:re=17:GOTO 4100 4017 RESTORE 30210:re=18:GOTO 4100 4018 RESTORE 30000:re=19:GOTO 4100 4019 RESTORE 30010:re=20:GOTO 4100 4020 RESTORE 30020:re=21:GOTO 4100 4021 RESTORE 30030:re=22:GOTO 4100 4100 CLS:v=10:texte$="Appuyer sur 1 pour le modèle visible":GOSUB 29200:v=14:texte$="ou sur 2 pour qu'il soit caché.":GOSUB 29200 4110 IF INKEY$<>"" THEN 4110 4120 q$=INKEY$:IF Q$="" THEN 4120 4130 IF ASC(q$)<49 OR ASC(q$)>50 THEN 4120 4140 IF VAL(q$)=1 THEN modvisi=1 ELSE modvisi=0 4150 GOTO 100 4200 'fin de partie- retour menu =========== 4210 juste=0:aide=0:nbpiece=0:ligne=0:erreur=0:aider=0:GOTO 75:'début de jeu 29000 ' efface lettre ======================= 29010 IF rep$="" THEN 29050 29020 av=av-1:LOCATE 10+av,25:PRINT " ":rep$=LEFT$(rep$,LEN(rep$)-1) 29050 GOTO 370 29100 ' efface lettre======================= 29110 IF repp$="" THEN 29150 29120 LOCATE 33,25:PRINT " ":repp$=LEFT$(repp$,LEN(repp$)-1) 29150 GOTO 430 29200 ' machine a ecrire 29220 FOR q=1 TO LEN(texte$) 29230 lettre$(q)=MID$(texte$,q,1) 29232 IF lettre$(q)=" " THEN 29240 'FOR d=1 TO 80:NEXT:GOTO 29240 29235 SOUND 1,978,5,10,,,1 29240 LOCATE ((40-LEN(texte$))ç 2)+h,v:PEN 3:PRINT lettre$(q):h=h+1 'FOR d=1 TO 40:NEXT:h=h+1 29250 NEXT 29260 h=0:FOR d=1 TO 300:NEXT:RETURN 29990 'codes puzzle 25 pieces 30000 DATA 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25 30010 DATA 4,28,30,32,2,6,12,31,14,10,15,22,13,24,11,26,7,18,9,34,27,29,23,33,35 30020 DATA 17,7,31,9,19,10,29,13,33,6,22,2,23,4,24,12,35,18,27,14,34,32,36,28,26 30030 DATA 12,32,3,28,14,34,9,36,7,26,10,37,31,38,6,22,2,23,4,24,33,35,13,27,29 30035 '4 pieces 30040 DATA 33,29,34,26 30050 DATA 12,14,29,33 30060 DATA 26,34,27,35 30070 DATA 35,27,2,4 30080 DATA 34,26,35,27 30090 DATA 13,33,34,4 30100 DATA 1,5,4,2 30110 DATA 29,33,10,6 30120 DATA 2,4,35,27 30125 ' 9 pieces 30130 DATA 29,27,38,34,13,4,10,36,6 30140 DATA 29,33,39,3,13,26,36,10,6 30150 DATA 37,23,38,2,13,4,10,18,6 30160 DATA 4,3,2,6,13,10,27,39,35 30170 DATA 38,37,36,6,10,2,27,35,22 30175 '16 pieces 30180 DATA 34,26,37,29,35,27,39,6,40,41,13,33,22,24,36,3 30190 DATA 33,41,40,29,34,35,27,26,22,4,2,24,12,32,28,14 30200 DATA 37,29,33,38,10,4,2,6,34,27,35,26,22,28,32,24 30210 DATA 41,6,10,40,34,27,35,26,22,4,2,24,12,38,37,14 |