void setup(){ size(500,500); smooth(); background(255); frameRate(60); PFont font; font = loadFont("Courier-16.vlw"); textFont(font); } void board(){ fill(0); line(10,460,490,460); text('0',5,480); text('1',37,480); text('f',485,480); text('0',5,480); text('1',37,480); text('2',69,480); text('3',101,480); text('4',133,480); text('5',165,480); text('6',197,480); text('7',229,480); text('8',261,480); text('9',293,480); text('a',325,480); text('b',357,480); text('c',389,480); text('d',421,480); text('e',453,480); text('f',485,480); text("00",0,460); text("00",16,444); text("00",32,428); text("00",48,412); text("00",64,396); text("00",80,380); text("00",96,364); text("00",112,348); text("00",128,332); text("00",144,316); text("00",160,300); text("00",176,284); text("00",192,268); text("00",208,252); text("00",224,236); text("00",240,220); text("01",32,460); text("02",48,444); text("03",64,428); text("04",80,412); text("05",96,396); text("06",112,380); text("07",128,364); text("08",144,348); text("09",160,332); text("0a",176,316); text("0b",192,300); text("0c",208,284); text("0d",224,268); text("0e",240,252); text("0f",256,236); text("04",64,460); text("06",80,444); text("08",96,428); text("0a",112,412); text("0c",128,396); text("0e",144,380); text("10",160,364); text("12",176,348); text("14",192,332); text("16",208,316); text("18",224,300); text("1a",240,284); text("1c",256,268); text("1e",272,252); text("09",96,460); text("0c",112,444); text("0f",128,428); text("12",144,412); text("15",160,396); text("18",176,380); text("1b",192,364); text("1e",208,348); text("21",224,332); text("24",240,316); text("27",256,300); text("2a",272,284); text("2d",288,268); text("10",128,460); text("14",144,444); text("18",160,428); text("1c",176,412); text("20",192,396); text("24",208,380); text("28",224,364); text("2c",240,348); text("30",256,332); text("34",272,316); text("38",288,300); text("3c",304,284); text("19",160,460); text("1e",176,444); text("23",192,428); text("28",208,412); text("2d",224,396); text("32",240,380); text("37",256,364); text("3c",272,348); text("41",288,332); text("46",304,316); text("4b",320,300); text("24",192,460); text("2a",208,444); text("30",224,428); text("36",240,412); text("3c",256,396); text("42",272,380); text("48",288,364); text("4e",304,348); text("54",320,332); text("5a",336,316); text("31",224,460); text("38",240,444); text("3f",256,428); text("46",272,412); text("4d",288,396); text("54",304,380); text("5b",320,364); text("62",336,348); text("69",352,332); text("40",256,460); text("48",272,444); text("50",288,428); text("58",304,412); text("60",320,396); text("68",336,380); text("70",352,364); text("78",368,348); text("51",288,460); text("5a",304,444); text("63",320,428); text("6c",336,412); text("75",352,396); text("7e",368,380); text("87",384,364); text("64",320,460); text("6e",336,444); text("78",352,428); text("82",368,412); text("8c",384,396); text("96",400,380); text("79",352,460); text("84",368,444); text("8f",384,428); text("9a",400,412); text("a5",416,396); text("90",384,460); text("9c",400,444); text("a8",416,428); text("b4",432,412); text("a9",416,460); text("b6",432,444); text("c3",448,428); text("c4",448,460); text("d2",464,444); text("e1",480,460); } float x0=106; float x1=394; float y=460; float l=320; float m=160; void monkey(){ float x2=(x0+x1)/2; float dx=x2-x1; float dy=sqrt(l*l-dx*dx); float y2=y-dy; float x3=(x0+x2)/2; float y3=(y2+y)/2; float x4=x3-(m/l)*dy; float y4=y3+(m/l)*dx; float x5=x2*2-x4; float y6=y4*2-y2; println(x0+" "+x4+" "+x2+" "+x5+" "+x1); println(y2+" "+y3+" "+y4+" "+y6); fill(0); line(x0,y,x4,y4); line(x4,y4,x2,y2); line(x2,y2,x5,y4); line(x5,y4,x1,y); line(x4,y4,x2,y6); line(x2,y6,x5,y4); fill(255,0,0); rect(x2-2,y6-2,4,4); fill(0); } void draw(){ fill(255); rect(0,0,500,500); board(); fill(0); rect(x0-2,y-2,4,4); rect(x1-2,y-2,4,4); monkey(); noLoop(); } void mouseDragged(){loop(); if(abs(mouseX-x0)