Home » Recent acquisitions » Acorn ADFS disks » adfs_AcornComputing_199407.adf » 9407 » 10_10Frnch/!10_10Fren/25-01-1994/Menu
10_10Frnch/!10_10Fren/25-01-1994/Menu
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Recent acquisitions » Acorn ADFS disks » adfs_AcornComputing_199407.adf » 9407 |
Filename: | 10_10Frnch/!10_10Fren/25-01-1994/Menu |
Read OK: | ✔ |
File size: | 86C0 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM ><Disc1$Dir>.Menu 20ONERROR:IFERR=17 PROCtrap:GOTO60 ELSEPROCerror 30IFMODE<>12:MODE12:OFF 40PROCinitial 50PROCassemble 60PROCmenu 70REPEAT 80PROCmouseilluminate 90PROCselect 100PROCaccess 110PROCconfigure 120UNTIL FALSE 130DEFPROCinitial 140SYS"ABC_VideoAddress" 150SYS"Hourglass_On" 160MOUSE RECTANGLE 0,0,1280,1024 170DIM att%(6,6,4),new%(6,6,4),info$(6,6),sub$(6,6,4),filename$(64),six$(6) 180DIM ncl$(6),mnu$(11),directory%(64),files%(64),cat% &400 190h%=OPENIN("ram:FactFile") 200FORJ%=1TO6 210FORK%=1TO6 220INPUT#h%,info$(J%,K%) 230NEXT 240NEXT 250CLOSE#h% 260@% =0 270box%=0 280g% =16 290pre%=-1 300sun%=0 310f$ ="<Disc1$Dir>.SixGames." 320j% =FNinitialcompressed("Numbers") 330PROCloaddetails 340RESTORE 530 350FORJ%=1TO6 360FORK%=1TO6 370FORL%=1TO4 380READ a$ 390sub$(J%,K%,L%)=a$ 400NEXT 410NEXT 420NEXT 430FORJ%=1TO6 440READ a$ 450ncl$(J%)=a$ 460NEXT 470SYS"Hourglass_Smash" 480PROCpoint("Ten",1) 490VOICES 4 500VOICE 1,"StringLib-Pluck" 510PROCflush 520ENDPROC 530DATA fruit/veg,drinks and baker's,delicatessan,general 540DATA in grocer's,in grocer's,in delicatessan,general 550DATA food shopping,restaurant/cafe,clothes shopping,present shopping 560DATA "avoir, �tre present tense",regular 'er' verb aimer,vouloirs,regular 're' 'ir' verbs vendre and finir 570DATA food/dishes,shops and services,food items,restaurants 580DATA apologising and excuses,"complaints, problems and disapproval","likes, dislikes, voicing anger and exasperation","inviting, refusing and forbidding" 590DATA sports,sports,music,hobbies 600DATA sports,music,pastimes,going out 610DATA sports,music,pastimes,going out 620DATA "faire, aller","pouvoir, devoir",regular 'er',reflexives 630DATA direct object pronouns,indirect object pronouns,'y' and 'en',emphatic pronouns 640DATA perfect tense,imperfect tense,pluperfect tense,past historic tense 650DATA female relatives,male relatives,pets,colours 660DATA parts of the body,features/face,illness/health,special occasions 670DATA physical description,personality,family status and religion,nationality 680DATA family and special occasions,"illness, health and diet",finding opposites,finding opposites 690DATA adjectives,adjectives,adverbs,adverbs 700DATA find the noun,find the verb,find the adjective,find the past participle 710DATA places in town,places in town,furniture,shops 720DATA "whole hours, half hours and quarter past",all times,24 hour clock,24 hour clock 730DATA giving directions,giving directions,station signs,weather 740DATA geography of France,geography of France,geography of France,geography of France 750DATA regular verbs,irregular verbs,irregular verbs,irregular verbs 760DATA slang,slang,idioms,idioms 770DATA school subjects,classroom objects,school facilities,classroom objects 780DATA school subjects - le la l' les,classroom objects - un une des,school facilities - le la l' les,classroom objects - un une des 790DATA mon ma mes,ton ta tes,son sa ses,notre nos 800DATA school subjects/rooms,jobs and careers,classroom objects,jobs and careers 810DATA future plans,future plans,future plans (infinitives),future plans (infinitives) 820DATA infinitives,relative pronouns qui que,negatives,after having ... 830DATA days,months,numbers 1-20,numbers in tens 0-100 840DATA countries,accommodation,transport,holiday items 850DATA weather,hotel,campsite,tourist office 860DATA perfect tense with 'avoir' regular,perfect tense with 'avoir' irregular,"perfect tense with '�tre'",perfect tense with reflexive verbs 870DATA holidays past,holidays past,post cards,plans for future holidays 880DATA tourist office,booking accomodation,holiday complaints,lost property 890DATA 1,2/3,3/4,5/6,6/7,8/9/10 900DEFPROCmouse1 910MOUSE COLOUR 1,255,255,0 920MOUSE COLOUR 2,255,0,0 930MOUSE COLOUR 3,192,192,192 940MOUSE ON 1 950ENDPROC 960DEFFNarea(x1%,y1%,x2%,y2%) 970IFmox%<x1% OR mox%>x2%:=FALSE 980IFmoy%<y1% OR moy%>y2%:=FALSE 990=TRUE 1000DEFPROCmouseilluminate 1010MOUSE mox%,moy%,but% 1020box%=(moy%-100)>>6 1030IFbox%<0:box%=0 1040IFbox%>11:box%=11 1050IFbox%<>sun%:WAIT:PROCsqr(sun%,11):PROCsqr(box%,15):sun%=box% 1060IFNOTFNarea(704,104,864,868) THEN 1070PROCsqr(box%,11) 1080IFbox%<5 THEN 1090box%=11:sun%=10 1100ELSE 1110box%=0:sun%=1 1120ENDIF 1130PROCtidy 1140ELSE 1150IFfrn%:PROClongmenu 1160ENDIF 1170IFbut%=0 OR NOTFNarea(704,104,864,868):ENDPROC 1180VDU 7 1190CASE box% OF 1200WHEN 0 :PROCdesktop 1210WHEN 1 :PROCprintcertificate 1220WHEN 2 :PROCdelete 1230WHEN 3 :PROCcreate 1240WHEN 4 :PROCload 1250WHEN 5 :PROCviewachieve 1260WHEN 6 :PROCrun("Stones") 1270WHEN 7 :PROCrun("Rescue") 1280WHEN 8 :PROCrun("LinkUp") 1290WHEN 9 :PROCrun("WordSearch") 1300WHEN 10:PROCrun("Tower") 1310WHEN 11:PROCrun("TheCop") 1320ENDCASE 1330IFsun%<11 sun%=11 ELSEsun%=0 1340PROCzeromouse 1350PROCmenu 1360ENDPROC 1370DEFPROCrun(game$) 1380MOUSE OFF 1390SYS"Hourglass_On" 1400SYS"ABC_Blank",15 1410SYS"ABC_Colour",15 1420PROCconfilesave 1430CHAIN f$+game$ 1440ENDPROC 1450DEFPROCsqr(wch%,col%) 1460GCOL 0,col% 1470RECTANGLEFILL 706,wch%*64+100,156,58 1480ENDPROC 1490DEFPROCmenu 1500MOUSE OFF 1510MOUSE TO 640,512 1520SYS"ABC_Blank",15 1530SYS"ABC_Colour",15 1540inj%=72 1550omy%=1 1560txt%=1 1570d$="" 1580IFfrn% PROCcard("FRANCAIS MENU",24,6,2,12) ELSEPROCcard("FRENCH MENU",24,6,2,12) 1590PROCfillmenu 1600PROCcurrent 1610PROCrectangles 1620PROCcontents 1630SYS"ABC_Palette" 1640MOUSE RECTANGLE 0,0,1280,1024 1650MOUSE TO 640,512 1660PROCmouse1 1670ENDPROC 1680DEFPROCfillmenu 1690VDU 5 1700GCOL 0,0 1710IFfrn% RESTORE 1910 ELSERESTORE 1880 1720FORJ%=0TO5 1730READ s$ 1740MOVE 400,844-J%*64 1750IFfrn% PRINTLEFT$(s$,17) ELSEPRINTs$ 1760mnu$(J%)=s$ 1770NEXT 1780GCOL 0,14 1790FORJ%=6TO11 1800READ s$ 1810MOVE 400,844-J%*64 1820IFfrn% PRINTLEFT$(s$,17) ELSEPRINTs$ 1830mnu$(J%)=s$ 1840NEXT 1850VDU 4 1860OFF 1870ENDPROC 1880DATA The Cop,Tower,Word Search,Link Up,Rescue,Stones 1890DATA Player information,Change player,New player,Remove player 1900DATA Print certificate,Quit 1910DATA Le Flic,La Tour,Le Puzzle,Le Jumelage,"La Fus�e",La Bonne Route 1920DATA Information pour les joueur,Changement de joueur,Nouveau joueur,Effacer le joueur 1930DATA Imprimer le certificat,Quitter 1940DEFPROCachievecard 1950MOUSE OFF 1960SYS"ABC_Blank",15 1970SYS"ABC_Colour",15 1980a$=FNstrip(attend$) 1990IFa$="" THEN 2000IFfrn% a$="Vide" ELSEa$="Empty" 2010ENDIF 2020IFfrn% PROCnewcard(a$+" : Grille d'Evaluation 10/10 Fran�ais",8,13) ELSEPROCnewcard(a$+" : Achievement Record 10/10 French",8,13) 2030PROCfillachieve 2040MOUSE TO 640,512 2050SYS"ABC_Palette" 2060PROCmouse1 2070p$="X" 2080oxx%=0 2090oyy%=0 2100ozz%=0 2110*FX21 0 2120ENDPROC 2130DEFPROCviewachieve 2140MOUSE RECTANGLE 128,116,1150,764 2150PROCachievecard 2160REPEAT 2170MOUSE mox%,moy%,but% 2180cxx%=(mox%-128)/192+1 2190cyy%=(moy%-116)/128+1 2200czz%=0 2210xsc%=cxx%*192-30 2220ysc%=cyy%*128 2230cyy%=7-cyy% 2240IFFNarea(xsc%,ysc%,xsc%+126,ysc%+40) AND att%(cxx%,cyy%,0)<3:czz%=(mox%-xsc%)/32+1 2250IFcxx%<>oxx% OR cyy%<>oyy% OR czz%<>ozz%:PROCinformation(info$(cxx%,cyy%),sub$(cxx%,cyy%,czz%)) 2260PROCachievediscdump 2270PROCachieveprintdump 2280PROCallachieveprintdump 2290UNTIL FNleave 2300ENDPROC 2310DEFPROCinformation(t$,u$) 2320IFu$>"":t$+=" ("+u$+")" 2330IFnig%:t$="LoA "+ncl$(cyy%)+" "+t$ 2340oxx%=cxx% 2350oyy%=cyy% 2360ozz%=czz% 2370IFp$=t$:ENDPROC 2380p$=t$ 2390PROCmess(t$,11) 2400ENDPROC 2410DEFPROCcard(t$,tax%,tay%,sdx%,sdy%) 2420VDU 5 2430GCOL 0,8 2440RECTANGLEFILL tax%*g%,tay%*g%,sdx%*160+160,sdy%*64 2450GCOL 0,11 2460RECTANGLEFILL tax%*g%+320,tay%*g%,sdx%*160-162,sdy%*64 2470GCOL 0,0 2480IFsdx%*160+160>1279 sxe%=1278 ELSEsxe%=sdx%*160+160 2490RECTANGLE tax%*g%,tay%*g%,sxe%,sdy%*64 2500GCOL 0,13 2510MOVE tax%*g%+64,tay%*g%+sdy%*64+64 2520PLOT 0,LEN(t$)*g%,0 2530PLOT 85,tax%*g%,tay%*g%+sdy%*64 2540PLOT 81,128+LEN(t$)*g%,0 2550GCOL 0,0 2560MOVE tax%*g%,tay%*g%+sdy%*64 2570PLOT 1,64,64 2580PLOT 1,LEN(t$)*g%,0 2590PLOT 1,64,-64 2600MOVE tax%*g%+64,tay%*g%+sdy%*64+44 2610PRINTt$ 2620FORJ%=1TO sdx% 2630MOVE tax%*g%+J%*160+160,tay%*g% 2640PLOT 1,0,sdy%*64 2650NEXT 2660FORJ%=1TO sdy% 2670MOVE tax%*g%,tay%*g%+J%*64 2680PLOT 1,sdx%*160+160,0 2690NEXT 2700VDU 4 2710OFF 2720ENDPROC 2730DEFPROCcent(t$,tay%) 2740PRINTTAB(41-LEN(t$)DIV2,tay%)t$; 2750ENDPROC 2760DEFPROCmess(t$,col%) 2770GCOL 0,col% 2780VDU 5 2790WAIT 2800RECTANGLEFILL 0,0,1278,64 2810GCOL 0,0 2820RECTANGLE 0,0,1278,64 2830MOVE 640-LEN(t$)*8,44 2840PRINTt$ 2850VDU 4 2860OFF 2870ENDPROC 2880DEFPROCprintcertificate 2890SYS"ABC_Colour",15 2900MOUSE OFF 2910ach%=TRUE 2920FORJ%=1TO6 2930FORK%=1TO6 2940IFatt%(K%,J%,0)>2:ach%=FALSE 2950NEXT 2960NEXT 2970IFach% THEN 2980IFfrn% PROCmess("Aucune r�ussite pour l'instant - retourner au menu",11) ELSEPROCmess("Nothing achieved at present - return to menu",11) 2990PROCzeromouse 3000REPEAT 3010UNTIL FNleave 3020ELSE 3030PROCbusy 3040REPEAT 3050UNTIL FNleave 3060ENDIF 3070ENDPROC 3080DEFPROCbusy 3090IFfrn% PROCforeign ELSEPROCenglish 3100ENDPROC 3110DEFPROCenglish 3120PROCmess("Screen/Printer/Disc (S/P/D)",11) 3130*FX21 0 3140REPEAT 3150k%=INKEY(0) 3160IFk%>=ASC("a"):k%-=32 3170UNTIL k%=ASC("S") OR k%=ASC("P") OR k%=ASC("D") OR INKEY-113 3180IFINKEY-113:PROCflush:ENDPROC 3190VDU 7 3200IFk%<>ASC("P") THEN 3210PROCmess("Text/Graphics (T/G)",11) 3220REPEAT 3230t%=INKEY(0) 3240IFt%>=ASC("a"):t%-=32 3250UNTIL t%=ASC("T") OR t%=ASC("G") OR INKEY-113 3260ELSE 3270t%=ASC("T") 3280ENDIF 3290IFINKEY-113:PROCflush:ENDPROC 3300IFt%=ASC("T") PROCachieve_text ELSEPROCachieve_graphics 3310IFk%=ASC("D"):PROCdiscdump 3320IFk%=ASC("P"):PROCprinter_dump 3330ENDPROC 3340DEFPROCforeign 3350PROCmess("Ecran/Imprimante/Disquette (E/I/D)",11) 3360*FX21 0 3370REPEAT 3380k%=INKEY(0) 3390IFk%>=ASC("a"):k%-=32 3400UNTIL k%=ASC("E") OR k%=ASC("I") OR k%=ASC("D") OR INKEY-113 3410IFINKEY-113:PROCflush:ENDPROC 3420VDU 7 3430IFk%<>ASC("I") THEN 3440PROCmess("Texte/iMages (T/M)",11) 3450REPEAT 3460t%=INKEY(0) 3470IFt%>=ASC("a"):t%-=32 3480UNTIL t%=ASC("T") OR t%=ASC("M") OR INKEY-113 3490ELSE 3500t%=ASC("T") 3510ENDIF 3520IFINKEY-113:PROCflush:ENDPROC 3530IFt%=ASC("T") PROCachieve_text ELSEPROCachieve_graphics 3540IFk%=ASC("D"):PROCdiscdump 3550IFk%=ASC("I"):PROCprinter_dump 3560ENDPROC 3570DEFPROCachieve_graphics 3580SYS"ABC_Blank",3 3590SYS"ABC_Colour",3 3600GCOL 0,12 3610RECTANGLEFILL 184,64,942,932 3620GCOL 0,7 3630RECTANGLE 184,64,942,932 3640COLOUR 0 3650COLOUR 140 3660SYS"ABC_UnpackSprite","wax",j%,444,70 3670SYS"ABC_UnpackSprite","small",j%,120,64 3680PROCwords(TRUE) 3690SYS"ABC_Palette" 3700ENDPROC 3710DEFPROCachieve_text 3720SYS"ABC_Blank",12 3730SYS"ABC_Colour",12 3740COLOUR 7 3750COLOUR 140 3760PROCcent(STRING$(67,"*"),0) 3770FORJ%=1TO29 3780PRINTTAB(8,J%)"*"TAB(74,J%)"*" 3790NEXT 3800PROCcent(STRING$(67,"*"),30) 3810PROCwords(FALSE) 3820SYS"ABC_Palette" 3830ENDPROC 3840DEFPROCwords(fan%) 3850IFfan% THEN 3860IFfrn% a$="CECI CERTIFIE QUE" ELSEa$="THIS IS TO CERTIFY THAT" 3870xsc%=320-LEN(a$)*8 3880SYS"ABC_PryntString",a$,xsc%,240,1,7 3890SYS"ABC_PryntString",a$,xsc%-2,242,1,11 3900PROCwings(FNstrip(attend$),168,222) 3910ELSE 3920COLOUR 7 3930COLOUR 140 3940IFfrn% PROCcent("CECI CERTIFIE QUE ",2) ELSEPROCcent("THIS IS TO CERTIFY THAT ",2) 3950a$=FNstrip(attend$) 3960PROCcent(a$,4) 3970ENDIF 3980COLOUR 7 3990COLOUR 140 4000IFfrn% THEN 4010IFver% a$="cat�gories" ELSEa$="niveaux" 4020PROCcent("a jou� aux jeux Dix sur Dix Fran�ais",9) 4030PROCcent("et a obtenu 100% aux jeux suivants "+a$,10) 4040PROCcent("Certificat d�livr� par",27) 4050PROCcent("Systemes Educatifs 10/10",28) 4060ELSE 4070IFver% a$="grades" ELSEa$="levels" 4080PROCcent("has played the Ten out of Ten French games",9) 4090PROCcent("and has achieved 100% at the following "+a$,10) 4100PROCcent("Certificate from",27) 4110PROCcent("10/10 Educational Systems",28) 4120ENDIF 4130PROCcent(FNdate,25) 4140tay%=0 4150FORJ%=1TO6 4160K%=1 4170fnd%=FALSE 4180WHILE K%<7 AND NOTfnd% 4190IFatt%(K%,J%,0)>2 AND LEFT$(info$(K%,J%),4)<>"":tay%+=1:fnd%=TRUE 4200K%+=1 4210ENDWHILE 4220NEXT 4230tay%=18-tay%DIV2 4240IFfrn% RESTORE 1910 ELSERESTORE 1880 4250FORJ%=1TO6 4260READ b$ 4270six$()="" 4280FORK%=1TO6 4290IFatt%(J%,K%,0)>2:six$(K%)=STR$(K%) 4300NEXT 4310REPEAT 4320srt%=TRUE 4330FORK%=1TO5 4340IFsix$(K%)<six$(K%+1):SWAP six$(K%),six$(K%+1):srt%=FALSE 4350NEXT 4360UNTIL srt% 4370a$="" 4380FORK%=1TO6 4390IFsix$(K%)<>"":a$+=six$(K%)+"," 4400NEXT 4410IFRIGHT$(a$)=",":a$=LEFT$(a$) 4420IFa$<>"" THEN 4430PRINTTAB(18,tay%)b$TAB(36,tay%)"..."TAB(40,tay%)a$ 4440tay%+=1 4450ENDIF 4460NEXT 4470ENDPROC 4480DEFPROCdiscdump 4490VDU 7 4500MOUSE OFF 4510LOCAL ERROR 4520SYS"ABC_Transfer",0,16,640,17 4530PROCinput(32,"adfs::0.$."+attend$,FALSE,TRUE) 4540SYS"ABC_Restore" 4550IFesc% OR i$="":ENDPROC 4560SYS"Hourglass_On" 4570OSCLI"SCREENSAVE "+i$ 4580SYS"Hourglass_Smash" 4590ON ERROR LOCAL:PROCfrang 4600*DIR <Disc1$Dir>.SixGames 4610SYS"ABC_Restore" 4620MOUSE TO 640,512 4630PROCmouse1 4640ENDPROC 4650DEFPROCfrang 4660VDU 7 4670IFfrn% a$="INTRODUIRE LA DISQUETTE DANS LE LECTEUR ET APPUYER SUR RETOUR" ELSEa$="PLEASE INSERT DISC INTO DRIVE AND PRESS RETURN" 4680PROCmess(a$,8) 4690REPEAT 4700UNTIL INKEY-74 4710ENDPROC 4720DEFPROCprinter_dump 4730VDU 2 4740FORJ%=0TO30 4750FORK%=0TO79 4760VDU 31,K%,J% 4770SYS"OS_Byte",135 TO ,res% 4780VDU res% 4790NEXT 4800IFJ%<30:VDU 13,10 4810NEXT 4820VDU 3 4830ENDPROC 4840DEFPROCload 4850PROClegal 4860IFbad% OR esc%:ENDPROC 4870PROCgridcheck 4880IFa$="" OR k%:ENDPROC 4890VDU 7 4900h%=OPENIN("<Disc1$Dir>.SixGames.Achieve.Achieve"+STR$(cla%)+"."+a$) 4910SYS"Hourglass_On" 4920FORL%=0TO4 4930FORK%=1TO6 4940FORJ%=1TO6 4950INPUT#h%,att%(J%,K%,L%) 4960NEXT 4970NEXT 4980NEXT 4990CLOSE#h% 5000attend$=a$ 5010PROCconfilesave 5020SYS"Hourglass_Smash" 5030ENDPROC 5040DEFPROCsmall(wch%,col%) 5050GCOL 0,col% 5060RECTANGLEFILL (wch%>>4)*256+354,964-((wch%AND&F)<<6),26,32 5070ENDPROC 5080DEFPROCcreate 5090PROClegal 5100IFbad% OR esc%:ENDPROC 5110MOUSE OFF 5120SYS"ABC_Colour",15 5130IFfrn% PROCmess("Nom du nouveau joueur",11) ELSEPROCmess("New player name",11) 5140PROCdelay(50) 5150PROCinput(8,"",TRUE,FALSE) 5160WHILE INSTR(i$," ")>0 5170MID$(i$,INSTR(i$," "))="_" 5180ENDWHILE 5190IFesc%:ENDPROC 5200OSCLI"DIR <Disc1$Dir>.SixGames.Achieve.Achieve"+STR$(cla%) 5210SYS"OS_GBPB",8,,cat%,&40,0 TO ,,,d% 5220*DIR <Disc1$Dir>.SixGames 5230a%=0 5240c%=0 5250d%=64-d% 5260st%=cat% 5270dup%=FALSE 5280WHILE c%<d% AND NOTdup% 5290t%=st%?((?st%)+1) 5300st%?((?st%)+1)=&D 5310a$=$(st%+1) 5320st%+=1+(?st%) 5330?st%=t% 5340IFa$=i$:dup%=TRUE 5350a%+=1 5360c%+=1 5370ENDWHILE 5380k%=TRUE 5390IFdup% THEN 5400GCOL 0,10 5410VDU 5 5420RECTANGLEFILL 0,0,1278,64 5430GCOL 0,0 5440RECTANGLE 0,0,1278,64 5450IFfrn% t$="Joueur "+i$+" existe d�j� - Effacer?" ELSEt$="Player "+i$+" already exists - Erase?" 5460MOVE 860-LEN(t$)*g%,44 5470PRINTt$ 5480VDU 4 5490OFF 5500k%=FNyesno 5510ENDIF 5520IFNOTk%:PROCmouse1:ENDPROC 5530att%()=0 5540h%=OPENOUT("<Disc1$Dir>.SixGames.Achieve.Achieve"+STR$(cla%)+"."+i$) 5550FORL%=0TO4 5560FORK%=1TO6 5570FORJ%=1TO6 5580PRINT#h%,att%(J%,K%,L%) 5590NEXT 5600NEXT 5610NEXT 5620CLOSE#h% 5630attend$=i$ 5640PROCconfilesave 5650SYS"ABC_Colour",15 5660PROCmouse1 5670ENDPROC 5680DEFPROCdelete 5690PROClegal 5700IFbad% OR esc%:ENDPROC 5710PROCgridcheck 5720IFa$="" OR k%:ENDPROC 5730SYS"ABC_Colour",15 5740GCOL 0,10 5750VDU 5 5760RECTANGLEFILL 0,0,1278,64 5770GCOL 0,0 5780RECTANGLE 0,0,1278,64 5790IFfrn% t$="Joueur "+a$+" - Effacer?" ELSEt$="Player "+a$+" - Erase?" 5800MOVE 860-LEN(t$)*g%,44 5810PRINTt$ 5820VDU 4 5830OFF 5840k%=FNyesno 5850IFNOTk%:PROCmouse1:ENDPROC 5860OSCLI"DELETE <Disc1$Dir>.SixGames.Achieve.Achieve"+STR$(cla%)+"."+a$ 5870IFa$=attend$:PROCsetempty 5880ENDPROC 5890DEFPROCdelay(del%) 5900REPEAT 5910WAIT 5920del%-=1 5930UNTIL del%<0 5940ENDPROC 5950DEFPROCconfileload 5960h%=OPENIN(f$+"Configure") 5970INPUT#h%,rat%,nig%,sds%,ver%,grd%,cla%,typ$,hed%,fut%,pap%,pix%,frn%,attend$,cod% 5980CLOSE#h% 5990ENDPROC 6000DEFPROCconfilesave 6010h%=OPENOUT(f$+"Configure") 6020PRINT#h%,rat%,nig%,sds%,ver%,grd%,cla%,typ$,hed%,fut%,pap%,pix%,frn%,attend$,cod% 6030CLOSE#h% 6040ENDPROC 6050DEFPROCloaddetails 6060PROCconfileload 6070IFsds% OSCLI"SPEAKER ON" ELSEOSCLI"SPEAKER OFF" 6080IFattend$="" THEN 6090att%()=0 6100ELSE 6110h%=OPENIN("<Disc1$Dir>.SixGames.Achieve.Achieve"+STR$(cla%)+"."+attend$) 6120FORL%=0TO4 6130FORK%=1TO6 6140FORJ%=1TO6 6150INPUT#h%,att%(J%,K%,L%) 6160NEXT 6170NEXT 6180NEXT 6190CLOSE#h% 6200ENDIF 6210ENDPROC 6220DEFFNyesno 6230PROCzeromouse 6240MOUSE RECTANGLE 959,12,240,46 6250PROCmouse1 6260MOUSE TO 1160,32 6270VDU 5 6280GCOL 0,0 6290MOVE 896,44 6300IFfrn% PRINT"Oui Non" ELSEPRINT"Yes No" 6310REPEAT 6320MOUSE mox%,moy%,but% 6330IFmox%<1072 THEN 6340GCOL 0,11 6350RECTANGLEFILL 960,12,80,40 6360GCOL 0,7 6370RECTANGLEFILL 1120,12,80,40 6380ELSE 6390GCOL 0,7 6400RECTANGLEFILL 960,12,80,40 6410GCOL 0,11 6420RECTANGLEFILL 1120,12,80,40 6430ENDIF 6440UNTIL but%>0 AND POINT(mox%,moy%)=11 6450VDU 4 6460OFF 6470IFmox%<1072 =TRUE ELSE=FALSE 6480DEFFNyesnodesk 6490PROCzeromouse 6500MOUSE RECTANGLE 959,12,240,46 6510PROCmouse1 6520MOUSE TO 1160,32 6530VDU 5 6540GCOL 0,0 6550MOVE 896,44 6560PRINT"Yes No" 6570REPEAT 6580MOUSE mox%,moy%,but% 6590IFmox%<1072 THEN 6600GCOL 0,11 6610RECTANGLEFILL 960,12,80,40 6620GCOL 0,7 6630RECTANGLEFILL 1120,12,80,40 6640ELSE 6650GCOL 0,7 6660RECTANGLEFILL 960,12,80,40 6670GCOL 0,11 6680RECTANGLEFILL 1120,12,80,40 6690ENDIF 6700UNTIL but%>0 AND POINT(mox%,moy%)=11 6710VDU 4 6720OFF 6730IFmox%<1072 =TRUE ELSE=FALSE 6740DEFPROCdisplaydirectory 6750SYS"ABC_Blank",15 6760SYS"ABC_Colour",15 6770OSCLI"DIR <Disc1$Dir>.SixGames.Achieve.Achieve"+STR$(cla%) 6780SYS"OS_GBPB",8,,cat%,&40,0 TO ,,,d% 6790*DIR <Disc1$Dir>.SixGames 6800VDU 5 6810FORa%=0TO63 6820x%=(a%>>4)*256+128 6830y%=(a%AND&F)<<6 6840GCOL 0,8 6850RECTANGLEFILL x%,y%,224,40 6860GCOL 0,11 6870RECTANGLEFILL x%+224,y%,30,40 6880GCOL 0,0 6890RECTANGLE x%+224,y%,30,40 6900NEXT 6910a%=0 6920c%=0 6930d%=64-d% 6940st%=cat% 6950filename$()="" 6960GCOL 0,0 6970WHILE c%<d% 6980t%=st%?((?st%)+1) 6990st%?((?st%)+1)=&D 7000a$=$(st%+1) 7010st%+=1+(?st%) 7020?st%=t% 7030MOVE (a%>>4)*256+144,992-((a%AND&F)<<6) 7040filename$(a%)=a$ 7050a$=FNstrip(a$) 7060PRINT a$ 7070a%+=1 7080c%+=1 7090ENDWHILE 7100VDU 4 7110OFF 7120SYS"ABC_Palette" 7130ENDPROC 7140DEFPROCgridcheck 7150PROCdisplaydirectory 7160lst%=0 7170REPEAT 7180MOUSE mox%,moy%,but% 7190sqx%=(mox%-128)>>8 7200IFsqx%>3:sqx%=3 7210IFsqx%<0:sqx%=0 7220sqy%=(1024-moy%)>>6 7230IFsqy%>15:sqy%=15 7240inx%=sqy%+sqx%*g% 7250IFinx%>63:inx%=63 7260IFinx%<>lst% THEN 7270WAIT 7280PROCsmall(lst%,11) 7290PROCsmall(inx%,15) 7300lst%=inx% 7310ENDIF 7320IFINKEY-113 k%=TRUE ELSEk%=FALSE 7330UNTIL but%>0 OR k% 7340a$=filename$(lst%) 7350ENDPROC 7360DEFPROCcurrent 7370VDU 5 7380GCOL 0,8 7390RECTANGLEFILL 384,16,480,64 7400GCOL 0,0 7410RECTANGLE 384,16,480,64 7420GCOL 0,14 7430MOVE 400,60 7440IFfrn% PRINT"Joueur actuel : "; ELSEPRINT"Current player : "; 7450GCOL 0,0 7460a$=FNstrip(attend$) 7470IFfrn% THEN 7480IFa$="" PRINT"Vide" ELSEPRINTa$ 7490ELSE 7500IFa$="" PRINT"Empty" ELSEPRINTa$ 7510ENDIF 7520VDU 4 7530OFF 7540ENDPROC 7550DEFPROCaccess 7560IFNOTINKEY-2 OR NOTINKEY-31:ENDPROC 7570MOUSE OFF 7580VDU 7 7590SYS"ABC_Colour",15 7600tru%=TRUE 7610IFfrn% PROCforeignaccess ELSEPROCenglishaccess 7620IFesc% OR NOTtru%:ENDPROC 7630PROCconfilesave 7640PROCback 7650ENDPROC 7660DEFPROCforeignaccess 7670PROCmess("ENTRER L'ANCIEN NUMERO DE CODE D'ACCES",8) 7680PROCinvis 7690IFesc%:PROCback:ENDPROC 7700J%=FNvalidatenumber(i$) 7710IFNOTJ%:PROCwrong("CHIFFRES UNIQUEMENT"):tru%=FALSE:ENDPROC 7720IFcod%<>VAL(i$):PROCwrong("FAUX CODE D'ACCES"):tru%=FALSE:ENDPROC 7730PROCmess("INTRODUIRE LE NOUVEAU NUMERO DE CODE D'ACCES",8) 7740PROCinvis 7750IFesc%:PROCback:ENDPROC 7760J%=FNvalidatenumber(i$) 7770IFNOTJ%:PROCwrong("CHIFFRES UNIQUEMENT"):tru%=FALSE:ENDPROC 7780first%=VAL(i$) 7790PROCmess("ENTRER DE NOUVEAU POUR CONFIRMATION",8) 7800PROCinvis 7810IFesc%:PROCback:ENDPROC 7820J%=FNvalidatenumber(i$) 7830IFNOTJ%:PROCwrong("CHIFFRES UNIQUEMENT"):tru%=FALSE:ENDPROC 7840second%=VAL(i$) 7850IFfirst%<>second%:PROCwrong("CHIFFRES DIFFERENTS - RECOMMENCER"):tru%=FALSE:ENDPROC 7860cod%=VALi$ 7870PROCmess("LE NUMERO DE CODE D'ACCES ACCEPTE",8) 7880ENDPROC 7890DEFPROCenglishaccess 7900PROCmess("ENTER OLD ACCESS CODE NUMBER",8) 7910PROCinvis 7920IFesc%:PROCback:ENDPROC 7930J%=FNvalidatenumber(i$) 7940IFNOTJ%:PROCwrong("NUMBERS ONLY PLEASE"):tru%=FALSE:ENDPROC 7950IFcod%<>VAL(i$):PROCwrong("INVALID ACCESS CODE"):tru%=FALSE:ENDPROC 7960PROCmess("ENTER NEW ACCESS CODE NUMBER",8) 7970PROCinvis 7980IFesc%:PROCback:ENDPROC 7990J%=FNvalidatenumber(i$) 8000IFNOTJ%:PROCwrong("NUMBERS ONLY PLEASE"):tru%=FALSE:ENDPROC 8010first%=VAL(i$) 8020PROCmess("ENTER AGAIN TO CONFIRM",8) 8030PROCinvis 8040IFesc%:PROCback:ENDPROC 8050J%=FNvalidatenumber(i$) 8060IFNOTJ%:PROCwrong("NUMBERS ONLY PLEASE"):tru%=FALSE:ENDPROC 8070second%=VAL(i$) 8080IFfirst%<>second%:PROCwrong("DIFFERENT NUMBERS - TRY AGAIN"):tru%=FALSE:ENDPROC 8090cod%=VALi$ 8100PROCmess("NEW ACCESS CODE NUMBER ACCEPTED",8) 8110ENDPROC 8120DEFPROCback 8130IFsun%<11 sun%=11 ELSEsun%=0 8140PROCmenu 8150PROCmouse1 8160ENDPROC 8170DEFPROCwrong(a$) 8180VDU 7 8190PROCmess(a$,11) 8200PROCdelay(150) 8210PROCback 8220ENDPROC 8230DEFFNvalidatenumber(a$) 8240IFa$="":=FALSE 8250K%=TRUE 8260FORJ%=1TO LEN(a$) 8270IFMID$(a$,J%,1)<"0" OR MID$(a$,J%,1)>"9":K%=FALSE 8280NEXT 8290=K% 8300DEFPROCinvis 8310*FX21 0 8320esc%=FALSE 8330cnt%=0 8340i$="" 8350REPEAT 8360REPEAT 8370REPEAT 8380k%=INKEY(1) 8390UNTIL k%>0 AND k%<128 8400IFk%=127 AND cnt%>0 THEN 8410cnt%-=1 8420i$=LEFT$(i$,cnt%) 8430PROCmess(">"+STRING$(LEN(i$),"*")+"<",10) 8440ENDIF 8450UNTIL k%<>127 8460IFk%<>13 AND cnt%<>4 THEN 8470i$+=CHR$k% 8480PROCmess(">"+STRING$(LEN(i$),"*")+"<",10) 8490cnt%+=1 8500ENDIF 8510UNTIL k%=13 OR cnt%=4 8520ENDPROC 8530DEFPROClegal 8540IFcod%=0:bad%=FALSE:esc%=FALSE:ENDPROC 8550MOUSE OFF 8560SYS"ABC_Colour",15 8570IFfrn% PROCmess("ENTRER NUMERO DE CODE D'ACCES",11) ELSEPROCmess("ENTER ACCESS CODE NUMBER",11) 8580PROCfrput 8590IFcod%=VAL(i$) THEN 8600IFfrn% PROCmess("LE NUMERO DE CODE D'ACCES ACCEPTE",8) ELSEPROCmess("ACCESS CODE NUMBER ACCEPTED",8) 8610PROCdelay(100) 8620bad%=FALSE 8630ELSE 8640bad%=TRUE 8650ENDIF 8660PROCmouse1 8670ENDPROC 8680DEFPROCfrput 8690*FX21 0 8700esc%=FALSE 8710cnt%=0 8720tot%=4 8730i$="" 8740REPEAT 8750REPEAT 8760REPEAT 8770k%=INKEY(1) 8780UNTIL k%=13 OR k%>31 AND k%<128 8790IFk%=127 AND cnt%>0 THEN 8800cnt%-=1 8810i$=LEFT$(i$,cnt%) 8820PROCmess(">"+STRING$(LEN(i$),"*")+"<",8) 8830ENDIF 8840UNTIL k%<>127 8850IFk%<>13 AND cnt%<>tot% THEN 8860IFcnt%=0 THEN 8870IFCHR$(k%)>="a" AND CHR$(k%)<="z" i$=CHR$(k%-32) ELSEi$=CHR$(k%) 8880ELSE 8890IFCHR$(k%)>="A" AND CHR$(k%)<="Z" i$+=CHR$(k%+32) ELSEi$+=CHR$(k%) 8900ENDIF 8910PROCmess(">"+STRING$(LEN(i$),"*")+"<",8) 8920cnt%+=1 8930ENDIF 8940UNTIL k%=13 OR cnt%=tot% 8950ENDPROC 8960DEFPROCpoint(a$,mos%) 8970LOCAL wir%,par%,dat% 8980DIM wir% 1088,par% 20,dat% 256 8990h%=OPENIN(f$+a$) 9000FORJ%=0TO32 9010FORK%=0TO32 9020wir%?(K%*32+J%)=BGET#h% 9030NEXT 9040NEXT 9050CLOSE#h% 9060!par%=&20080200 9070par%?1=mos% 9080par%!4=0 9090par%!6=dat% 9100mmo%=dat% 9110FORJ%=32TO1STEPTRUE 9120FORK%=0TO7 9130FORL%=3TO0STEPTRUE 9140val%=wir%?(J%*32+K%*4+L%) 9150IFval%=&FF:par%?4=K%*4+L%:par%?5=31-J%:val%=0 9160?mmo%=?mmo%<<2 9170?mmo%+=val% 9180NEXT 9190mmo%+=1 9200NEXT 9210NEXT 9220SYS"OS_Word",21,par% 9230ENDPROC 9240DEFPROCdesktop 9250MOUSE OFF 9260SYS"ABC_Blank",11 9270PROCexitmessage 9280PROCmess("Return to Desktop?",8) 9290SYS"ABC_Palette" 9300PROCmouse1 9310k%=FNyesnodesk 9320SYS"ABC_Colour",15 9330sun%=10 9340IFNOTk%:ENDPROC 9350*FX20 9360*CHANNELVOICE 1 WaveSynth-Beep 9370*CHANNELVOICE 2 WaveSynth-Beep 9380*CHANNELVOICE 3 WaveSynth-Beep 9390*CHANNELVOICE 4 WaveSynth-Beep 9400*WIPE ram:* ~C~V 9410*RMKILL ABC 9420*RMKILL Synsmajs 9430*RMKILL Timer 9440*RMKILL 10/10SoundGenerator 9450*POINTER 1 9460*SPEAKER ON 9470VDU 20 9480*DESKTOP 9490DEFPROCwings(l$,x%,y%) 9500SYS"ABC_UnpackSprite","wings",j%,x%,y% 9510VDU 5 9520GCOL 0,11 9530MOVE (x%*2+298)-LEN(l$)*8,y%*4-40 9540PRINTl$ 9550VDU 4 9560OFF 9570ENDPROC 9580DEFPROCselect 9590IFNOTFNarea(80,18,336,840) AND NOTFNarea(912,18,1168,840) THEN 9600pre%=-1 9610sly%=-1 9620PROCrectangles 9630ELSE 9640sly%=(moy%-18)DIV280 9650IFFNarea(912,18,1168,840):sly%+=3 9660IFsly%<>pre% THEN 9670PROCrectangles 9680pre%=sly% 9690GCOL 0,11 9700WAIT 9710IFsly%<3 RECTANGLE 80,sly%*280+16,256,256 ELSERECTANGLE 912,(sly%-3)*280+16,256,256 9720ENDIF 9730ENDIF 9740IFbut%=0:ENDPROC 9750CASE sly% OF 9760WHEN 0:PROCrun("WordSearch") 9770WHEN 1:PROCrun("Tower") 9780WHEN 2:PROCrun("TheCop") 9790WHEN 3:PROCrun("Stones") 9800WHEN 4:PROCrun("Rescue") 9810WHEN 5:PROCrun("LinkUp") 9820ENDCASE 9830PROCzeromouse 9840IFsly%>-1:PROCmenu 9850PROCmouse1 9860ENDPROC 9870DEFPROCcontents 9880VDU 5 9890FORJ%=1TO3 9900SYS"ABC_UnpackSprite","intro"+STR$(J%),j%,48,274-J%*70 9910SYS"ABC_UnpackSprite","intro"+STR$(J%+3),j%,464,274-J%*70 9920NEXT 9930IFfrn% RESTORE 10110 ELSERESTORE 10100 9940FORJ%=1TO3 9950READ a$,b$ 9960GCOL 0,7 9970MOVE 96,J%*280-232 9980PRINTa$ 9990MOVE 928,J%*280-232 10000PRINTb$ 10010GCOL 0,0 10020MOVE 102,J%*280-228 10030PRINTa$ 10040MOVE 934,J%*280-228 10050PRINTb$ 10060NEXT 10070VDU 4 10080OFF 10090ENDPROC 10100DATA Word Search,Stones,Tower,Rescue,The Cop,Link Up 10110DATA Le Puzzle,La Bonne Route,La Tour,"La Fus�e",Le Flic,Le Jumelage 10120DEFPROCrectangles 10130GCOL 0,0 10140FORJ%=1TO3 10150RECTANGLE 80,J%*280-264,256,256 10160RECTANGLE 912,J%*280-264,256,256 10170NEXT 10180ENDPROC 10190DEFPROCachievediscdump 10200IFNOTINKEY-2:ENDPROC 10210IFNOTINKEY-82:ENDPROC 10220VDU 7 10230MOUSE OFF 10240LOCAL ERROR 10250SYS"ABC_Transfer",0,16,640,17 10260PROCinput(32,"adfs::0.$.AchieveSpr",FALSE,TRUE) 10270SYS"ABC_Restore" 10280IFesc% OR i$="":ENDPROC 10290VDU 24,0;112;1278;1008; 10300SYS"Hourglass_On" 10310OSCLI"SCREENSAVE "+i$ 10320VDU 26 10330SYS"Hourglass_Smash" 10340ON ERROR LOCAL:PROCmistake 10350*DIR <Disc1$Dir>.SixGames 10360SYS"ABC_Restore" 10370MOUSE TO 640,512 10380PROCmouse1 10390ENDPROC 10400DEFPROCmistake 10410VDU 7 10420PROCmess("PLEASE INSERT DISC 2 INTO DRIVE AND PRESS RETURN",8) 10430REPEAT 10440UNTIL INKEY-74 10450ENDPROC 10460DEFPROCachieveprintdump 10470IFNOTINKEY-2:ENDPROC 10480IFNOTINKEY-56:ENDPROC 10490VDU 7 10500SYS"Hourglass_On" 10510RESTORE 1880 10520new%()=att%() 10530PROCprintpage(attend$) 10540PROCflush 10550SYS"Hourglass_Smash" 10560PROCmouse1 10570ENDPROC 10580DEFPROCallachieveprintdump 10590IFNOTINKEY-2:ENDPROC 10600IFNOTINKEY-102:ENDPROC 10610VDU 7 10620SYS"Hourglass_On" 10630PROCdisplaydirectory 10640PROCflush 10650SYS"Hourglass_Smash" 10660PROCmouse1 10670MOUSE RECTANGLE 0,0,1280,1024 10680files%()=FALSE 10690lst%=0 10700REPEAT 10710MOUSE mox%,moy%,but% 10720sqx%=(mox%-128)>>8 10730IFsqx%>3:sqx%=3 10740IFsqx%<0:sqx%=0 10750sqy%=(1024-moy%)>>6 10760IFsqy%>15:sqy%=15 10770inx%=sqy%+sqx%*g% 10780IFinx%>63:inx%=63 10790IFinx%<>lst% THEN 10800IFfiles%(lst%) PROCsmall(lst%,14) ELSEPROCsmall(lst%,11) 10810IFfiles%(inx%) PROCsmall(inx%,14) ELSEPROCsmall(inx%,15) 10820lst%=inx% 10830ENDIF 10840IFbut%=1 AND filename$(lst%)>"" THEN 10850files%(lst%)=NOTfiles%(lst%) 10860IFfiles%(lst%) PROCsmall(lst%,14) ELSEPROCsmall(lst%,11) 10870PROCzeromouse 10880ENDIF 10890IFINKEY-113 k%=TRUE ELSEk%=FALSE 10900UNTIL but%=4 OR k% 10910a$=filename$(lst%) 10920IFNOTk% THEN 10930SYS"Hourglass_On" 10940SYS"ABC_Colour",15 10950X%=0 10960esc%=FALSE 10970WHILE X%<64 AND NOTesc% 10980IFfiles%(X%) THEN 10990h%=OPENIN("<Disc1$Dir>.SixGames.Achieve.Achieve"+STR$(cla%)+"."+filename$(X%)) 11000FORL%=0TO4 11010FORK%=1TO6 11020FORJ%=1TO6 11030INPUT#h%,new%(J%,K%,L%) 11040NEXT 11050NEXT 11060NEXT 11070CLOSE#h% 11080PROCprintpage(filename$(X%)) 11090ENDIF 11100X%+=1 11110ENDWHILE 11120SYS"Hourglass_Smash" 11130ENDIF 11140MOUSE RECTANGLE 128,116,1150,764 11150PROCachievecard 11160PROCzeromouse 11170ENDPROC 11180DEFPROCprintpage(name$) 11190LOCAL ERROR 11200ON ERROR LOCAL:VDU 6,3,7:esc%=TRUE:ENDPROC 11210VDU 2,21 11220PROCheader 11230a$=FNstrip(name$) 11240IFa$="":a$="Empty" 11250IFfrn% THEN 11260PROCprinter("Les r�sultats de "+a$) 11270PROCprinter("qui joue aux Jeux Dix sur Dix Fran�ais") 11280ELSE 11290PROCprinter("The achievements of "+a$) 11300PROCprinter("playing the 10 out of 10 French games") 11310ENDIF 11320PROCprinter("") 11330PROCprinter(FNdate) 11340PROCprinter("") 11350IFfrn% THEN 11360IFver% THEN 11370PROCprinter("Cat�gories Trait�"+STRING$(51," ")+"R�sultant") 11380ELSE 11390PROCprinter("Niveaux Trait�"+STRING$(52," ")+"R�sultant") 11400ENDIF 11410PROCprinter("") 11420PROCprinter("LE FLIC") 11430PROCgamedetails(1) 11440PROCprinter("LA TOUR") 11450PROCgamedetails(2) 11460PROCprinter("LE PUZZLE") 11470PROCgamedetails(3) 11480PROCprinter("LE JUMELAGE") 11490PROCgamedetails(4) 11500PROCprinter("LA FUSEE") 11510PROCgamedetails(5) 11520PROCprinter("LA BONNE ROUTE") 11530PROCgamedetails(6) 11540PROCprinter("LEGENDE DES COULEURS DE REUSSITE:") 11550PROCprinter("") 11560PROCprinter("BLEU = 100% (10 fois VERT)") 11570PROCprinter("VERT = 100% (10 sur 10!)") 11580PROCprinter("JAUNE = 50% ou plus") 11590PROCprinter("ROUGE = Moins de 50%") 11600PROCprinter("- = signifie que la cat�gorie n'a pas �t� trait�e") 11610ELSE 11620PROCprinter(typ$+" Covering"+STRING$(50," ")+"Achievement") 11630PROCprinter("") 11640PROCprinter("THE COP") 11650PROCgamedetails(1) 11660PROCprinter("TOWER") 11670PROCgamedetails(2) 11680PROCprinter("WORD SEARCH") 11690PROCgamedetails(3) 11700PROCprinter("LINK UP") 11710PROCgamedetails(4) 11720PROCprinter("RESCUE") 11730PROCgamedetails(5) 11740PROCprinter("STONES") 11750PROCgamedetails(6) 11760PROCprinter("KEY TO ACHIEVEMENT COLOURS:") 11770PROCprinter("") 11780PROCprinter("BLUE = 100% (10 times GREEN)") 11790PROCprinter("GREEN = 100% (10 out of 10!)") 11800PROCprinter("YELLOW = 50% or over") 11810PROCprinter("RED = Under 50%") 11820PROCprinter("- = means the grade has not been tried") 11830ENDIF 11840WHILE pnt%<pap% 11850PRINT 11860pnt%+=1 11870ENDWHILE 11880PROCfooter 11890VDU 6,3 11900ENDPROC 11910DEFPROCgamedetails(num%) 11920FORJ%=1TO6 11930b$=info$(num%,J%) 11940IFnig% a$=b$ ELSEa$=MID$(b$,INSTR(b$," ")+1) 11950a$=STR$(J%)+" "+a$ 11960a$+=STRING$(68-LEN(a$)," ") 11970IFfrn% THEN 11980CASE new%(num%,J%,0) OF 11990WHEN 0:a$+="-" 12000WHEN 1:a$+="ROUGE" 12010WHEN 2:a$+="JAUNE" 12020WHEN 3,4,5,6,7,8,9,10,11:a$+="VERT" 12030OTHERWISE:a$+="BLEU" 12040ENDCASE 12050ELSE 12060CASE new%(num%,J%,0) OF 12070WHEN 0:a$+="-" 12080WHEN 1:a$+="RED" 12090WHEN 2:a$+="YELLOW" 12100WHEN 3,4,5,6,7,8,9,10,11:a$+="GREEN" 12110OTHERWISE:a$+="BLUE" 12120ENDCASE 12130ENDIF 12140PROCprinter(a$) 12150NEXT 12160PROCprinter("") 12170ENDPROC 12180DEFPROCheader 12190pnt%=0 12200IFhed%=0:ENDPROC 12210FORW%=1TO hed% 12220PRINT 12230NEXT 12240ENDPROC 12250DEFPROCfooter 12260IFfut%=0:ENDPROC 12270FORW%=1TO fut% 12280PRINT 12290NEXT 12300ENDPROC 12310DEFPROCprinter(j$) 12320PRINTj$ 12330pnt%+=1 12340IFpnt%=pap% THEN 12350PROCfooter 12360PROCheader 12370ENDIF 12380ENDPROC 12390DEFFNdate 12400IFfrn% RESTORE 12500 ELSERESTORE 12480 12410fnd%=FALSE 12420WHILE NOTfnd% 12430READ p$,n$ 12440IFINSTR(TIME$,p$):fnd%=TRUE 12450ENDWHILE 12460z$="Date: " 12470=z$+MID$(TIME$,5,3)+n$+MID$(TIME$,11,5) 12480DATA Jan,January,Feb,February,Mar,March,Apr,April,May,May,Jun,June,Jul 12490DATA July,Aug,August,Sep,September,Oct,October,Nov,November,Dec,December 12500DATA Jan,Janvier,Feb,"F�vrier",Mar,Mars,Apr,Avril,May,Mai,Jun,Juin,Jul 12510DATA Juillet,Aug,"Ao�t",Sep,Septembre,Oct,Octobre,Nov,Novembre,Dec,"D�cembre" 12520DEFPROCflush 12530*FX21 9 12540ENDPROC 12550DEFFNstrip(str$) 12560WHILE INSTR(str$,"_")>0 12570MID$(str$,INSTR(str$,"_"))=" " 12580ENDWHILE 12590=str$ 12600DEFPROCinput(tot%,x$,cap%,fil%) 12610*FX21 0 12620esc%=FALSE 12630cnt%=LEN(x$) 12640i$=x$ 12650IFfil% AND NOTfrn%:y$="filename: >" ELSEy$=">" 12660IFfil% AND frn%:y$="titre du dossier: >" ELSEy$=">" 12670PROCmess(y$+i$+"<",8) 12680REPEAT 12690REPEAT 12700REPEAT 12710k%=INKEY(1) 12720UNTIL k%=13 OR k%>31 AND k%<128 12730IFk%=127 AND cnt%>0 THEN 12740cnt%-=1 12750i$=LEFT$(i$,cnt%) 12760PROCmess(y$+i$+"<",8) 12770ENDIF 12780UNTIL k%<>127 12790IFk%<>13 AND cnt%<>tot% THEN 12800IFcap% THEN 12810IFcnt%=0 THEN 12820IFCHR$(k%)>="a" AND CHR$(k%)<="z" i$=CHR$(k%-32) ELSEi$=CHR$(k%) 12830ELSE 12840IFCHR$(k%)>="A" AND CHR$(k%)<="Z" i$+=CHR$(k%+32) ELSEi$+=CHR$(k%) 12850ENDIF 12860ELSE 12870i$+=CHR$(k%) 12880ENDIF 12890PROCmess(y$+i$+"<",8) 12900cnt%+=1 12910ENDIF 12920IFk%<>13 AND cnt%=tot%:VDU7 12930UNTIL k%=13 12940ENDPROC 12950DEFPROCexitmessage 12960SYS"ABC_Colour",11 12970RESTORE 13070 12980READ a$ 12990Y%=240 13000WHILE a$<>"end" 13010SYS"ABC_PryntString",a$,34,Y%,1,7 13020SYS"ABC_PryntString",a$,32,Y%+1,1,0 13030IFa$>"" Y%-=18 ELSEY%-=12 13040READ a$ 13050ENDWHILE 13060ENDPROC 13070DATA Also available or coming soon 13080DATA "for Acorn 32-bit, IBM PC/compatibles" 13090DATA and Commodore Amiga ... 13100DATA 13110DATA English French 13120DATA German Dinosaurs 13130DATA Astronomy Maths (Statistics) 13140DATA Maths (Number) Maths (Algebra) 13150DATA Early Essentials Junior Essentials 13160DATA 13170DATA Contact your dealer or 13180DATA ring (0742) 780370 for details 13190DATA end 13200DEFFNinitialcompressed(s$) 13210h%=OPENIN(f$+s$) 13220len%=EXT#h% 13230CLOSE#h% 13240DIM z% len% 13250OSCLI"LOAD "+f$+s$+" "+STR$~(z%) 13260=z% 13270DEFPROCconfigure 13280IFNOTINKEY-2 OR NOTINKEY-1 OR NOTINKEY-83:ENDPROC 13290MOUSE OFF 13300SYS"ABC_Blank",3 13310SYS"ABC_Colour",3 13320PROCvaliddirectories 13330SYS"ABC_UnpackSprite","bar",j%,180,242 13340SYS"ABC_UnpackSprite","exit",j%,454,18 13350COLOUR 11 13360COLOUR 130 13370PRINTTAB(25,2)"10 out of 10 CUSTOMISATION" 13380COLOUR 7 13390old%=cla% 13400RESTORE 15340 13410READ a$,K% 13420J%=0 13430WHILE a$<>"end" 13440SYS"ABC_UnpackSprite","bar",j%,180,226-J%*16 13450PRINTTAB(25,J%*2+4)a$ 13460IFK%=-1 THEN 13470SYS"ABC_UnpackSprite","arup",j%,482,226-J%*16 13480SYS"ABC_UnpackSprite","ardn",j%,510,226-J%*16 13490ENDIF 13500IFK%=-2 SYS"ABC_UnpackSprite","default",j%,454,226-J%*16 ELSEPROCbuttonstatus(J%,226-J%*16) 13510J%+=1 13520READ a$,K% 13530ENDWHILE 13540SYS"ABC_Palette" 13550MOUSE RECTANGLE 904,32,160,874 13560PROCmouse1 13570end%=FALSE 13580WHILE NOTend% 13590REPEAT 13600MOUSE mox%,moy%,but% 13610UNTIL but%>0 13620IFbut%=4 AND POINT(mox%,moy%)<>3:PROCaction 13630ENDWHILE 13640PROCsavenewconfigure 13650IFold%<>cla%:PROCsetempty 13660IFsun%<11 sun%=11 ELSEsun%=0 13670PROCmenu 13680ENDPROC 13690DEFPROCaction 13700noy%=(906-moy%)>>6 13710nox%=(mox%-906)DIV56 13720CASE noy% OF 13730WHEN 0 13740frn%=NOTfrn% 13750PROCbuttonstatus(noy%,226-noy%*16) 13760VDU 7 13770WHEN 1 13780rat%=NOTrat% 13790PROCbuttonstatus(noy%,226-noy%*16) 13800VDU 7 13810WHEN 2 13820IFver% THEN 13830nig%=NOTnig% 13840PROCbuttonstatus(noy%,226-noy%*16) 13850VDU 7 13860ENDIF 13870WHEN 3 13880sds%=NOTsds% 13890PROCbuttonstatus(noy%,226-noy%*16) 13900IFsds% OSCLI"SPEAKER ON" ELSEOSCLI"SPEAKER OFF" 13910VDU 7 13920WHEN 4 13930IFver% THEN 13940ver%=FALSE 13950nig%=FALSE 13960PROCbuttonstatus(noy%-2,226-noy%*16+32) 13970PROCbuttonstatus(noy%,226-noy%*16) 13980PROCbuttonstatus(noy%+1,226-noy%*16-16) 13990VDU 7 14000ENDIF 14010WHEN 5 14020IFNOTver% THEN 14030ver%=TRUE 14040nig%=TRUE 14050PROCbuttonstatus(noy%-3,226-noy%*16+48) 14060PROCbuttonstatus(noy%,226-noy%*16) 14070PROCbuttonstatus(noy%-1,226-noy%*16+16) 14080VDU 7 14090ENDIF 14100WHEN 6 14110IFnox%=1 THEN 14120grd%+=1 14130IFgrd%=7:grd%=1 14140PROCbuttonstatus(noy%,226-noy%*16) 14150VDU 7 14160ENDIF 14170IFnox%=2 THEN 14180grd%-=1 14190IFgrd%=0:grd%=6 14200PROCbuttonstatus(noy%,226-noy%*16) 14210VDU 7 14220ENDIF 14230WHEN 7 14240IFnox%=1 THEN 14250cla%+=1 14260IFcla%=65:cla%=1 14270PROCbuttonstatus(noy%,226-noy%*16) 14280VDU 7 14290ENDIF 14300IFnox%=2 THEN 14310cla%-=1 14320IFcla%=0:cla%=64 14330PROCbuttonstatus(noy%,226-noy%*16) 14340VDU 7 14350ENDIF 14360WHEN 8 14370IFnox%=1 THEN 14380hed%+=1 14390IFhed%=8:hed%=0 14400PROCbuttonstatus(noy%,226-noy%*16) 14410VDU 7 14420ENDIF 14430IFnox%=2 THEN 14440hed%-=1 14450IFhed%<0:hed%=7 14460PROCbuttonstatus(noy%,226-noy%*16) 14470VDU 7 14480ENDIF 14490WHEN 9 14500IFnox%=1 THEN 14510fut%+=1 14520IFfut%=8:fut%=0 14530PROCbuttonstatus(noy%,226-noy%*16) 14540VDU 7 14550ENDIF 14560IFnox%=2 THEN 14570fut%-=1 14580IFfut%<0:fut%=7 14590PROCbuttonstatus(noy%,226-noy%*16) 14600VDU 7 14610ENDIF 14620WHEN 10 14630IFnox%=1 THEN 14640pap%+=1 14650IFpap%=81:pap%=16 14660PROCbuttonstatus(noy%,226-noy%*16) 14670VDU 7 14680ENDIF 14690IFnox%=2 THEN 14700pap%-=1 14710IFpap%=15:pap%=80 14720PROCbuttonstatus(noy%,226-noy%*16) 14730VDU 7 14740ENDIF 14750WHEN 11 14760pix%+=1 14770IFpix%=4:pix%=0 14780PROCbuttonstatus(noy%,226-noy%*16) 14790VDU 7 14800WHEN 12 14810SYS"ABC_Blank",3 14820*SPEAKER ON 14830VDU 7 14840rat%=FALSE 14850nig%=TRUE 14860sds%=TRUE 14870ver%=TRUE 14880grd%=1 14890cla%=1 14900hed%=1 14910fut%=1 14920pap%=64 14930pix%=0 14940frn%=FALSE 14950FORJ%=0TO11 14960PROCbuttonstatus(J%,226-J%*16) 14970NEXT 14980SYS"ABC_Palette" 14990WHEN 13:end%=TRUE 15000ENDCASE 15010PROCzeromouse 15020ENDPROC 15030DEFPROCsavenewconfigure 15040MOUSE OFF 15050SYS"ABC_Blank",3 15060SYS"ABC_Colour",3 15070IFNOTdirectory%(cla%):PROCcreatedirectory 15080OSCLI"DIR <Disc1$Dir>.SixGames.Achieve.Achieve"+STR$(cla%) 15090IFver% typ$="Grade" ELSEtyp$="Level" 15100PROCconfilesave 15110*DIR <Disc1$Dir>.SixGames 15120ENDPROC 15130DEFPROCbuttonstatus(num%,ysc%) 15140yyy%=ysc%-2 15150WAIT 15160IFnum%=4 OR num%=5 SYS"ABC_UnpackSprite","radiooff",j%,454,ysc% ELSESYS"ABC_UnpackSprite","optoff",j%,454,ysc% 15170CASE num% OF 15180WHEN 0:IFfrn%:SYS"ABC_UnpackSprite","opton",j%,454,ysc% 15190WHEN 1:IFrat%:SYS"ABC_UnpackSprite","opton",j%,454,ysc% 15200WHEN 2:IFnig%:SYS"ABC_UnpackSprite","opton",j%,454,ysc% 15210WHEN 3:IFsds%:SYS"ABC_UnpackSprite","opton",j%,454,ysc% 15220WHEN 4:IFNOTver%:SYS"ABC_UnpackSprite","radioon",j%,454,ysc% 15230WHEN 5:IFver%:SYS"ABC_UnpackSprite","radioon",j%,454,ysc% 15240WHEN 6:SYS"ABC_PryntString",STR$(grd%),462,yyy%,0,9 15250WHEN 7 15260IFdirectory%(cla%) cul%=13 ELSEcul%=11 15270IFcla%>9 SYS"ABC_PryntString",STR$(cla%),458,yyy%,0,cul% ELSESYS"ABC_PryntString",STR$(cla%),462,yyy%,0,cul% 15280WHEN 8:SYS"ABC_PryntString",STR$(hed%),462,yyy%,0,11 15290WHEN 9:SYS"ABC_PryntString",STR$(fut%),462,yyy%,0,11 15300WHEN 10:SYS"ABC_PryntString",STR$(pap%),458,yyy%,0,11 15310WHEN 11:IFpix%=0 SYS"ABC_PryntString","A",462,yyy%,0,11 ELSESYS"ABC_PryntString",STR$(pix%),462,yyy%,0,6 15320ENDCASE 15330ENDPROC 15340DATA French Environment,0,Ratings suppressed,0 15350DATA National curriculum numbers,0,Sound,0 15360DATA Level,0,Grade,0,Overall skill,-1,Class number,-1,Top space,-1 15370DATA Bottom space,-1,Paper length,-1,Graphics selection,0,Default,-2 15380DATA end,0 15390DEFPROCvaliddirectories 15400OSCLI"DIR <Disc1$Dir>.SixGames.Achieve" 15410SYS"OS_GBPB",8,,cat%,&40,0 TO ,,,d% 15420*DIR <Disc1$Dir>.SixGames 15430c%=0 15440d%=64-d% 15450st%=cat% 15460directory%()=FALSE 15470WHILE c%<d% 15480t%=st%?((?st%)+1) 15490st%?((?st%)+1)=&D 15500a$=$(st%+1) 15510st%+=1+(?st%) 15520?st%=t% 15530directory%(VAL(MID$(a$,8)))=TRUE 15540c%+=1 15550ENDWHILE 15560ENDPROC 15570DEFPROCcreatedirectory 15580OSCLI"CDIR <Disc1$Dir>.SixGames.Achieve.Achieve"+STR$(cla%) 15590PROCsetempty 15600ENDPROC 15610DEFPROCsetempty 15620attend$="" 15630PROCconfilesave 15640att%()=0 15650ENDPROC 15660DEFFNleave 15670MOUSE mox%,moy%,but% 15680IFINKEY-113 OR INKEY-99 OR INKEY-74 OR but%>0 ELSE=FALSE 15690REPEAT 15700MOUSE mox%,moy%,but% 15710UNTIL NOTINKEY-113 AND NOTINKEY-99 AND NOTINKEY-74 AND but%=0 15720*FX21 9 15730=TRUE 15740DEFPROCnewcard(t$,sdx%,sdy%) 15750VDU 5 15760GCOL 0,5 15770RECTANGLEFILL 0,112,128,sdy%*64-64 15780RECTANGLEFILL 128,112+sdy%*64-64,sdx%*192-192,64 15790GCOL 0,8 15800RECTANGLEFILL 0,112+sdy%*64-64,128,64 15810GCOL 0,0 15820IFsdx%*160+160>1279 sxe%=1278 ELSEsxe%=sdx%*160+160 15830RECTANGLE 0,112,sxe%,sdy%*64 15840GCOL 0,13 15850MOVE 64,112+sdy%*64+64 15860PLOT 0,LEN(t$)*g%,0 15870PLOT 85,0,112+sdy%*64 15880PLOT 81,128+LEN(t$)*g%,0 15890GCOL 0,0 15900MOVE 0,112+sdy%*64 15910PLOT 1,64,64 15920PLOT 1,LEN(t$)*g%,0 15930PLOT 1,64,-64 15940PLOT 1,-LEN(t$)*g%-128,0 15950MOVE 64,112+sdy%*64+44 15960PRINTt$ 15970FORJ%=0TO sdx%-1 15980MOVE J%*192+128,112 15990PLOT 1,0,sdy%*64 16000NEXT 16010FORJ%=0TO sdy%-1 STEP2 16020MOVE 0,112+J%*64 16030PLOT 1,sdx%*192+192,0 16040NEXT 16050VDU 4 16060OFF 16070ENDPROC 16080DEFPROCfillachieve 16090VDU 5 16100IFfrn% RESTORE 16620 ELSERESTORE 16610 16110FORK%=0TO5 16120READ t$ 16130MOVE (K%*192+224)-LEN(t$)*8,924 16140PRINTt$ 16150NEXT 16160FORK%=1TO6 16170SYS"ABC_UnpackSprite",STR$(K%),j%,24,244-K%*32 16180FORJ%=1TO6 16190fax%=J%*192-62 16200fay%=884-K%*128 16210PROCcolour(att%(J%,K%,0)) 16220IFJ%=6 RECTANGLEFILL fax%,fay%,186,120 ELSERECTANGLEFILL fax%,fay%,188,120 16230IFnig% THEN 16240a$="LoA "+ncl$(K%) 16250xsc%=fax%+96-LEN(a$)*8 16260GCOL 0,7 16270MOVE xsc%,fay%+92 16280PRINTa$ 16290GCOL 0,0 16300MOVE xsc%,fay%+96 16310PRINTa$ 16320ENDIF 16330IFatt%(J%,K%,0)<3 THEN 16340xsc%=fax%+40 16350FORL%=1TO4 16360PROCcolour(att%(J%,K%,L%)) 16370RECTANGLEFILL xsc%-6,fay%+8,30,40 16380GCOL 0,7 16390MOVE xsc%,fay%+36 16400PRINTCHR$(96+L%) 16410GCOL 0,0 16420MOVE xsc%,fay%+40 16430PRINTCHR$(96+L%) 16440xsc%+=32 16450NEXT 16460ENDIF 16470NEXT 16480NEXT 16490VDU 4 16500OFF 16510ENDPROC 16520DEFPROCcolour(val%) 16530CASE val% OF 16540WHEN 0:GCOL 0,7 16550WHEN 1:GCOL 0,11 16560WHEN 2:GCOL 0,14 16570WHEN 3,4,5,6,7,8,9,10,11:GCOL 0,10 16580OTHERWISE:GCOL 0,15 16590ENDCASE 16600ENDPROC 16610DATA The Cop,Tower,Word Search,Link Up,Rescue,Stones 16620DATA Le Flic,La Tour,Le Puzzle,Le Jumelage,"La Fus�e",Bonne Route 16630DEFPROCzeromouse 16640REPEAT 16650MOUSE mox%,moy%,but% 16660UNTIL but%=0 16670ENDPROC 16680DEFPROCerror 16690LOCAL ERROR 16700VDU 3,26,7 16710*CLOSE 16720SYS"Hourglass_Smash" 16730MOUSE OFF 16740SYS"ABC_Colour",15 16750SYS"ABC_Palette" 16760IFERR>&107FF AND ERR<&10900 THEN 16770PROCmess("FILING SYSTEM REPORTS ERROR : "+REPORT$,11) 16780PROCdelay(150) 16790VDU 7 16800PROCmess("PLEASE CHECK DISC IN DRIVE AND NOT WRITE PROTECTED THEN PRESS RETURN",11) 16810REPEAT 16820UNTIL INKEY-74 16830ENDIF 16840ON ERROR LOCAL GOTO 16700 16850PROCconfilesave 16860*DIR <Disc1$Dir>.SixGames 16870RESTORE ERROR 16880SYS"ABC_Colour",15 16890RUN 16900ENDPROC 16910DEFPROCassemble 16920DIM asm% 160 16930SYS"ABC_VideoAddress" TO vid% 16940FORA%=0TO2STEP2 16950P%=asm% 16960[OPTA% 16970.Carousel 16980MOV R0,#19:SWI "XOS_Byte":LDR R12,[R9]:LDR R0,[R12]:LDR R1,men:ADD R0,R1,R0:MOV R2,#&48 16990.rectangle 17000LDRB R1,[R0,#&1]:STRB R1,[R0]:LDRB R1,[R0,#&141]:STRB R1,[R0,#&140] 17010LDRB R1,[R0,#&281]:STRB R1,[R0,#&280]:LDRB R1,[R0,#&3C1]:STRB R1,[R0,#&3C0] 17020LDRB R1,[R0,#&501]:STRB R1,[R0,#&500]:LDRB R1,[R0,#&641]:STRB R1,[R0,#&640] 17030LDRB R1,[R0,#&781]:STRB R1,[R0,#&780]:LDRB R1,[R0,#&8C1]:STRB R1,[R0,#&8C0] 17040LDRB R1,[R0,#&A01]:STRB R1,[R0,#&A00] 17050ADD R0,R0,#&1:SUBS R2,R2,#&1:BNE rectangle:MOV R15,R14 17060.men EQUD vid%+&3624 17070] 17080NEXT 17090ENDPROC 17100DEFPROClongmenu 17110IFbox%<>omy% THEN 17120VDU 5 17130GCOL 0,8 17140WAIT 17150RECTANGLEFILL 400,112+omy%*64,288,32 17160IFomy%<6 GCOL 0,14 ELSEGCOL 0,0 17170MOVE 400,140+omy%*64 17180PRINTLEFT$(mnu$(11-omy%),17) 17190omy%=box% 17200VDU 4 17210OFF 17220inj%=72 17230txt%=LEN(mnu$(11-omy%)) 17240d$=mnu$(11-omy%) 17250ENDIF 17260IFtxt%>17 THEN 17270par%=(11-box%)*&1400 17280CALL Carousel,par% 17290IFinj%MOD4=0:PROCmenuchar 17300inj%+=1 17310ENDIF 17320ENDPROC 17330DEFPROCmenuchar 17340IF(inj%>>2)>txt%+8:inj%=4 17350IF(inj%>>2)>txt%:ENDPROC 17360IFomy%<6 col%=14 ELSEcol%=0 17370SYS"ABC_PryntString",MID$(d$,inj%>>2,1),336,36+omy%*16,0,col% 17380ENDPROC 17390DEFPROCtidy 17400IFbox%=omy%:ENDPROC 17410VDU 5 17420GCOL 0,8 17430WAIT 17440RECTANGLEFILL 400,112+omy%*64,288,32 17450IFomy%<6 GCOL 0,14 ELSEGCOL 0,0 17460MOVE 400,140+omy%*64 17470PRINTLEFT$(mnu$(11-omy%),17) 17480omy%=box% 17490VDU 4 17500OFF 17510ENDPROC 17520DEFPROCtrap 17530MOUSEOFF 17540VDU26 17550*CLOSE 17560ENDPROC
� ><Disc1$Dir>.Menu �:�=17 �trap:�T|@ ��error ��<>12:�12:� (�initial 2 �assemble < �menu F� P�mouseilluminate Z�select d�access n�configure x� � � ��initial �ș"ABC_VideoAddress" �ș"Hourglass_On" �ȗ ȓ 0,0,1280,1024 �J� att%(6,6,4),new%(6,6,4),info$(6,6),sub$(6,6,4),filename$(64),six$(6) �:� ncl$(6),mnu$(11),directory%(64),files%(64),cat% &400 �h%=�("ram:FactFile") ��J%=1�6 ��K%=1�6 ��#h%,info$(J%,K%) �� �� ��#h% @% =0 box%=0 g% =16 "pre%=-1 , sun%=0 6 f$ ="<Disc1$Dir>.SixGames." @&j% =�initialcompressed("Numbers") J�loaddetails T � �TRB ^�J%=1�6 h�K%=1�6 r�L%=1�4 |� a$ �sub$(J%,K%,L%)=a$ �� �� �� ��J%=1�6 �� a$ �ncl$(J%)=a$ �� �ș"Hourglass_Smash" ��point("Ten",1) �Ƞ 4 �ȡ 1,"StringLib-Pluck" � �flush � 7� fruit/veg,drinks and baker's,delicatessan,general 5� in grocer's,in grocer's,in delicatessan,general &E� food shopping,restaurant/cafe,clothes shopping,present shopping 0k� "avoir, �tre present tense",regular 'er' verb aimer,vouloirs,regular 're' 'ir' verbs vendre and finir :;� food/dishes,shops and services,food items,restaurants D�� apologising and excuses,"complaints, problems and disapproval","likes, dislikes, voicing anger and exasperation","inviting, refusing and forbidding" N!� sports,sports,music,hobbies X%� sports,music,pastimes,going out b%� sports,music,pastimes,going out l>� "faire, aller","pouvoir, devoir",regular 'er',reflexives vT� direct object pronouns,indirect object pronouns,'y' and 'en',emphatic pronouns �H� perfect tense,imperfect tense,pluperfect tense,past historic tense �2� female relatives,male relatives,pets,colours �F� parts of the body,features/face,illness/health,special occasions �M� physical description,personality,family status and religion,nationality �a� family and special occasions,"illness, health and diet",finding opposites,finding opposites �+� adjectives,adjectives,adverbs,adverbs �M� find the noun,find the verb,find the adjective,find the past participle �3� places in town,places in town,furniture,shops �V� "whole hours, half hours and quarter past",all times,24 hour clock,24 hour clock �?� giving directions,giving directions,station signs,weather �U� geography of France,geography of France,geography of France,geography of France �C� regular verbs,irregular verbs,irregular verbs,irregular verbs �� slang,slang,idioms,idioms K� school subjects,classroom objects,school facilities,classroom objects �� school subjects - le la l' les,classroom objects - un une des,school facilities - le la l' les,classroom objects - un une des 0� mon ma mes,ton ta tes,son sa ses,notre nos O� school subjects/rooms,jobs and careers,classroom objects,jobs and careers *U� future plans,future plans,future plans (infinitives),future plans (infinitives) 4F� infinitives,relative pronouns qui que,negatives,after having ... >4� days,months,numbers 1-20,numbers in tens 0-100 H5� countries,accommodation,transport,holiday items R+� weather,hotel,campsite,tourist office \�� perfect tense with 'avoir' regular,perfect tense with 'avoir' irregular,"perfect tense with '�tre'",perfect tense with reflexive verbs fF� holidays past,holidays past,post cards,plans for future holidays pJ� tourist office,booking accomodation,holiday complaints,lost property z� 1,2/3,3/4,5/6,6/7,8/9/10 ���mouse1 �ȗ � 1,255,255,0 �ȗ � 2,255,0,0 �ȗ � 3,192,192,192 � ȗ � 1 �� �ݤarea(x1%,y1%,x2%,y2%) ��mox%<x1% � mox%>x2%:=� ��moy%<y1% � moy%>y2%:=� �=� ���mouseilluminate �ȗ mox%,moy%,but% �box%=(moy%-100)>>6 �box%<0:box%=0 �box%>11:box%=11 8�box%<>sun%:Ȗ:�sqr(sun%,11):�sqr(box%,15):sun%=box% $笤area(704,104,864,868) � .�sqr(box%,11) 8 �box%<5 � Bbox%=11:sun%=10 L� Vbox%=0:sun%=1 `� j �tidy t� ~�frn%:�longmenu �� �'�but%=0 � ��area(704,104,864,868):� �� 7 � Ȏ box% � �� 0 :�desktop �� 1 :�printcertificate �� 2 :�delete �� 3 :�create �� 4 :�load �� 5 :�viewachieve �� 6 :�run("Stones") �� 7 :�run("Rescue") � 8 :�run("LinkUp") � 9 :�run("WordSearch") � 10:�run("Tower") � 11:�run("TheCop") (� 2�sun%<11 sun%=11 �sun%=0 <�zeromouse F �menu P� Z��run(game$) dȗ � nș"Hourglass_On" xș"ABC_Blank",15 �ș"ABC_Colour",15 ��confilesave �� f$+game$ �� ���sqr(wch%,col%) �� 0,col% �ȓȐ 706,wch%*64+100,156,58 �� � ��menu �ȗ � �ȗ � 640,512 �ș"ABC_Blank",15 �ș"ABC_Colour",15 inj%=72 omy%=1 txt%=1 " d$="" ,J�frn% �card("FRANCAIS MENU",24,6,2,12) ��card("FRENCH MENU",24,6,2,12) 6 �fillmenu @�current J�rectangles T �contents ^ș"ABC_Palette" hȗ ȓ 0,0,1280,1024 rȗ � 640,512 |�mouse1 �� ���fillmenu �� 5 � � 0,0 ��frn% � �DvG �� �DXG ��J%=0�5 �� s$ �� 400,844-J%*64 ��frn% �s$,17) ��s$ �mnu$(J%)=s$ �� � � 0,14 ��J%=6�11 � s$ � 400,844-J%*64 �frn% �s$,17) ��s$ &mnu$(J%)=s$ 0� :� 4 D� N� X5� The Cop,Tower,Word Search,Link Up,Rescue,Stones b?� Player information,Change player,New player,Remove player l� Print certificate,Quit vE� Le Flic,La Tour,Le Puzzle,Le Jumelage,"La Fus�e",La Bonne Route �W� Information pour les joueur,Changement de joueur,Nouveau joueur,Effacer le joueur �$� Imprimer le certificat,Quitter ���achievecard �ȗ � �ș"ABC_Blank",15 �ș"ABC_Colour",15 �a$=�strip(attend$) ��a$="" � ��frn% a$="Vide" �a$="Empty" �� �{�frn% �newcard(a$+" : Grille d'Evaluation 10/10 Fran�ais",8,13) ��newcard(a$+" : Achievement Record 10/10 French",8,13) ��fillachieve �ȗ � 640,512 ș"ABC_Palette" �mouse1 p$="X" oxx%=0 * oyy%=0 4 ozz%=0 >*FX21 0 H� R��viewachieve \ȗ ȓ 128,116,1150,764 f�achievecard p� zȗ mox%,moy%,but% �cxx%=(mox%-128)/192+1 �cyy%=(moy%-116)/128+1 � czz%=0 �xsc%=cxx%*192-30 �ysc%=cyy%*128 �cyy%=7-cyy% �R�area(xsc%,ysc%,xsc%+126,ysc%+40) � att%(cxx%,cyy%,0)<3:czz%=(mox%-xsc%)/32+1 �]�cxx%<>oxx% � cyy%<>oyy% � czz%<>ozz%:�information(info$(cxx%,cyy%),sub$(cxx%,cyy%,czz%)) ��achievediscdump ��achieveprintdump ��allachieveprintdump �� �leave �� ��information(t$,u$) �u$>"":t$+=" ("+u$+")" %�nig%:t$="LoA "+ncl$(cyy%)+" "+t$ $ oxx%=cxx% . oyy%=cyy% 8 ozz%=czz% B�p$=t$:� L p$=t$ V�mess(t$,11) `� j"��card(t$,tax%,tay%,sdx%,sdy%) t� 5 ~ � 0,8 �-ȓȐ tax%*g%,tay%*g%,sdx%*160+160,sdy%*64 � � 0,11 �1ȓȐ tax%*g%+320,tay%*g%,sdx%*160-162,sdy%*64 � � 0,0 �3�sdx%*160+160>1279 sxe%=1278 �sxe%=sdx%*160+160 �#ȓ tax%*g%,tay%*g%,sxe%,sdy%*64 � � 0,13 �#� tax%*g%+64,tay%*g%+sdy%*64+64 �� 0,�(t$)*g%,0 � � 85,tax%*g%,tay%*g%+sdy%*64 �� 81,128+�(t$)*g%,0 � � 0,0 � tax%*g%,tay%*g%+sdy%*64 � 1,64,64 � 1,�(t$)*g%,0 � 1,64,-64 (#� tax%*g%+64,tay%*g%+sdy%*64+44 2�t$ <�J%=1� sdx% F � tax%*g%+J%*160+160,tay%*g% P� 1,0,sdy%*64 Z� d�J%=1� sdy% n� tax%*g%,tay%*g%+J%*64 x� 1,sdx%*160+160,0 �� �� 4 �� �� ���cent(t$,tay%) ��41-�(t$)�2,tay%)t$; �� ���mess(t$,col%) �� 0,col% �� 5 �Ȗ �ȓȐ 0,0,1278,64 � � 0,0 ȓ 0,0,1278,64 � 640-�(t$)*8,44 �t$ "� 4 ,� 6� @��printcertificate Jș"ABC_Colour",15 Tȗ � ^ ach%=� h�J%=1�6 r�K%=1�6 |�att%(K%,J%,0)>2:ach%=� �� �� ��ach% � ���frn% �mess("Aucune r�ussite pour l'instant - retourner au menu",11) ��mess("Nothing achieved at present - return to menu",11) ��zeromouse �� �� �leave �� � �busy �� �� �leave �� �� ��busy �frn% �foreign ��english � & ��english 0+�mess("Screen/Printer/Disc (S/P/D)",11) :*FX21 0 D� Nk%=�(0) X�k%>=�("a"):k%-=32 b/� k%=�("S") � k%=�("P") � k%=�("D") � �-113 l�-113:�flush:� v� 7 ��k%<>�("P") � �#�mess("Text/Graphics (T/G)",11) �� �t%=�(0) ��t%>=�("a"):t%-=32 �#� t%=�("T") � t%=�("G") � �-113 �� � t%=�("T") �� ��-113:�flush:� �/�t%=�("T") �achieve_text ��achieve_graphics ��k%=�("D"):�discdump ��k%=�("P"):�printer_dump � ��foreign 2�mess("Ecran/Imprimante/Disquette (E/I/D)",11) *FX21 0 *� 4k%=�(0) >�k%>=�("a"):k%-=32 H/� k%=�("E") � k%=�("I") � k%=�("D") � �-113 R�-113:�flush:� \� 7 f�k%<>�("I") � p"�mess("Texte/iMages (T/M)",11) z� �t%=�(0) ��t%>=�("a"):t%-=32 �#� t%=�("T") � t%=�("M") � �-113 �� � t%=�("T") �� ��-113:�flush:� �/�t%=�("T") �achieve_text ��achieve_graphics ��k%=�("D"):�discdump ��k%=�("I"):�printer_dump �� ���achieve_graphics �ș"ABC_Blank",3 ș"ABC_Colour",3 � 0,12 ȓȐ 184,64,942,932 $ � 0,7 .ȓ 184,64,942,932 8� 0 B � 140 L(ș"ABC_UnpackSprite","wax",j%,444,70 V*ș"ABC_UnpackSprite","small",j%,120,64 ` �words(�) jș"ABC_Palette" t� ~��achieve_text �ș"ABC_Blank",12 �ș"ABC_Colour",12 �� 7 � � 140 ��cent(�67,"*"),0) ��J%=1�29 ��8,J%)"*"�74,J%)"*" �� ��cent(�67,"*"),30) � �words(�) �ș"ABC_Palette" �� ��words(fan%) �fan% � >�frn% a$="CECI CERTIFIE QUE" �a$="THIS IS TO CERTIFY THAT" xsc%=320-�(a$)*8 ('ș"ABC_PryntString",a$,xsc%,240,1,7 2*ș"ABC_PryntString",a$,xsc%-2,242,1,11 <#�wings(�strip(attend$),168,222) F� P� 7 Z � 140 dL�frn% �cent("CECI CERTIFIE QUE ",2) ��cent("THIS IS TO CERTIFY THAT ",2) na$=�strip(attend$) x�cent(a$,4) �� �� 7 � � 140 ��frn% � �'�ver% a$="cat�gories" �a$="niveaux" �3�cent("a jou� aux jeux Dix sur Dix Fran�ais",9) �6�cent("et a obtenu 100% aux jeux suivants "+a$,10) �&�cent("Certificat d�livr� par",27) �(�cent("Systemes Educatifs 10/10",28) �� �"�ver% a$="grades" �a$="levels" �9�cent("has played the Ten out of Ten French games",9) �:�cent("and has achieved 100% at the following "+a$,10) �cent("Certificate from",27) )�cent("10/10 Educational Systems",28) � "�cent(�date,25) , tay%=0 6�J%=1�6 @K%=1 J fnd%=� Tȕ K%<7 � �fnd% ^:�att%(K%,J%,0)>2 � �info$(K%,J%),4)<>"":tay%+=1:fnd%=� h K%+=1 r� |� �tay%=18-tay%�2 ��frn% � �DvG �� �DXG ��J%=1�6 �� b$ � six$()="" ��K%=1�6 �#�att%(J%,K%,0)>2:six$(K%)=�(K%) �� �� � srt%=� ��K%=1�5 �6�six$(K%)<six$(K%+1):Ȕ six$(K%),six$(K%+1):srt%=� �� � srt% a$="" �K%=1�6 &"�six$(K%)<>"":a$+=six$(K%)+"," 0� :��a$)=",":a$=�a$) D �a$<>"" � N)�18,tay%)b$�36,tay%)"..."�40,tay%)a$ Xtay%+=1 b� l� v� ���discdump �� 7 �ȗ � �� � � ș"ABC_Transfer",0,16,640,17 �'�input(32,"adfs::0.$."+attend$,�,�) �ș"ABC_Restore" ��esc% � i$="":� �ș"Hourglass_On" ��"SCREENSAVE "+i$ �ș"Hourglass_Smash" �� � �:�frang �*DIR <Disc1$Dir>.SixGames ș"ABC_Restore" ȗ � 640,512 �mouse1 � *��frang 4� 7 >��frn% a$="INTRODUIRE LA DISQUETTE DANS LE LECTEUR ET APPUYER SUR RETOUR" �a$="PLEASE INSERT DISC INTO DRIVE AND PRESS RETURN" H�mess(a$,8) R� \ � �-74 f� p��printer_dump z� 2 ��J%=0�30 ��K%=0�79 �� 31,K%,J% �ș"OS_Byte",135 � ,res% � � res% �� ��J%<30:� 13,10 �� �� 3 �� � ��load � �legal ��bad% � esc%:� �gridcheck �a$="" � k%:� � 7 $?h%=�("<Disc1$Dir>.SixGames.Achieve.Achieve"+�(cla%)+"."+a$) .ș"Hourglass_On" 8�L%=0�4 B�K%=1�6 L�J%=1�6 V�#h%,att%(J%,K%,L%) `� j� t� ~�#h% �attend$=a$ ��confilesave �ș"Hourglass_Smash" �� ���small(wch%,col%) �� 0,col% �3ȓȐ (wch%>>4)*256+354,964-((wch%�&F)<<6),26,32 �� ���create � �legal ��bad% � esc%:� �ȗ � ș"ABC_Colour",15 H�frn% �mess("Nom du nouveau joueur",11) ��mess("New player name",11) �delay(50) �input(8,"",�,�) (ȕ �i$," ")>0 2�i$,�i$," "))="_" <� F�esc%:� P7�"DIR <Disc1$Dir>.SixGames.Achieve.Achieve"+�(cla%) Z%ș"OS_GBPB",8,,cat%,&40,0 � ,,,d% d*DIR <Disc1$Dir>.SixGames na%=0 xc%=0 �d%=64-d% �st%=cat% � dup%=� �ȕ c%<d% � �dup% �t%=st%?((?st%)+1) �st%?((?st%)+1)=&D �a$=$(st%+1) �st%+=1+(?st%) �?st%=t% ��a$=i$:dup%=� � a%+=1 � c%+=1 �� k%=� �dup% � � 0,10 "� 5 ,ȓȐ 0,0,1278,64 6 � 0,0 @ȓ 0,0,1278,64 J_�frn% t$="Joueur "+i$+" existe d�j� - Effacer?" �t$="Player "+i$+" already exists - Erase?" T� 860-�(t$)*g%,44 ^�t$ h� 4 r� | k%=�yesno �� ��k%:�mouse1:� �att%()=0 �?h%=�("<Disc1$Dir>.SixGames.Achieve.Achieve"+�(cla%)+"."+i$) ��L%=0�4 ��K%=1�6 ��J%=1�6 ��#h%,att%(J%,K%,L%) �� �� �� ��#h% �attend$=i$ �confilesave ș"ABC_Colour",15 �mouse1 &� 0��delete : �legal D�bad% � esc%:� N�gridcheck X�a$="" � k%:� bș"ABC_Colour",15 l � 0,10 v� 5 �ȓȐ 0,0,1278,64 � � 0,0 �ȓ 0,0,1278,64 �D�frn% t$="Joueur "+a$+" - Effacer?" �t$="Player "+a$+" - Erase?" �� 860-�(t$)*g%,44 ��t$ �� 4 �� � k%=�yesno ��k%:�mouse1:� �A�"DELETE <Disc1$Dir>.SixGames.Achieve.Achieve"+�(cla%)+"."+a$ ��a$=attend$:�setempty �� ��delay(del%) � Ȗ del%-=1 *� del%<0 4� >��confileload Hh%=�(f$+"Configure") RQ�#h%,rat%,nig%,sds%,ver%,grd%,cla%,typ$,hed%,fut%,pap%,pix%,frn%,attend$,cod% \�#h% f� p��confilesave zh%=�(f$+"Configure") �Q�#h%,rat%,nig%,sds%,ver%,grd%,cla%,typ$,hed%,fut%,pap%,pix%,frn%,attend$,cod% ��#h% �� ���loaddetails ��confileload �'�sds% �"SPEAKER ON" ��"SPEAKER OFF" ��attend$="" � �att%()=0 �� �Dh%=�("<Disc1$Dir>.SixGames.Achieve.Achieve"+�(cla%)+"."+attend$) ��L%=0�4 ��K%=1�6 ��J%=1�6 �#h%,att%(J%,K%,L%) � � $� .�#h% 8� B� Lݤyesno V�zeromouse `ȗ ȓ 959,12,240,46 j�mouse1 tȗ � 1160,32 ~� 5 � � 0,0 �� 896,44 �-�frn% �"Oui Non" ��"Yes No" �� �ȗ mox%,moy%,but% ��mox%<1072 � � � 0,11 �ȓȐ 960,12,80,40 � � 0,7 �ȓȐ 1120,12,80,40 �� � � 0,7 ȓȐ 960,12,80,40 � 0,11 ȓȐ 1120,12,80,40 � (� but%>0 � �mox%,moy%)=11 2� 4 <� F�mox%<1072 =� �=� Pݤyesnodesk Z�zeromouse dȗ ȓ 959,12,240,46 n�mouse1 xȗ � 1160,32 �� 5 � � 0,0 �� 896,44 ��"Yes No" �� �ȗ mox%,moy%,but% ��mox%<1072 � � � 0,11 �ȓȐ 960,12,80,40 � � 0,7 �ȓȐ 1120,12,80,40 �� � � 0,7 ȓȐ 960,12,80,40 � 0,11 ȓȐ 1120,12,80,40 "� ,� but%>0 � �mox%,moy%)=11 6� 4 @� J�mox%<1072 =� �=� T��displaydirectory ^ș"ABC_Blank",15 hș"ABC_Colour",15 r7�"DIR <Disc1$Dir>.SixGames.Achieve.Achieve"+�(cla%) |%ș"OS_GBPB",8,,cat%,&40,0 � ,,,d% �*DIR <Disc1$Dir>.SixGames �� 5 ��a%=0�63 �x%=(a%>>4)*256+128 �y%=(a%�&F)<<6 � � 0,8 �ȓȐ x%,y%,224,40 � � 0,11 �ȓȐ x%+224,y%,30,40 � � 0,0 �ȓ x%+224,y%,30,40 �� �a%=0 c%=0 d%=64-d% st%=cat% &filename$()="" 0 � 0,0 :ȕ c%<d% Dt%=st%?((?st%)+1) Nst%?((?st%)+1)=&D Xa$=$(st%+1) bst%+=1+(?st%) l?st%=t% v&� (a%>>4)*256+144,992-((a%�&F)<<6) �filename$(a%)=a$ �a$=�strip(a$) �� a$ � a%+=1 � c%+=1 �� �� 4 �� �ș"ABC_Palette" �� ���gridcheck ��displaydirectory � lst%=0 � ȗ mox%,moy%,but% sqx%=(mox%-128)>>8 �sqx%>3:sqx%=3 *�sqx%<0:sqx%=0 4sqy%=(1024-moy%)>>6 >�sqy%>15:sqy%=15 Hinx%=sqy%+sqx%*g% R�inx%>63:inx%=63 \�inx%<>lst% � fȖ p�small(lst%,11) z�small(inx%,15) � lst%=inx% �� ��-113 k%=� �k%=� �� but%>0 � k% �a$=filename$(lst%) �� � ��current �� 5 � � 0,8 �ȓȐ 384,16,480,64 � � 0,0 �ȓ 384,16,480,64 � � 0,14 � 400,60 5�frn% �"Joueur actuel : "; ��"Current player : "; � 0,0 $a$=�strip(attend$) .�frn% � 8�a$="" �"Vide" ��a$ B� L�a$="" �"Empty" ��a$ V� `� 4 j� t� ~��access �符-2 � ��-31:� �ȗ � �� 7 �ș"ABC_Colour",15 � tru%=� �(�frn% �foreignaccess ��englishaccess ��esc% � �tru%:� ��confilesave � �back �� ���foreignaccess �5�mess("ENTRER L'ANCIEN NUMERO DE CODE D'ACCES",8) �invis �esc%:�back:� J%=�validatenumber(i$) /�J%:�wrong("CHIFFRES UNIQUEMENT"):tru%=�:� (5�cod%<>�(i$):�wrong("FAUX CODE D'ACCES"):tru%=�:� 2;�mess("INTRODUIRE LE NOUVEAU NUMERO DE CODE D'ACCES",8) < �invis F�esc%:�back:� PJ%=�validatenumber(i$) Z/�J%:�wrong("CHIFFRES UNIQUEMENT"):tru%=�:� dfirst%=�(i$) n2�mess("ENTRER DE NOUVEAU POUR CONFIRMATION",8) x �invis ��esc%:�back:� �J%=�validatenumber(i$) �/�J%:�wrong("CHIFFRES UNIQUEMENT"):tru%=�:� �second%=�(i$) �I�first%<>second%:�wrong("CHIFFRES DIFFERENTS - RECOMMENCER"):tru%=�:� �cod%=�i$ �0�mess("LE NUMERO DE CODE D'ACCES ACCEPTE",8) �� ���englishaccess �+�mess("ENTER OLD ACCESS CODE NUMBER",8) � �invis ��esc%:�back:� �J%=�validatenumber(i$) /�J%:�wrong("NUMBERS ONLY PLEASE"):tru%=�:� 7�cod%<>�(i$):�wrong("INVALID ACCESS CODE"):tru%=�:� +�mess("ENTER NEW ACCESS CODE NUMBER",8) " �invis ,�esc%:�back:� 6J%=�validatenumber(i$) @/�J%:�wrong("NUMBERS ONLY PLEASE"):tru%=�:� Jfirst%=�(i$) T%�mess("ENTER AGAIN TO CONFIRM",8) ^ �invis h�esc%:�back:� rJ%=�validatenumber(i$) |/�J%:�wrong("NUMBERS ONLY PLEASE"):tru%=�:� �second%=�(i$) �E�first%<>second%:�wrong("DIFFERENT NUMBERS - TRY AGAIN"):tru%=�:� �cod%=�i$ �.�mess("NEW ACCESS CODE NUMBER ACCEPTED",8) �� � ��back ��sun%<11 sun%=11 �sun%=0 � �menu ��mouse1 �� ���wrong(a$) �� 7 ��mess(a$,11) �delay(150) �back � &ݤvalidatenumber(a$) 0 �a$="":=� :K%=� D�J%=1� �(a$) N'�a$,J%,1)<"0" � �a$,J%,1)>"9":K%=� X� b=K% l��invis v*FX21 0 � esc%=� � cnt%=0 � i$="" �� �� �� �k%=�(1) �� k%>0 � k%<128 ��k%=127 � cnt%>0 � �cnt%-=1 �i$=�i$,cnt%) �!�mess(">"+ĩ(i$),"*")+"<",10) �� ! � k%<>127 !�k%<>13 � cnt%<>4 � !i$+=�k% ! !�mess(">"+ĩ(i$),"*")+"<",10) !*cnt%+=1 !4� !>� k%=13 � cnt%=4 !H� !R��legal !\�cod%=0:bad%=�:esc%=�:� !fȗ � !pș"ABC_Colour",15 !zY�frn% �mess("ENTRER NUMERO DE CODE D'ACCES",11) ��mess("ENTER ACCESS CODE NUMBER",11) !� �frput !��cod%=�(i$) � !�^�frn% �mess("LE NUMERO DE CODE D'ACCES ACCEPTE",8) ��mess("ACCESS CODE NUMBER ACCEPTED",8) !��delay(100) !� bad%=� !�� !� bad%=� !�� !��mouse1 !�� !���frput !�*FX21 0 !� esc%=� " cnt%=0 " tot%=4 " i$="" "$� ".� "8� "Bk%=�(1) "L� k%=13 � k%>31 � k%<128 "V�k%=127 � cnt%>0 � "`cnt%-=1 "ji$=�i$,cnt%) "t �mess(">"+ĩ(i$),"*")+"<",8) "~� "� � k%<>127 "��k%<>13 � cnt%<>tot% � "� �cnt%=0 � "�2�(k%)>="a" � �(k%)<="z" i$=�(k%-32) �i$=�(k%) "�� "�4�(k%)>="A" � �(k%)<="Z" i$+=�(k%+32) �i$+=�(k%) "�� "� �mess(">"+ĩ(i$),"*")+"<",8) "�cnt%+=1 "�� "�� k%=13 � cnt%=tot% "�� # ��point(a$,mos%) # � wir%,par%,dat% # � wir% 1088,par% 20,dat% 256 #h%=�(f$+a$) #(�J%=0�32 #2�K%=0�32 #<wir%?(K%*32+J%)=�#h% #F� #P� #Z�#h% #d!par%=&20080200 #npar%?1=mos% #xpar%!4=0 #�par%!6=dat% #� mmo%=dat% #��J%=32�1�� #��K%=0�7 #� �L%=3�0�� #�val%=wir%?(J%*32+K%*4+L%) #�0�val%=&FF:par%?4=K%*4+L%:par%?5=31-J%:val%=0 #�?mmo%=?mmo%<<2 #�?mmo%+=val% #�� #�mmo%+=1 #�� #�� $ș"OS_Word",21,par% $� $ ��desktop $"ȗ � $,ș"ABC_Blank",11 $6�exitmessage $@!�mess("Return to Desktop?",8) $Jș"ABC_Palette" $T�mouse1 $^k%=�yesnodesk $hș"ABC_Colour",15 $rsun%=10 $| �k%:� $� *FX20 $�"*CHANNELVOICE 1 WaveSynth-Beep $�"*CHANNELVOICE 2 WaveSynth-Beep $�"*CHANNELVOICE 3 WaveSynth-Beep $�"*CHANNELVOICE 4 WaveSynth-Beep $�*WIPE ram:* ~C~V $�*RMKILL ABC $�*RMKILL Synsmajs $�*RMKILL Timer $�*RMKILL 10/10SoundGenerator $�*POINTER 1 $�*SPEAKER ON $�� 20 %*DESKTOP %��wings(l$,x%,y%) %)ș"ABC_UnpackSprite","wings",j%,x%,y% %&� 5 %0 � 0,11 %: � (x%*2+298)-�(l$)*8,y%*4-40 %D�l$ %N� 4 %X� %b� %l��select %v6笤area(80,18,336,840) � ��area(912,18,1168,840) � %�pre%=-1 %�sly%=-1 %��rectangles %�� %�sly%=(moy%-18)�280 %�#�area(912,18,1168,840):sly%+=3 %��sly%<>pre% � %��rectangles %� pre%=sly% %� � 0,11 %�Ȗ %�E�sly%<3 ȓ 80,sly%*280+16,256,256 �ȓ 912,(sly%-3)*280+16,256,256 %�� &� & �but%=0:� & Ȏ sly% � & � 0:�run("WordSearch") &*� 1:�run("Tower") &4� 2:�run("TheCop") &>� 3:�run("Stones") &H� 4:�run("Rescue") &R� 5:�run("LinkUp") &\� &f�zeromouse &p�sly%>-1:�menu &z�mouse1 &�� &���contents &�� 5 &��J%=1�3 &�6ș"ABC_UnpackSprite","intro"+�(J%),j%,48,274-J%*70 &�9ș"ABC_UnpackSprite","intro"+�(J%+3),j%,464,274-J%*70 &�� &��frn% � �D~g �� �Dtg &��J%=1�3 &�� a$,b$ &� � 0,7 &�� 96,J%*280-232 &��a$ '� 928,J%*280-232 '�b$ ' � 0,0 '$� 102,J%*280-228 '.�a$ '8� 934,J%*280-228 'B�b$ 'L� 'V� 4 '`� 'j� 't5� Word Search,Stones,Tower,Rescue,The Cop,Link Up '~E� Le Puzzle,La Bonne Route,La Tour,"La Fus�e",Le Flic,Le Jumelage '���rectangles '� � 0,0 '��J%=1�3 '�ȓ 80,J%*280-264,256,256 '�ȓ 912,J%*280-264,256,256 '�� '�� '���achievediscdump '�符-2:� '�符-82:� '�� 7 '�ȗ � ( � � ( ș"ABC_Transfer",0,16,640,17 ()�input(32,"adfs::0.$.AchieveSpr",�,�) (ș"ABC_Restore" ((�esc% � i$="":� (2� 24,0;112;1278;1008; (<ș"Hourglass_On" (F�"SCREENSAVE "+i$ (P� 26 (Zș"Hourglass_Smash" (d� � �:�mistake (n*DIR <Disc1$Dir>.SixGames (xș"ABC_Restore" (�ȗ � 640,512 (��mouse1 (�� (� ��mistake (�� 7 (�?�mess("PLEASE INSERT DISC 2 INTO DRIVE AND PRESS RETURN",8) (�� (� � �-74 (�� (���achieveprintdump (�符-2:� (�符-56:� (�� 7 )ș"Hourglass_On" ) � �DXG )new%()=att%() )"�printpage(attend$) ), �flush )6ș"Hourglass_Smash" )@�mouse1 )J� )T��allachieveprintdump )^符-2:� )h 符-102:� )r� 7 )|ș"Hourglass_On" )��displaydirectory )� �flush )�ș"Hourglass_Smash" )��mouse1 )�ȗ ȓ 0,0,1280,1024 )�files%()=� )� lst%=0 )�� )�ȗ mox%,moy%,but% )�sqx%=(mox%-128)>>8 )��sqx%>3:sqx%=3 )��sqx%<0:sqx%=0 )�sqy%=(1024-moy%)>>6 *�sqy%>15:sqy%=15 *inx%=sqy%+sqx%*g% *�inx%>63:inx%=63 *&�inx%<>lst% � *02�files%(lst%) �small(lst%,14) ��small(lst%,11) *:2�files%(inx%) �small(inx%,14) ��small(inx%,15) *D lst%=inx% *N� *X"�but%=1 � filename$(lst%)>"" � *bfiles%(lst%)=�files%(lst%) *l2�files%(lst%) �small(lst%,14) ��small(lst%,11) *v�zeromouse *�� *��-113 k%=� �k%=� *�� but%=4 � k% *�a$=filename$(lst%) *� �k% � *�ș"Hourglass_On" *�ș"ABC_Colour",15 *�X%=0 *� esc%=� *�ȕ X%<64 � �esc% *��files%(X%) � *�Jh%=�("<Disc1$Dir>.SixGames.Achieve.Achieve"+�(cla%)+"."+filename$(X%)) *��L%=0�4 +�K%=1�6 +�J%=1�6 +�#h%,new%(J%,K%,L%) + � +*� +4� +>�#h% +H�printpage(filename$(X%)) +R� +\ X%+=1 +f� +pș"Hourglass_Smash" +z� +�ȗ ȓ 128,116,1150,764 +��achievecard +��zeromouse +�� +���printpage(name$) +�� � +�� � �:� 6,3,7:esc%=�:� +� � 2,21 +��header +�a$=�strip(name$) +��a$="":a$="Empty" +��frn% � +�$�printer("Les r�sultats de "+a$) ,6�printer("qui joue aux Jeux Dix sur Dix Fran�ais") ,� ,'�printer("The achievements of "+a$) ,$5�printer("playing the 10 out of 10 French games") ,.� ,8�printer("") ,B�printer(�date) ,L�printer("") ,V�frn% � ,`�ver% � ,j6�printer("Cat�gories Trait�"+�51," ")+"R�sultant") ,t� ,~5�printer("Niveaux Trait�"+�52," ")+"R�sultant") ,�� ,��printer("") ,��printer("LE FLIC") ,��gamedetails(1) ,��printer("LA TOUR") ,��gamedetails(2) ,��printer("LE PUZZLE") ,��gamedetails(3) ,��printer("LE JUMELAGE") ,��gamedetails(4) ,��printer("LA FUSEE") ,��gamedetails(5) - �printer("LA BONNE ROUTE") - �gamedetails(6) -1�printer("LEGENDE DES COULEURS DE REUSSITE:") -�printer("") -(,�printer("BLEU = 100% (10 fois VERT)") -2*�printer("VERT = 100% (10 sur 10!)") -<$�printer("JAUNE = 50% ou plus") -F%�printer("ROUGE = Moins de 50%") -PF�printer("- = signifie que la cat�gorie n'a pas �t� trait�e") -Z� -d9�printer(typ$+" Covering"+�50," ")+"Achievement") -n�printer("") -x�printer("THE COP") -��gamedetails(1) -��printer("TOWER") -��gamedetails(2) -��printer("WORD SEARCH") -��gamedetails(3) -��printer("LINK UP") -��gamedetails(4) -��printer("RESCUE") -��gamedetails(5) -��printer("STONES") -��gamedetails(6) -�+�printer("KEY TO ACHIEVEMENT COLOURS:") -��printer("") ..�printer("BLUE = 100% (10 times GREEN)") .-�printer("GREEN = 100% (10 out of 10!)") .$�printer("YELLOW = 50% or over") .""�printer("RED = Under 50%") .,;�printer("- = means the grade has not been tried") .6� .@ȕ pnt%<pap% .J� .Tpnt%+=1 .^� .h�footer .r � 6,3 .|� .���gamedetails(num%) .��J%=1�6 .�b$=info$(num%,J%) .�#�nig% a$=b$ �a$=�b$,�b$," ")+1) .�a$=�(J%)+" "+a$ .�a$+=�68-�(a$)," ") .��frn% � .�Ȏ new%(num%,J%,0) � .�� 0:a$+="-" .�� 1:a$+="ROUGE" .�� 2:a$+="JAUNE" .�$� 3,4,5,6,7,8,9,10,11:a$+="VERT" .�:a$+="BLEU" /� /� /Ȏ new%(num%,J%,0) � /&� 0:a$+="-" /0� 1:a$+="RED" /:� 2:a$+="YELLOW" /D%� 3,4,5,6,7,8,9,10,11:a$+="GREEN" /N:a$+="BLUE" /X� /b� /l�printer(a$) /v� /��printer("") /�� /���header /� pnt%=0 /� �hed%=0:� /��W%=1� hed% /�� /�� /�� /���footer /� �fut%=0:� /��W%=1� fut% /�� 0� 0� 0��printer(j$) 0 �j$ 0*pnt%+=1 04�pnt%=pap% � 0>�footer 0H�header 0R� 0\� 0f ݤdate 0p�frn% � �dTp �� �d@p 0z fnd%=� 0�ȕ �fnd% 0�� p$,n$ 0�科$,p$):fnd%=� 0�� 0�z$="Date: " 0�=z$+��$,5,3)+n$+��$,11,5) 0�G� Jan,January,Feb,February,Mar,March,Apr,April,May,May,Jun,June,Jul 0�I� July,Aug,August,Sep,September,Oct,October,Nov,November,Dec,December 0�G� Jan,Janvier,Feb,"F�vrier",Mar,Mars,Apr,Avril,May,Mai,Jun,Juin,Jul 0�N� Juillet,Aug,"Ao�t",Sep,Septembre,Oct,Octobre,Nov,Novembre,Dec,"D�cembre" 0���flush 0�*FX21 9 0�� 1ݤstrip(str$) 1ȕ �str$,"_")>0 1�str$,�str$,"_"))=" " 1$� 1. =str$ 18��input(tot%,x$,cap%,fil%) 1B*FX21 0 1L esc%=� 1Vcnt%=�(x$) 1` i$=x$ 1j*�fil% � �frn%:y$="filename: >" �y$=">" 1t1�fil% � frn%:y$="titre du dossier: >" �y$=">" 1~�mess(y$+i$+"<",8) 1�� 1�� 1�� 1�k%=�(1) 1�� k%=13 � k%>31 � k%<128 1��k%=127 � cnt%>0 � 1�cnt%-=1 1�i$=�i$,cnt%) 1��mess(y$+i$+"<",8) 1�� 1� � k%<>127 1��k%<>13 � cnt%<>tot% � 2 �cap% � 2 �cnt%=0 � 22�(k%)>="a" � �(k%)<="z" i$=�(k%-32) �i$=�(k%) 2� 2(4�(k%)>="A" � �(k%)<="Z" i$+=�(k%+32) �i$+=�(k%) 22� 2<� 2F i$+=�(k%) 2P� 2Z�mess(y$+i$+"<",8) 2dcnt%+=1 2n� 2x�k%<>13 � cnt%=tot%:�7 2�� k%=13 2�� 2���exitmessage 2�ș"ABC_Colour",11 2� � �TNs 2�� a$ 2� Y%=240 2�ȕ a$<>"end" 2�$ș"ABC_PryntString",a$,34,Y%,1,7 2�&ș"ABC_PryntString",a$,32,Y%+1,1,0 2��a$>"" Y%-=18 �Y%-=12 2�� a$ 2�� 3� 3#� Also available or coming soon 3,� "for Acorn 32-bit, IBM PC/compatibles" 3"� and Commodore Amiga ... 3,� 36� English French 3@"� German Dinosaurs 3J+� Astronomy Maths (Statistics) 3T(� Maths (Number) Maths (Algebra) 3^*� Early Essentials Junior Essentials 3h� 3r� Contact your dealer or 3|$� ring (0742) 780370 for details 3� � end 3�ݤinitialcompressed(s$) 3�h%=�(f$+s$) 3� len%=�#h% 3��#h% 3� � z% len% 3��"LOAD "+f$+s$+" "+�~(z%) 3�=z% 3���configure 3�符-2 � ��-1 � ��-83:� 3�ȗ � 3�ș"ABC_Blank",3 3�ș"ABC_Colour",3 4�validdirectories 4)ș"ABC_UnpackSprite","bar",j%,180,242 4)ș"ABC_UnpackSprite","exit",j%,454,18 4&� 11 40 � 130 4:'�25,2)"10 out of 10 CUSTOMISATION" 4D� 7 4N old%=cla% 4X � �dl{ 4b� a$,K% 4lJ%=0 4vȕ a$<>"end" 4�/ș"ABC_UnpackSprite","bar",j%,180,226-J%*16 4��25,J%*2+4)a$ 4��K%=-1 � 4�0ș"ABC_UnpackSprite","arup",j%,482,226-J%*16 4�0ș"ABC_UnpackSprite","ardn",j%,510,226-J%*16 4�� 4�W�K%=-2 ș"ABC_UnpackSprite","default",j%,454,226-J%*16 ��buttonstatus(J%,226-J%*16) 4� J%+=1 4�� a$,K% 4�� 4�ș"ABC_Palette" 4�ȗ ȓ 904,32,160,874 4��mouse1 5 end%=� 5ȕ �end% 5� 5 ȗ mox%,moy%,but% 5*� but%>0 54$�but%=4 � �mox%,moy%)<>3:�action 5>� 5H�savenewconfigure 5R�old%<>cla%:�setempty 5\�sun%<11 sun%=11 �sun%=0 5f �menu 5p� 5z��action 5�noy%=(906-moy%)>>6 5�nox%=(mox%-906)�56 5� Ȏ noy% � 5�� 0 5�frn%=�frn% 5�#�buttonstatus(noy%,226-noy%*16) 5�� 7 5�� 1 5�rat%=�rat% 5�#�buttonstatus(noy%,226-noy%*16) 5�� 7 5�� 2 5��ver% � 6nig%=�nig% 6#�buttonstatus(noy%,226-noy%*16) 6� 7 6$� 6.� 3 68sds%=�sds% 6B#�buttonstatus(noy%,226-noy%*16) 6L'�sds% �"SPEAKER ON" ��"SPEAKER OFF" 6V� 7 6`� 4 6j�ver% � 6t ver%=� 6~ nig%=� 6�(�buttonstatus(noy%-2,226-noy%*16+32) 6�#�buttonstatus(noy%,226-noy%*16) 6�(�buttonstatus(noy%+1,226-noy%*16-16) 6�� 7 6�� 6�� 5 6��ver% � 6� ver%=� 6� nig%=� 6�(�buttonstatus(noy%-3,226-noy%*16+48) 6�#�buttonstatus(noy%,226-noy%*16) 6�(�buttonstatus(noy%-1,226-noy%*16+16) 7 � 7 7 � 7� 6 7 �nox%=1 � 7(grd%+=1 72�grd%=7:grd%=1 7<#�buttonstatus(noy%,226-noy%*16) 7F� 7 7P� 7Z �nox%=2 � 7dgrd%-=1 7n�grd%=0:grd%=6 7x#�buttonstatus(noy%,226-noy%*16) 7�� 7 7�� 7�� 7 7� �nox%=1 � 7�cla%+=1 7��cla%=65:cla%=1 7�#�buttonstatus(noy%,226-noy%*16) 7�� 7 7�� 7� �nox%=2 � 7�cla%-=1 7��cla%=0:cla%=64 7�#�buttonstatus(noy%,226-noy%*16) 8� 7 8� 8� 8 8" �nox%=1 � 8,hed%+=1 86�hed%=8:hed%=0 8@#�buttonstatus(noy%,226-noy%*16) 8J� 7 8T� 8^ �nox%=2 � 8hhed%-=1 8r�hed%<0:hed%=7 8|#�buttonstatus(noy%,226-noy%*16) 8�� 7 8�� 8�� 9 8� �nox%=1 � 8�fut%+=1 8��fut%=8:fut%=0 8�#�buttonstatus(noy%,226-noy%*16) 8�� 7 8�� 8� �nox%=2 � 8�fut%-=1 8��fut%<0:fut%=7 8�#�buttonstatus(noy%,226-noy%*16) 9� 7 9� 9� 10 9& �nox%=1 � 90pap%+=1 9:�pap%=81:pap%=16 9D#�buttonstatus(noy%,226-noy%*16) 9N� 7 9X� 9b �nox%=2 � 9lpap%-=1 9v�pap%=15:pap%=80 9�#�buttonstatus(noy%,226-noy%*16) 9�� 7 9�� 9�� 11 9�pix%+=1 9��pix%=4:pix%=0 9�#�buttonstatus(noy%,226-noy%*16) 9�� 7 9�� 12 9�ș"ABC_Blank",3 9�*SPEAKER ON 9�� 7 9� rat%=� : nig%=� : sds%=� : ver%=� : grd%=1 :* cla%=1 :4 hed%=1 :> fut%=1 :Hpap%=64 :R pix%=0 :\ frn%=� :f�J%=0�11 :p�buttonstatus(J%,226-J%*16) :z� :�ș"ABC_Palette" :�� 13:end%=� :�� :��zeromouse :�� :���savenewconfigure :�ȗ � :�ș"ABC_Blank",3 :�ș"ABC_Colour",3 :�'�directory%(cla%):�createdirectory :�7�"DIR <Disc1$Dir>.SixGames.Achieve.Achieve"+�(cla%) :�$�ver% typ$="Grade" �typ$="Level" :��confilesave ;*DIR <Disc1$Dir>.SixGames ;� ;��buttonstatus(num%,ysc%) ;$yyy%=ysc%-2 ;.Ȗ ;8k�num%=4 � num%=5 ș"ABC_UnpackSprite","radiooff",j%,454,ysc% �ș"ABC_UnpackSprite","optoff",j%,454,ysc% ;B Ȏ num% � ;L6� 0:�frn%:ș"ABC_UnpackSprite","opton",j%,454,ysc% ;V6� 1:�rat%:ș"ABC_UnpackSprite","opton",j%,454,ysc% ;`6� 2:�nig%:ș"ABC_UnpackSprite","opton",j%,454,ysc% ;j6� 3:�sds%:ș"ABC_UnpackSprite","opton",j%,454,ysc% ;t9� 4:�ver%:ș"ABC_UnpackSprite","radioon",j%,454,ysc% ;~8� 5:�ver%:ș"ABC_UnpackSprite","radioon",j%,454,ysc% ;�0� 6:ș"ABC_PryntString",�(grd%),462,yyy%,0,9 ;�� 7 ;�&�directory%(cla%) cul%=13 �cul%=11 ;�d�cla%>9 ș"ABC_PryntString",�(cla%),458,yyy%,0,cul% �ș"ABC_PryntString",�(cla%),462,yyy%,0,cul% ;�1� 8:ș"ABC_PryntString",�(hed%),462,yyy%,0,11 ;�1� 9:ș"ABC_PryntString",�(fut%),462,yyy%,0,11 ;�2� 10:ș"ABC_PryntString",�(pap%),458,yyy%,0,11 ;�`� 11:�pix%=0 ș"ABC_PryntString","A",462,yyy%,0,11 �ș"ABC_PryntString",�(pix%),462,yyy%,0,6 ;�� ;�� ;�/� French Environment,0,Ratings suppressed,0 ;�+� National curriculum numbers,0,Sound,0 <