From 69c0972c81c60f47217a6e345b6e01b73de41af4 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Wed, 31 Jan 2024 23:40:27 +0900 Subject: add files --- pw.rb | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 pw.rb (limited to 'pw.rb') diff --git a/pw.rb b/pw.rb new file mode 100644 index 0000000..5d9692f --- /dev/null +++ b/pw.rb @@ -0,0 +1,25 @@ +eval(s=(%w@q=$*[0]&.to_i;z="eval(s=(%w#{64.chr}#{s}##{s*9}#{64.chr}.join))";h=25 +; w=80;px=2;py=h/2;vx=0.5;vy=-0.5;qx=w-3; +q y=h/2;ux=-0.5;uy=0.5;b=Array.new(h*w){| +i |y=i/w;x=i%w;(x==0||x==w-1||y==0||y==h- +1 )?2:(w/2(x,y,vx,vy,c){sx=v +x ;sy=vy;8.times{|i|t=i*Math::PI/4;cos=Ma +t h.cos(t);sin=Math.sin(t);nx=x+cos/2;ny= +y +sin/2;k=ny.to_i*w+nx.to_i;if(0<=nx&&nx +< w&&0<=ny&&ny(x,y,vx,vy){[(x+vx<0||w<=x+ +v x )?-vx:vx,(y+vy<0||h<=y+vy)?-vy:vy]};j=0 +; loop{j+=1;(vx,vy=f[px,py,vx,vy,0]); (vx +, vy=g[px,py,vx,vy]);px+=vx;py+=vy;(ux,uy += f[qx,qy,ux,uy,1]);(ux,uy=g[qx,qy,ux,uy] +) ;qx+=ux;qy+=uy;q&&((q=w-8)?"#{ +6 4.chr}.join))"[8+x-w]:c[y*w+x]?[z[i],i+ += 1][0]:32.chr)};puts;};sleep(0.05);}#q=$ +* [0]&.to_i;z="eval(s=(%w#{64.chr}#{s}##{ +s*9}#{64.chr}.join))";h=25;w=80;px=2;py=h/2;vx=0.5;vy=-0.5;qx=w-3;qy=h/2@.join)) -- cgit v1.2.3-70-g09d2