CP MCSIMAGEFILEx Ä5x` x € €ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿsystem€ xOlibrary8x@REV38x@REV2”!x@REV1”!x@LOCAL40”!x@LOCAL39”!x@LOCAL38”!x@LOCAL37”!x@LOCAL36”!x@LOCAL35”!x@LOCAL34”!x@LOCAL33”!x@LOCAL32”!x@LOCAL31”!x@LOCAL30”!x@LOCAL29”!x@LOCAL28”!x@LOCAL27”!x@LOCAL26”!x@LOCAL25”!x@LOCAL24”!x@LOCAL23”!x@LOCAL22”!x@LOCAL21”!x@LOCAL20”!x@LOCAL19”!x@LOCAL18”!x@LOCAL17”!x@LOCAL16”!x@LOCAL15”!x@LOCAL14”!x@LOCAL13”!x@LOCAL12”!x@LOCAL11”!x@LOCAL10”!x@LOCAL9”!x@LOCAL8”!x@LOCAL7”!x@LOCAL6”!x@LOCAL5”!x@LOCAL4”!x@LOCAL3”!x@LOCAL2”!x@LOCAL1”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!x”!xmain”!x@APLWORKÄ5xGraph2D, †Graph3D@ †LISTSYSL4N†Modify €$ †STATCALC ¤N†STATSYS ¬\N†Sequence, †Sheet4| †Sheet3D°| †SolveEq,†SolveLwr0 †SolveUpr< †StupFLG1H(†StupListpD †StupPict´$ †ViewWindØ †äô †ä †ä †ä †ä$ †ä0 †ä< †äH †äT †ä` †äl †äx †ä„ †ä †äœ †ä¨ †ä ´ †ä!À †ä"Ì †ä#Ø †ä$ä †ä%ð †ä&ü †ä' †ä( †ä) †ä*, †ä+8 †ä,D †ä-P †ä.\ †ä0h †ä1t †ä2€ †ä3Œ †ä4˜ †ä5¤ †äE° †äF¼ †äHÈ †äIÔ †äJà †äKì †äLø †äM †äN †äO †äP( †äQ4 †äR@ †äSL †äTX †ä]d †ä^h †ä_l †ä`p †äat †äbx †ä”| †ä•ˆ †äÍ” †äΠ †äЬ †systemä]listsystemä^]=systemä_ä^systemä`ä_systemäaä`systemäb~ÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁÝÁ aseq_histbNewFolde ïsystemä]listsystemä^]=systemÝÁïsystemä]listsystemä^]=systemÝÁïsystemä]listsystemä^]=systemÝÁïsystemä]listsystemä^]=systemÝÁïsystemä]listsystemä^]=systemÝÁïsystemä]listsystemä^]=systemÝÁïsystemä]listsystemä^]=systemÝÁïsystemä]listsystemä^]=systemÝÁïsystemä]listsystemä^]=systemÝÁïsystemä]listsystemä^]=systemÝÁ  0@PSheet1€ xJ#^Sheet2€ xJ#^Sheet3€ xJ#^Sheet4€ xJ#^Sheet5€ xJ#^SheetSheet3D 0@PSheet1èJ#^Sheet2èJ#^Sheet3èJ#^Sheet4èJ#^Sheet5èJ#^SheetSheet3D i™ ™¨"^4_ $ `P`P`p`p ™€`€(1…0qy`#Y‡uYƒ ˜` ™CalcŒ8U„GraphĘU„Runcas\ U„SetupühU„Solved@U„Stat¤¬U„StupFLG2P „Calc Random Value (CalRandom)ÿÿÿÿGraph Graph Sheet 2D (Sheet),ä&~ä+,ä0,ä1,ä3,ä4,ä5,(f1-f100),(Modify),(Graph2D)Graph Graph Sheet 3D (Sheet3D),ä2,(z1-z100),(Graph3D)Graph Graph Summary (summary)Graph View Window ä~ä#,äÐ,(ViewWindow)Graph View Window 3D ä~äGraph Factor ä$,ä%Graph Table ä/,ä,,ä-,ä.Graph Conics Eq ä\Graph Sequence äG,äE,äF,äH,äR,äS,äT,äI~äQ,(an-cn+2),(seq_hist),(Sequence)ÿÿÿÿRuncas Ans Memory (ANSMEM)Runcas Main History (HISTRY)Runcas eAct (EAC_TEMP)Runcas Geometry (GEO_TEMP)Runcas Clipboad (CLIP)ÿÿÿÿSetup Setup "system\StupList","system\StupPict","system\StupFLG1",(StupFLG2)ÿÿÿÿSolve Numeric Solve (NumericSolveData)ÿÿÿÿSetup Setup "system\STATSYS","system\LISTSYS"Stat Stat List "system\STATSYS","system\LISTSYS",ä]~äbStat Stat Result äc,äd~äu,(IntrnalCodeS)ÿÿÿÿSnakeN LuaSource10>jÁÙü--Snake-- require("draw") int=math.floor rect=draw.rect line=draw.line text=draw.text update=draw.update mur=pict.new(8,8) draw.onpict(mur) rect(0,0,7,6,1,1,1) line(0,3,7,3,0) line(7,0,7,2,0) line(3,4,3,6,0) teteH=pict.new(8,8) draw.onpict(teteH) rect(2,1,5,7,2) rect(1,3,6,5) line(2,3,5,3,0) rect(3,0,4,3) teteB=pict.new(8,8) draw.onpict(teteB) rect(2,0,5,6,2) rect(1,2,6,4) line(2,4,5,4,0) rect(3,4,4,7) teteG=pict.new(8,8) draw.onpict(teteG) rect(1,2,7,5,2) rect(3,1,5,6) line(3,2,3,5,0) rect(0,3,3,4) teteD=pict.new(8,8) draw.onpict(teteD) rect(0,2,6,5,2) rect(2,1,4,6) line(4,2,4,5,0) rect(4,3,7,4) virHD=pict.new(8,8) draw.onpict(virHD) rect(2,0,5,4,2) rect(3,2,7,5,2) virHG=pict.new(8,8) draw.onpict(virHG) rect(2,0,5,4,2) rect(0,2,4,5,2) virBD=pict.new(8,8) draw.onpict(virBD) rect(2,3,5,7,2) rect(3,2,7,5,2) virBG=pict.new(8,8) draw.onpict(virBG) rect(2,3,5,7,2) rect(0,2,4,5,2) horiz=pict.new(8,8) draw.onpict(horiz) rect(0,2,7,5,2) vert=pict.new(8,8) draw.onpict(vert) rect(2,0,5,7,2) keypad(0) showgraph() draw.onbuffer() LARGEUR=20 HAUTEUR=27 POM=4 MUR=20 map={} function ran(n) return int(n*math.random()) end function newPom() local x,y,t t=ran(3) repeat x,y=ran(LARGEUR),ran(HAUTEUR) until map[y*LARGEUR+x]==0 map[y*LARGEUR+x]=t+3 draw.circle(x*8+4,y*8+4,3,t+1) end function newMur(x,y) if x==nil or y==nil then repeat x,y=ran(LARGEUR),ran(HAUTEUR) until map[y*LARGEUR+x]==0 and y~=int(HAUTEUR/2) end x,y=int(x),int(y) map[y*LARGEUR+x]=2 draw.pict(x*8,y*8,mur) end function init() local i for i=0,LARGEUR*HAUTEUR-1 do map[i]=0 end if lvl==1 then for i=1,MUR do newMur() end end if lvl==2 then for i=0,LARGEUR-1 do newMur(i,0) newMur(i,HAUTEUR-1) end for i=1,HAUTEUR-2 do newMur(0,i) newMur(LARGEUR-1,i) end end if lvl==3 then for i=3,16 do if i<9 or i>10 then newMur(3,i+3) newMur(16,i+3) newMur(i,5) newMur(i,20) end end end if lvl==4 then for i=0,41 do newMur(i%6+2,i/6+4) newMur(i%6+2,i/6+16) newMur(i%6+12,i/6+4) newMur(i%6+12,i/6+16) end end for i=1,POM do newPom() end end function jeu() local x,y,dx,dy,dx1,dy1,i,j,continuer,pict,saveX,saveY x=int(LARGEUR/2) y=int(HAUTEUR/2) saveX,saveY={x},{y} dx,dy=1,0 taille=5 i=0 continuer=true draw.clear() init() draw.onscreen() update() text(60,98,"Ready?",1,12,1) for j=0,20000 do end update() text(75,98,"Go",1,12,1) for j=0,15000 do end draw.onbuffer() while continuer do if testkey(K_0) then draw.onscreen() fenetre(110,55,1) text(65,95,"Pause") text(45,115,"Press [0] key") waitkey(K_0) draw.onbuffer() end i=(i+1)%taille dx1,dy1=dx,dy if dy==0 then pict=horiz if testkey(K_UP) or testkey(K_8) then if dx1>0 then pict=virHG else pict=virHD end dx,dy=0,-1 end if testkey(K_DOWN) or testkey(K_2) then if dx1>0 then pict=virBG else pict=virBD end dx,dy=0,1 end else pict=vert if testkey(K_LEFT) or testkey(K_4) then if dy1>0 then pict=virHG else pict=virBG end dx,dy=-1,0 end if testkey(K_RIGHT) or testkey(K_6) then if dy1>0 then pict=virHD else pict=virBD end dx,dy=1,0 end end draw.pict(8*x,8*y,pict) x=(x+dx)%LARGEUR y=(y+dy)%HAUTEUR if saveX[i]~=nil then a,b=saveX[i],saveY[i] map[b*LARGEUR+a]=0 rect(8*a,8*b,8*a+7,8*b+7,0,0,0) end if dx==1 then draw.pict(8*x,8*y,teteD) end if dx==-1 then draw.pict(8*x,8*y,teteG) end if dy==1 then draw.pict(8*x,8*y,teteB) end if dy==-1 then draw.pict(8*x,8*y,teteH) end case=map[y*LARGEUR+x] if case~=0 then if case>=3 then newPom() taille=taille+case-2 else continuer=false end end saveX[i],saveY[i]=x,y map[y*LARGEUR+x]=1 update() for j=0,3000-1000*vitesse do end end end function fenetre(x,y,center) local x1,x2,y1,y2 x1=(160-x)/2 x2=160-x1 if center==1 then y1=(216-y)/2 else y1=35+(181-y)/2 end y2=y1+y rect(x1,y1,x2,y2,1,1,0) rect(x1+2,y1+2,x2-1,y2-1) rect(x1+3,y1+3,x2-3,y2-3) end function menu() local i,j,k,y y=0 draw.clear() for i=0,5 do text(i,20+i/2,"SNAKE",1,40,3) end text(55,55,"par PierrotLL",1,8) text(13,190,"Merci a Julien pour CPLua") repeat fenetre(120,100) text(67,90,"Jouer") text(57,105,"Vitesse: "..vitesse) text(45,120,"Nb de pomme: "..POM) text(60,135,"Niveau: "..lvl) i=0 if lvl==1 then text(48,150,"Nb de mur: "..MUR) i=1 end rect(34,15*y+87,126,15*y+101,1,2,1) rect(33,15*y+88,127,15*y+100) update() k=waitkey() if k==K_DOWN then y=(y+1)%(4+i) end if k==K_UP then y=(y-1)%(4+i) end j=0 if k==K_LEFT then j=-1 end if k==K_RIGHT then j=1 end if y==1 then vitesse=(vitesse+j)%4 end if y==2 then POM=(POM+j)%100 end if y==3 then lvl=(lvl+j)%5 end if y==4 then MUR=(MUR+j)%100 end until k==K_EXE and y==0 end lvl=1 vitesse=1 while 1 do menu() jeu() fenetre(80,40,1) text(60,105,"taille:"..taille) update() waitkey(K_EXE) end