function step(){ x += velx y += vely velx += (velx>0) ? -1 : (velx<0) ? 1 : 0 vely -= 1 } function insidearea(){ return x>=xmin && x<=xmax && y>=ymin && y<=ymax } function outofbounds(){ return ylocalmaxy) localmaxy = y } if(insidearea()){ print "arrived" count++ if(tvelxmaxxa) maxxa = tvelx if(tvely>maxya) maxya = tvely if(localmaxy>maxy){ maxy = localmaxy maxyvelx = tvelx maxyvely = tvely # print "new max", maxy, maxyvelx, maxyvely } print tvelx, tvely, localmaxy, maxy } } } print "part 1:", maxy, maxyvelx, maxyvely print "part 2:", count print minxa, minya, maxxa, maxya }