letavgLifespan=78.9;//changethisifyouwanttouseadifferentlifespanletmaxL=122letnum=0;//numberofsquares/weeksleti=0;//rowsletj=0;//colsletcnt=0;//colorcounterfunctionsetup(){c=0.9*min(windowWidth,windowHeight);//sizingcreateCanvas(c,c);background(240,240,230);me={'age':abs(float(prompt('How old are you (in years - use decimals)?')))}leterrcount=0;while(isNaN(me.age)){errcount++me={'age':abs(float(prompt('How old are you (in years - use decimals)?')))}if(errcount>3){return;}}me.weeks=int(me.age*52);noStroke()noLoop();}functiondraw(){if(me.age>maxL){text('You have exceeded the maximum expected lifespan.',50,c/2);}else{if(me.age>avgLifespan){len=floor(sqrt(maxL*52));d=(width-25)/len;while(num<=maxL*52){cnt++if(cnt<=me.weeks){fill(90,153,138);}elseif(cnt>=me.weeks&&num<=maxL*52){fill(200,200,170,255+me.weeks/20-(i+j)/17);//fadecertainty}rect(12.5+d*(i%len),5+d*j,d*0.7,d*0.7);i++if(i%len===0){j++}num++}}else{len=floor(sqrt(avgLifespan*52));d=(width-20)/len;while(num<=avgLifespan*52){cnt++if(cnt<=me.weeks){fill(70,113,138);}elseif(cnt>=me.weeks&&num<=avgLifespan*52){fill(250,250,250,255+me.weeks/20-(i+j)/15);//fadecertainty}rect(10+d*(i%len),10+d*j,d*0.7,d*0.7);i++if(i%len===0){j++}num++}}}}functionkeyPressed(){setup()draw()}