Difference between revisions of "User:Lerc/shapes"
From CodeStuff
| Line 1: | Line 1: | ||
<edcode> | <edcode> | ||
| + | |||
var m; | var m; | ||
var quarterTurn = Math.PI/2; | var quarterTurn = Math.PI/2; | ||
| Line 28: | Line 29: | ||
{x:0,y:-(base+height),dx:base,dy:height,angle:quarterTurn*1}, | {x:0,y:-(base+height),dx:base,dy:height,angle:quarterTurn*1}, | ||
{x:base+height,y:-(base+height),dx:base,dy:height,angle:quarterTurn*2}, | {x:base+height,y:-(base+height),dx:base,dy:height,angle:quarterTurn*2}, | ||
| − | {x:base+height,y:0,dx:base,dy:height,angle:quarterTurn*3} ] | + | {x:base+height,y:0,dx:base,dy:height,angle:quarterTurn*3} ], |
| + | |||
| + | [ {x:0,y:0,dx:base,dy:height,angle:quarterTurn*0}, | ||
| + | {x:0,y:-(base+height),dx:base,dy:height,angle:quarterTurn*1}, | ||
| + | {x:base+height,y:-(base+height),dx:base,dy:height,angle:quarterTurn*2}, | ||
| + | {x:base+height,y:0,dx:base,dy:height,angle:quarterTurn*3} ], | ||
| + | |||
| + | [ {x:0,y:0,dx:base,dy:height,angle:quarterTurn*0}, | ||
| + | {x:0,y:-(base+height),dx:base,dy:height,angle:quarterTurn*1}, | ||
| + | {x:base,y:-height,dx:base,dy:height,angle:quarterTurn*2}, | ||
| + | {x:base+height,y:0,dx:base,dy:height,angle:quarterTurn*3} ], | ||
| + | |||
| + | [ {x:0,y:0,dx:base,dy:height,angle:quarterTurn*0}, | ||
| + | {x:0,y:-(base+height),dx:base,dy:height,angle:quarterTurn*1}, | ||
| + | {x:base,y:-height,dx:base,dy:height,angle:quarterTurn*2}, | ||
| + | {x:base+height,y:-height,dx:base,dy:height,angle:quarterTurn*3} ], | ||
| + | |||
| + | [ {x:0,y:0,dx:base,dy:height,angle:quarterTurn*0}, | ||
| + | {x:0,y:-(base+height),dx:base,dy:height,angle:quarterTurn*1}, | ||
| + | {x:base,y:-height,dx:base,dy:height,angle:quarterTurn*2}, | ||
| + | {x:height,y:-height,dx:base,dy:height,angle:quarterTurn*3} ], | ||
| + | |||
| + | [ {x:0,y:0,dx:base,dy:height,angle:quarterTurn*0}, | ||
| + | {x:0,y:-(base+height),dx:base,dy:height,angle:quarterTurn*1}, | ||
| + | {x:base,y:-height,dx:base,dy:height,angle:quarterTurn*2}, | ||
| + | {x:height,y:-height,dx:base,dy:height,angle:quarterTurn*3} ], | ||
| + | |||
| + | [ {x:0,y:0,dx:base,dy:height,angle:quarterTurn*0}, | ||
| + | {x:0,y:-(base+height),dx:base,dy:height,angle:quarterTurn*1}, | ||
| + | {x:base,y:-height,dx:base,dy:height,angle:quarterTurn*2}, | ||
| + | {x:height,y:-height,dx:base,dy:height,angle:quarterTurn*3} ] | ||
]; | ]; | ||
| Line 53: | Line 84: | ||
function draw() { | function draw() { | ||
clear(); | clear(); | ||
| − | canvasTranslate( | + | canvasTranslate(400,200); |
setColour("rgba(255,255,0,0.5)"); | setColour("rgba(255,255,0,0.5)"); | ||
| + | |||
| + | var steps = 13; | ||
| − | var pongage = age% | + | var pongage = age%(steps*2); |
| − | if (pongage > | + | if (pongage > steps) pongage=(steps*2)-pongage; |
var a=Math.floor(pongage); | var a=Math.floor(pongage); | ||
var frac=pongage-a; | var frac=pongage-a; | ||
| + | if (frac<0) frac=0; | ||
var move = (frac<0.1) ? 0 : (frac-0.1)*1.11 ; | var move = (frac<0.1) ? 0 : (frac-0.1)*1.11 ; | ||
| Line 82: | Line 116: | ||
if (pongage>3) { | if (pongage>3) { | ||
| − | setColour("rgba(0,200,180,"+ | + | var shade= (pongage<4)?frac:1; |
| + | setColour("rgba(0,0,0,"+shade+")"); | ||
| + | drawRectangle(0,0,base+height,base+height); | ||
| + | drawRectangle(0,-(base+height),base+height,base+height); | ||
| + | canvasSave(); | ||
| + | var shade= (pongage<4)?frac:1; | ||
| + | setColour("rgba(0,200,180,"+shade+")"); | ||
| + | if (pongage>4) { | ||
| + | canvasTranslate(0,(pongage<5)?lerp(0,base+height):base+height); | ||
| + | } | ||
fillPolygon(base,0,0,-height,height,-(base+height),base+height,-(base)); | fillPolygon(base,0,0,-height,height,-(base+height),base+height,-(base)); | ||
setColour("Black"); | setColour("Black"); | ||
drawPolygon(base,0,0,-height,height,-(base+height),base+height,-(base)); | drawPolygon(base,0,0,-height,height,-(base+height),base+height,-(base)); | ||
| + | canvasRestore(); | ||
} | } | ||
| + | |||
| + | |||
| + | if (pongage>=8) { | ||
| + | var shade= (pongage<9?frac:1); | ||
| + | canvasSave(); | ||
| + | |||
| + | if (pongage>9) { | ||
| + | var shift=pongage<10?frac:1; | ||
| + | canvasTranslate(-440*shift,220*shift); | ||
| + | } | ||
| + | setColour("rgba(230,100,230,"+shade+")"); | ||
| + | fillRectangle(height,-(base+height),base,base); | ||
| + | setColour("Black"); | ||
| + | drawRectangle(height,-(base+height),base,base); | ||
| + | |||
| + | if (pongage > 11) { | ||
| + | var s2= (pongage<12?frac:1); | ||
| + | setColour("rgba(255,255,100,"+s2+")"); | ||
| + | fillPolygon(height,-(base+height), (base+height),-(base+height), (base+height), -(base+height*2)); | ||
| + | |||
| + | setColour("rgba(0,0,0,"+s2+")"); | ||
| + | drawPolygon(height,-(base+height), (base+height),-(base+height), (base+height), -(base+height*2)); | ||
| + | } | ||
| + | canvasRestore(); | ||
| + | |||
| + | canvasSave(); | ||
| + | |||
| + | if (pongage>9) { | ||
| + | var shift=pongage<10?frac:1; | ||
| + | canvasTranslate(-255*shift,140*shift); | ||
| + | } | ||
| + | |||
| + | setColour("rgba(230,180,100,"+shade+")"); | ||
| + | fillRectangle(base,-(height),height,height); | ||
| + | setColour("Black"); | ||
| + | drawRectangle(base,-(height),height,height); | ||
| + | |||
| + | if (pongage > 11) { | ||
| + | var s2= (pongage<12?frac:1); | ||
| + | setColour("rgba(255,255,100,"+s2+")"); | ||
| + | fillPolygon(base,-height, base+height, -height, (base+height), -(base+height)); | ||
| + | |||
| + | setColour("rgba(0,0,0,"+s2+")"); | ||
| + | drawPolygon(base,-height, base+height, -height, (base+height), -(base+height)); | ||
| + | } | ||
| + | |||
| + | canvasRestore(); | ||
| + | |||
| + | if (pongage > 9) { | ||
| + | var shade= (pongage<10?frac:1); | ||
| + | setColour("rgba(0,0,0,"+shade+")"); | ||
| + | |||
| + | fillRectangle(-255,85,50,20); | ||
| + | fillRectangle(-240,70,20,50); | ||
| + | |||
| + | fillRectangle(-75,70,50,20); | ||
| + | fillRectangle(-75,100,50,20); | ||
| + | } | ||
| + | } | ||
| + | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
setColour("black"); | setColour("black"); | ||
| − | |||
} | } | ||
run(move,draw); | run(move,draw); | ||
</edcode> | </edcode> | ||