class muscle { boolean useMuscle=false; float curLength; float defLength; float minLength; float relaxRate=.2; float contractRate=.5; boolean relax=true; boolean relaxed=true; boolean contracting=false; muscle(float l) { curLength=defLength=l; minLength=defLength*.2; // minLength=constrain(minLength,8,100); } void update() { if(contracting&&!relax) { relaxed=false; curLength-=contractRate; if(curLengthdefLength) { curLength=defLength; relaxed=true; } } } void contract() { // if(relaxed) // { contracting=true; relax=false; // } } }