diff --git a/docs/js/main.js b/docs/js/main.js index 3934062..a72828d 100644 --- a/docs/js/main.js +++ b/docs/js/main.js @@ -2291,17 +2291,17 @@ h.ra=function(a,b,c,d,e,f,g,k,l,m,n,p,q,r,u,v,A,C,E){var I=this.u.ra?this.u.ra(a h.sa=function(a,b,c,d,e,f,g,k,l,m,n,p,q,r,u,v,A,C,E,I){var M=this.u.sa?this.u.sa(a,b,c,d,e,f,g,k,l,m,n,p,q,r,u,v,A,C,E,I):this.u.call(null,a,b,c,d,e,f,g,k,l,m,n,p,q,r,u,v,A,C,E,I),W=Ig(this,M);x(W)||Eg(this.name,M);return W.sa?W.sa(a,b,c,d,e,f,g,k,l,m,n,p,q,r,u,v,A,C,E,I):W.call(null,a,b,c,d,e,f,g,k,l,m,n,p,q,r,u,v,A,C,E,I)}; h.Ia=function(a,b,c,d,e,f,g,k,l,m,n,p,q,r,u,v,A,C,E,I,M){var W=Wd(this.u,a,b,c,d,Ic([e,f,g,k,l,m,n,p,q,r,u,v,A,C,E,I,M])),Ka=Ig(this,W);x(Ka)||Eg(this.name,W);return Wd(Ka,a,b,c,d,Ic([e,f,g,k,l,m,n,p,q,r,u,v,A,C,E,I,M]))};function Jg(a,b,c){ie.A(a.Db,V,b,c);Ag(a.Cb,a.Db,a.ub,a.Bb)}function Ig(a,b){H.h(F(a.ub),F(a.Bb))||Ag(a.Cb,a.Db,a.ub,a.Bb);var c=F(a.Cb);c=c.g?c.g(b):c.call(null,b);return x(c)?c:Dg(a.name,b,a.Bb,a.Db,a.rc,a.Cb,a.ub,a.pc)}h.fb=function(){return Lb(this.name)};h.gb=function(){return Mb(this.name)}; h.M=function(){return ca(this)};"undefined"!==typeof console&&Ba();Ba();var Kg=new G(null,"left","left",-399115937),Lg=new G(null,"size","size",1098693007),lj=new G(null,"total-best","total-best",-461541026),qj=new G(null,"line","line",212345235),Kh=new G(null,"orig-walls","orig-walls",1571238181),Ng=new G(null,"enable-depth-sort","enable-depth-sort",-383089627),Og=new G(null,"disable-depth-test","disable-depth-test",284606407),za=new G(null,"dup","dup",556298533),Pg=new G(null,"enable-optimized-stroke","enable-optimized-stroke",1537575253),Qg=new G(null,"right","right", --452581833),Rg=new G(null,"current-fill","current-fill",1421462292),Sg=new G(null,"multiply","multiply",-1036907048),Tg=new G(null,"f9","f9",704633338),Ug=new G(null,"key-typed","key-typed",-876037597),Vg=new G(null,"f8","f8",-2141475484),Wg=new G(null,"opengl","opengl",-614998103),Xg=new G(null,"focus-lost","focus-lost",-554849613),Yg=new G(null,"command","command",-894540724),Fj=new G(null,"maze","maze",1753749814),xa=new G(null,"readably","readably",1129599760),Zg=new G(null,"mouseOut","mouseOut", --386669045),$g=new G(null,"fn","fn",-1175266204),ah=new G(null,"mouse-moved","mouse-moved",-1918152310),bh=new G(null,"soft-light","soft-light",513207899),Lh=new G(null,"navigation","navigation",369417),dh=new G(null,"alt","alt",-3214426),eh=new G(null,"keyTyped","keyTyped",1437329399),Hg=new G(null,"default","default",-1987822328),Gj=new dc(null,"update-state","update-state",987135268,null),oi=new G(null,"gold","gold",-806826416),gh=new G(null,"f5","f5",1587057387),hh=new G(null,"f4","f4",990968764), +-452581833),Rg=new G(null,"current-fill","current-fill",1421462292),Sg=new G(null,"multiply","multiply",-1036907048),Tg=new G(null,"f9","f9",704633338),Ug=new G(null,"key-typed","key-typed",-876037597),Vg=new G(null,"f8","f8",-2141475484),Wg=new G(null,"opengl","opengl",-614998103),Xg=new G(null,"focus-lost","focus-lost",-554849613),Yg=new G(null,"command","command",-894540724),Lh=new G(null,"maze","maze",1753749814),xa=new G(null,"readably","readably",1129599760),Zg=new G(null,"mouseOut","mouseOut", +-386669045),$g=new G(null,"fn","fn",-1175266204),ah=new G(null,"mouse-moved","mouse-moved",-1918152310),bh=new G(null,"soft-light","soft-light",513207899),oi=new G(null,"navigation","navigation",369417),dh=new G(null,"alt","alt",-3214426),eh=new G(null,"keyTyped","keyTyped",1437329399),Hg=new G(null,"default","default",-1987822328),Gj=new dc(null,"update-state","update-state",987135268,null),Fj=new G(null,"gold","gold",-806826416),gh=new G(null,"f5","f5",1587057387),hh=new G(null,"f4","f4",990968764), ih=new G(null,"f7","f7",356150168),jh=new G(null,"f6","f6",2103080604),kh=new G(null,"f1","f1",1714532389),Hj=new G(null,"generation","generation",-2132542044),Ij=new dc("amaze.methods","update-state","amaze.methods/update-state",-457451832,null),nh=new G(null,"f3","f3",1954829043),oh=new G(null,"f2","f2",396168596),Tj=new G(null,"bomb-time","bomb-time",1308456842),Mi=new G(null,"keys-held","keys-held",988463829),ph=new G(null,"decor","decor",-1730969431),Sk=new G(null,"win-time","win-time",1618614102), qh=new G(null,"mouseReleased","mouseReleased",1116234838),Zh=new G(null,"italic","italic",32599196),Uk=new dc("amaze.methods","key-release","amaze.methods/key-release",-1418032276,null),Vk=new G(null,"last-move","last-move",2069214404),Wk=new G(null,"score","score",-1963588780),sh=new G(null,"disable-texture-mipmaps","disable-texture-mipmaps",1697917541),bl=new G(null,"doc","doc",1913296891),uh=new G(null,"enable-opengl-errors","enable-opengl-errors",89998962),el=new G(null,"path","path",-188191168), vh=new G(null,"setup","setup",1987730512),wh=new G(null,"enable-async-saveframe","enable-async-saveframe",-1817644525),xh=new G(null,"corners","corners",-137817903),yh=new G(null,"mouseClicked","mouseClicked",1764302965),ol=new G(null,"column","column",2078222095),Ah=new G(null,"unknown-key","unknown-key",255305911),Bh=new G(null,"safe-draw-fn","safe-draw-fn",1454900202),pl=new G(null,"intro","intro",-886090599),Dh=new G(null,"host-id","host-id",742376279),rl=new dc(null,"settings","settings",-1098290894, -null),Eh=new G(null,"on-close","on-close",-761178394),tl=new dc("amaze.methods","draw","amaze.methods/draw",-1864783739,null),Gh=new G(null,"f10","f10",627525541),Hh=new G(null,"mouse-clicked","mouse-clicked",-199339421),Ih=new G(null,"f11","f11",-1417398799),Jh=new G(null,"f12","f12",853352790),vl=new G(null,"borders","borders",-2120100848),xl=new G(null,"v2-high-score","v2-high-score",-2061695266),Bl=new dc(null,"amaze.methods","amaze.methods",1344583821,null),Mh=new G(null,"key-released","key-released", +null),Eh=new G(null,"on-close","on-close",-761178394),tl=new dc("amaze.methods","draw","amaze.methods/draw",-1864783739,null),Gh=new G(null,"f10","f10",627525541),Hh=new G(null,"mouse-clicked","mouse-clicked",-199339421),Ih=new G(null,"f11","f11",-1417398799),Jh=new G(null,"f12","f12",853352790),sl=new G(null,"borders","borders",-2120100848),xl=new G(null,"v2-high-score","v2-high-score",-2061695266),Bl=new dc(null,"amaze.methods","amaze.methods",1344583821,null),Mh=new G(null,"key-released","key-released", 215919828),Nh=new G(null,"current-stroke","current-stroke",-1338415274),Oh=new G(null,"exclusion","exclusion",531897910),Ph=new G(null,"enable-depth-test","enable-depth-test",1519326084),Qh=new G(null,"down","down",1565245570),Rh=new G(null,"space","space",348133475),Sh=new G(null,"renderer","renderer",336841071),Th=new G(null,"ns","ns",441598760),Dl=new G(null,"test","test",577538877),Vh=new G(null,"java2d","java2d",166099237),vg=new G(null,"parents","parents",-2027538891),Wh=new G(null,"center", "center",-748944368),Xh=new G(null,"frame-rate","frame-rate",-994918942),Yh=new G(null,"add","add",235287739),Gl=new G(null,"file","file",-1269645878),$h=new G(null,"mouse-dragged","mouse-dragged",-1220073441),ai=new G(null,"disable-async-saveframe","disable-async-saveframe",-1346138728),Hl=new dc(null,"draw","draw",-1296104095,null),ji=new G(null,"key-pressed","key-pressed",-757100364),ki=new G(null,"update","update",1045576396),wj=new G(null,"normal","normal",-1519123858),li=new G(null,"draw","draw", 1358331674),mi=new G(null,"looping?","looping?",78344245),ni=new G(null,"lightest","lightest",-2043115912),Ml=new G(null,"arglists","arglists",1661989754),Nl=new G(null,"end-column","end-column",1425389514),qi=new G(null,"key-code","key-code",-1732114304),ya=new G(null,"meta","meta",1499536964),ri=new G(null,"enable-texture-mipmaps","enable-texture-mipmaps",1241892671),ql=new G(null,"scene-start","scene-start",-1512510130),ti=new G(null,"corner","corner",1296717125),ui=new G(null,"disable-opengl-errors", "disable-opengl-errors",506822839),Ol=new G(null,"score-shown","score-shown",1952998823),Aa=new G(null,"print-length","print-length",1931866356),vi=new G(null,"no-safe-draw","no-safe-draw",-1157778157),wi=new G(null,"keyReleased","keyReleased",541714964),xi=new G(null,"features","features",-1146962336),yi=new G(null,"y","y",-1757859776),zi=new G(null,"x","x",2099068185),xg=new G(null,"ancestors","ancestors",-776045424),Ai=new G(null,"disable-optimized-stroke","disable-optimized-stroke",74038544), -Bi=new G(null,"disable-stroke-perspective","disable-stroke-perspective",479198433),Ci=new G(null,"burn","burn",-458179293),sl=new G(null,"walls","walls",-268788818),Ei=new G(null,"up","up",-269712113),Ql=new G(null,"win","win",-1624642689),Fi=new G(null,"keyPressed","keyPressed",1791025256),Gi=new G(null,"raw-key","raw-key",-162482279),Hi=new G(null,"host","host",-1558485167),Ii=new G(null,"mouseMoved","mouseMoved",-1936954058),Ji=new G(null,"mouseDragged","mouseDragged",129975181),Ki=new G(null, +Bi=new G(null,"disable-stroke-perspective","disable-stroke-perspective",479198433),Ci=new G(null,"burn","burn",-458179293),vl=new G(null,"walls","walls",-268788818),Ei=new G(null,"up","up",-269712113),Ql=new G(null,"win","win",-1624642689),Fi=new G(null,"keyPressed","keyPressed",1791025256),Gi=new G(null,"raw-key","raw-key",-162482279),Hi=new G(null,"host","host",-1558485167),Ii=new G(null,"mouseMoved","mouseMoved",-1936954058),Ji=new G(null,"mouseDragged","mouseDragged",129975181),Ki=new G(null, "hierarchy","hierarchy",-1053470341),Li=new G(null,"control","control",1892578036),ng=new G(null,"fallback-impl","fallback-impl",-1501286995),Rl=new G(null,"name","name",1843675177),Ni=new G(null,"mouse-exited","mouse-exited",-483205244),Tk=new G(null,"bold","bold",-116809535),Oi=new G(null,"enable-stroke-pure","enable-stroke-pure",881345587),Pi=new G(null,"subtract","subtract",2136988635),Gg=new G(null,"screen-type","screen-type",1673072322),Sl=new G(null,"maze-best","maze-best",-322750020),Qi=new G(null, "mouse-entered","mouse-entered",811350322),Tl=new dc("amaze.methods","key-press","amaze.methods/key-press",1994090155,null),Ri=new G(null,"screen","screen",1990059748),Vl=new G(null,"private","private",-558947994),Si=new G(null,"darkest","darkest",68197253),Ti=new G(null,"mouseWheel","mouseWheel",-1057803856),Ui=new G(null,"mouseOver","mouseOver",-1334461930),Vi=new G(null,"disable-depth-mask","disable-depth-mask",3298562),Wi=new G(null,"mousePressed","mousePressed",1776186454),Wl=new G(null,"bombs-used", "bombs-used",2069266934),Xl=new dc(null,"key-press","key-press",-1803695657,null),Xi=new G(null,"mouse-released","mouse-released",-664480061),wg=new G(null,"descendants","descendants",1824886031),Yi=new G(null,"shift","shift",997140064),Yl=new G(null,"moves","moves",927465255),Zl=new G(null,"calc-duration","calc-duration",1950424468),sg=new G(null,"val","val",128701612),al=new G(null,"bolditalic","bolditalic",-1629061788),$i=new G(null,"focus-gained","focus-gained",-857086384),$l=new dc("amaze.core", @@ -2353,27 +2353,27 @@ function Zm(a,b){var c=U(b,0,null),d=U(b,1,null);return function g(f){return new 1}else return!0}()?Gd(kl.$(),M(Kb(ci))):Gd(kl.$(),null)}var ll=N(ci);if(x(function(){var ml=new X(null,2,5,Y,[Ka,ll],null);return a.g?a.g(ml):a.call(null,ml)}()))return T(new X(null,2,5,Y,[Ka,ll],null),M(mc(ci)));ci=mc(ci)}else return null}}(p,q,r,u,v,A,C),null)}}(k,n,m,l,b,c,d)(bg(d-1,d+1+1,1))))return Ld.h(l,g(mc(k)));k=mc(k)}else return null}},null)}(bg(c-1,c+1+1,1))} var Mm=function(){var a=U(cl,0,null),b=U(cl,1,null),c=U(dl,0,null),d=U(dl,1,null);return Wf(Sd(Ld,function(){return function g(f){return new Bd(null,function(){for(var k=f;;){var l=K(k);if(l){var m=l,n=N(m);if(l=K(function(p,q,r,u,v,A,C,E,I,M){return function ci(Ka){return new Bd(null,function(jl,be,kl,ll,ml,di,ei,nl,fi,gi){return function(){for(;;){var Qc=K(Ka);if(Qc){if(cd(Qc)){var ce=Jb(Qc),hi=R(ce),Rc=th(hi);a:for(var Jf=0;;)if(Jf1*Math.random()?Mc.h(e,d):e,d=f}return rh(a,sl,qe,pe(b,pe(Mm,e)))}); -Jg(Xk,Hj,function(a){var b=Xd(a),c=ec(b,vl);a=ec(b,sl);b=ec(b,ql);yk().background(210);Dk.g(0);zl(14);Al(wj);Zk(Kg);Hk(["Walls: ",B.g(R(a))].join(""),16,676);Hk("SPACE stop generating walls",16,696);yk().scale(16);Dk.g(0);c=K(c);for(var d=null,e=0,f=0;;)if(fb?0:b); -a=K(a);c=null;for(e=d=0;;)if(e=e)break a;if(x(d.g?d.g(c):d.call(null,c))){var g=xm();f=qe.h(f,Zm(d,c));c=g}else g=xm(),f=.15>1*Math.random()?Mc.h(f,c):f,c=g}}return rh(a,vl,qe,pe(b,pe(Mm,f)))}); +Jg(Xk,Hj,function(a){var b=Xd(a),c=ec(b,sl);a=ec(b,vl);b=ec(b,ql);yk().background(210);Dk.g(0);zl(14);Al(wj);Zk(Kg);Hk(["Walls: ",B.g(R(a))].join(""),16,676);Hk("SPACE stop generating walls",16,696);yk().scale(16);Dk.g(0);c=K(c);for(var d=null,e=0,f=0;;)if(fb?0:b); +a=K(a);c=null;for(e=d=0;;)if(e(c.g?c.g(d):c.call(null,d))&& -1>=R(g)&&H.h(a,cl)?(a=(am()/300%2+2)%2+1,gm(Wh),yk().ellipse(.5+e,.5+f,a,a),a=gm(ti)):a=yk().ellipse(e,f,1,1);return a}); -function lm(a){var b=Xd(a),c=ec(b,km),d=U(c,0,null),e=U(c,1,null),f=ec(b,sl),g=ec(b,Wl);if(3<=g)return b;var k=function(){return function p(n){return new Bd(null,function(){for(var q=n;;){var r=K(q);if(r){var u=r,v=N(u);if(r=K(function(A,C,E,I,M,W,Ka,ci,jl,be,kl,ll,ml){return function nl(ei){return new Bd(null,function(fi,gi,Qc,ce,hi,Rc,Jf,ii,Fh,ul,Jl){return function(){for(var Zi=ei;;)if(Zi=K(Zi)){if(cd(Zi)){var Fl=Jb(Zi),Kl=R(Fl),mm=th(Kl);a:for(var nm=0;;)if(nm(c.g?c.g(d):c.call(null,d))&&1>=R(g)&&H.h(a,cl)?(a=(am()/300%2+2)%2+1,gm(Wh),yk().ellipse(.5+e,.5+f,a,a),a=gm(ti)):a=yk().ellipse(e,f,1,1);return a}); +function lm(a){var b=Xd(a),c=ec(b,km),d=U(c,0,null),e=U(c,1,null),f=ec(b,vl),g=ec(b,Wl);if(3<=g)return b;var k=function(){return function p(n){return new Bd(null,function(){for(var q=n;;){var r=K(q);if(r){var u=r,v=N(u);if(r=K(function(A,C,E,I,M,W,Ka,ci,jl,be,kl,ll,ml){return function nl(ei){return new Bd(null,function(fi,gi,Qc,ce,hi,Rc,Jf,ii,Fh,ul,Jl){return function(){for(var Zi=ei;;)if(Zi=K(Zi)){if(cd(Zi)){var Fl=Jb(Zi),Kl=R(Fl),mm=th(Kl);a:for(var nm=0;;)if(nme&&(window.localStorage.setItem(xl,f),d=V.i(d,lj,f));a=c.call(V,d,Sl,a>b?a:b)}return a});function gl(){return Wf(pe(Vf([cl,dl]),qe.h(ne(function(a){return new X(null,2,5,Y,[new X(null,2,5,Y,[a,0],null),new X(null,2,5,Y,[a,jm-1],null)],null)},Ic([bg(0,im,1)])),ne(function(a){return new X(null,2,5,Y,[new X(null,2,5,Y,[0,a],null),new X(null,2,5,Y,[im-1,a],null)],null)},Ic([bg(0,jm,1)])))))}function hl(a){return sd(am()-a,1E3)} function Km(){document.body.addEventListener("keydown",function(a){var b=a.keyCode;var c=new Sf(null,new va(null,10,[65,null,39,null,32,null,40,null,68,null,9,null,83,null,38,null,87,null,37,null],null),null);b=c.g?c.g(b):c.call(null,b);return x(b)?a.preventDefault():null})}function sm(){return yk().smooth(8)} -function il(){Km();ie.A(Z.sb,V,Xh,50);Z.frameRate(50);yk().noStroke();ie.A(Z.sb,V,Nh,null);gm(ti);yk().textFont("monospace",14);var a=gl(),b=am(),c=window.localStorage.getItem(xl);return new va(null,5,[Gg,pl,vl,a,ql,b,Zl,hl,lj,x(c)?c:0],null)};Sd(vk,Ic([Hi,"app",Lg,new X(null,2,5,Y,[880,704],null),yj,new ic(function(){return sm},qm,Lf([Vl,Th,Rl,Gl,Nl,ol,qj,pm,Ml,bl,Dl],[!0,cm,rl,"amaze/core.cljs",16,1,33,33,bi(Nc),null,x(sm)?sm.Ub:null])),vh,new ic(function(){return il},$l,Lf([Vl,Th,Rl,Gl,Nl,ol,qj,pm,Ml,bl,Dl],[!0,cm,dm,"amaze/core.cljs",13,1,36,36,bi(Nc),null,x(il)?il.Ub:null])),ki,new ic(function(){return Rk},Ij,Lf([Th,Rl,Gl,Nl,ol,qj,pm,Ml,bl,Dl],[Bl,Gj,"amaze/methods.cljs",23,1,5,5,O,null,x(Rk)?Rk.Ub:null])),li,new ic(function(){return Xk}, +function il(){Km();ie.A(Z.sb,V,Xh,50);Z.frameRate(50);yk().noStroke();ie.A(Z.sb,V,Nh,null);gm(ti);yk().textFont("monospace",14);var a=gl(),b=am(),c=window.localStorage.getItem(xl);return new va(null,5,[Gg,pl,sl,a,ql,b,Zl,hl,lj,x(c)?c:0],null)};Sd(vk,Ic([Hi,"app",Lg,new X(null,2,5,Y,[880,704],null),yj,new ic(function(){return sm},qm,Lf([Vl,Th,Rl,Gl,Nl,ol,qj,pm,Ml,bl,Dl],[!0,cm,rl,"amaze/core.cljs",16,1,33,33,bi(Nc),null,x(sm)?sm.Ub:null])),vh,new ic(function(){return il},$l,Lf([Vl,Th,Rl,Gl,Nl,ol,qj,pm,Ml,bl,Dl],[!0,cm,dm,"amaze/core.cljs",13,1,36,36,bi(Nc),null,x(il)?il.Ub:null])),ki,new ic(function(){return Rk},Ij,Lf([Th,Rl,Gl,Nl,ol,qj,pm,Ml,bl,Dl],[Bl,Gj,"amaze/methods.cljs",23,1,5,5,O,null,x(Rk)?Rk.Ub:null])),li,new ic(function(){return Xk}, tl,Lf([Th,Rl,Gl,Nl,ol,qj,pm,Ml,bl,Dl],[Bl,Hl,"amaze/methods.cljs",15,1,10,10,O,null,x(Xk)?Xk.Ub:null])),ji,new ic(function(){return wl},Tl,Lf([Th,Rl,Gl,Nl,ol,qj,pm,Ml,bl,Dl],[Bl,Xl,"amaze/methods.cljs",20,1,14,14,O,null,x(wl)?wl.Ub:null])),Mh,new ic(function(){return Pm},Uk,Lf([Th,Rl,Gl,Nl,ol,qj,pm,Ml,bl,Dl],[Bl,hm,"amaze/methods.cljs",22,1,19,19,O,null,x(Pm)?Pm.Ub:null])),fj,new X(null,1,5,Y,[function(a){return Qk(a)}],null)])); }).call(this); \ No newline at end of file diff --git a/src/amaze/maze_generation.cljs b/src/amaze/maze_generation.cljs index 273cbdf..855831f 100644 --- a/src/amaze/maze_generation.cljs +++ b/src/amaze/maze_generation.cljs @@ -49,17 +49,22 @@ [x y])) -(defn- pick-from-maze [maze] - (loop [p (random-point) - picked #{}] - (cond - (>= (count picked) 10) picked - (maze p) (recur (random-point) - (into picked (pick-neighbours maze p))) - :else (recur (random-point) - (if (< (rand) 0.15) - (conj picked p) ; put some walls at "wrong" places - picked))))) +(defn- pick-from-maze [{:keys [maze calc-duration scene-start]}] + (let [duration (calc-duration scene-start) + limit (condp > duration + 2.0 8 + 4.0 5 + 3)] + (loop [p (random-point) + picked #{}] + (cond + (>= (count picked) limit) picked + (maze p) (recur (random-point) + (into picked (pick-neighbours maze p))) + :else (recur (random-point) + (if (< (rand) 0.15) + (conj picked p) ; put some walls at "wrong" places + picked)))))) (def free-pass @@ -74,7 +79,8 @@ (defn- create-walls [state] - (->> (pick-from-maze (:maze state)) + (->> state + pick-from-maze (remove free-pass) (remove (:borders state)))) @@ -100,7 +106,7 @@ (doseq [[x y] borders] (q/rect x y 1 1)) (q/fill (max 0 (- background-color - (* 0.04 (- (q/millis) scene-start))))) + (* 0.03 (- (q/millis) scene-start))))) (doseq [[x y] walls] (q/rect x y 1 1)))