The MAD computer program, in turtle!
meatfighter.com/mad/
Log in to post a comment.
Canvas.setpenopacity(1);
const turtle = new Turtle();
turtle.penup();
turtle.goto(-50,-20);
turtle.pendown();
const lines = [
[-27, -11, -23, -6],
[-28, -13, -22, -6],
[-20, -5, -12, -5],
[-27, -14, -26, -13],
[-38, -29, -42, -28],
[-40, -28, -50, -16],
[-8, 13, 0, 13],
[-29, 4, -29, 9],
[-50, -17, -41, -28],
[-49, -17, -50, -8],
[-8, 12, 0, 12],
[-28, 5, -28, 13],
[-50, -15, -49, -10],
[40, -26, 42, -17],
[-4, 9, -21, 14],
[5, 48, 2, 44],
[-53, -39, -45, -48],
[-55, -23, -55, -28],
[-61, -23, -58, -22],
[-42, -39, -43, -39],
[36, -52, 36, -55],
[-37, -48, -32, -56],
[-32, -56, -26, -60],
[9, -74, 33, -55],
[6, -12, 12, -11],
[14, -8, 24, -11],
[6, -13, 10, -11],
[20, -9, 10, -8],
[-23, -15, -24, -19],
[-26, -18, -22, -15],
[-25, -18, -22, -19],
[-23, -18, -21, -16],
[-49, 2, -43, 10],
[38, -11, 43, -15],
[7, 14, 7, 9],
[-9, 13, -6, 8],
[-5, -33, -4, -33],
[-6, -36, -6, -36],
[-5, -32, -5, -32],
[-7, -29, -7, -29],
[-39, -32, -38, -41],
[-62, -25, -54, -39],
[-50, -29, -50, -35],
[-54, -33, -57, -24],
[-38, -34, -39, -39],
[-51, -19, -60, -22],
[-57, -25, -50, -24],
[-48, -25, -46, -38],
[-42, -24, -42, -19],
[41, -26, 43, -14],
[-3, 7, -19, 14],
[8, 48, 4, 42],
[27, -38, 31, -47],
[-29, -42, -16, -37],
[-11, -51, 10, -48],
[26, -38, 24, -47],
[-4, -73, 14, -71],
[-3, -74, 5, -74],
[5, -73, 12, -72],
[8, -72, 35, -57],
[-2, -48, 5, -54],
[-15, -36, -20, -42],
[17, -34, 32, -45],
[-6, -53, 6, -48],
[40, -51, 38, -43],
[39, -45, 38, -50],
[38, -46, 37, -53],
[37, -47, 37, -46],
[15, -25, 18, -24],
[23, -18, 23, -20],
[12, -19, 19, -18],
[8, -50, 20, -49],
[-12, -53, -3, -62],
[-5, -49, 14, -49],
[4, -62, 16, -53],
[-41, -19, -41, -27],
[44, -14, 43, -20],
[-22, 13, -22, 14],
[8, 46, 2, 42],
[-40, -23, -39, -28],
[42, -26, 50, -19],
[-23, 14, -24, 5],
[3, 41, 2, 48],
[-51, -42, -39, -49],
[-47, -26, -49, -36],
[-53, -18, -59, -21],
[-45, -28, -53, -23],
[-40, -19, -37, -7],
[50, -18, 50, -13],
[-25, 5, -26, 14],
[1, 41, 9, 40],
[-22, -9, -19, -6],
[-21, -9, -18, -6],
[-21, -6, -11, -9],
[-19, -8, -16, -8],
[-57, -26, -57, -28],
[-37, -41, -37, -37],
[-59, -31, -50, -40],
[-39, -36, -36, -40],
[-5, -28, -6, -30],
[-6, -28, -7, -30],
[6, -28, 5, -30],
[6, -29, 6, -31],
[6, -37, 9, -36],
[-12, -38, -2, -39],
[-6, -33, -2, -35],
[-13, -35, -8, -39],
[-20, -18, -17, -17],
[-14, -18, -15, -17],
[-17, -18, -16, -18],
[-20, -17, -14, -17],
[-39, -17, -35, -6],
[51, -14, 48, -12],
[-24, 8, -23, 13],
[-36, -6, -36, -1],
[41, -14, 40, -9],
[-23, 8, -24, 11],
[14, 39, 19, 40],
[-26, 34, -32, 37],
[-32, 37, -29, 32],
[-29, 32, -30, 36],
[-29, 32, -39, 34],
[-35, -5, -35, -1],
[40, -13, 41, -12],
[-26, 7, -27, 14],
[21, 39, 11, 38],
[-61, -29, -56, -37],
[-47, -35, -42, -36],
[-49, -39, -45, -42],
[-61, -24, -59, -35],
[60, -24, 55, -20],
[60, -23, 61, -32],
[61, -29, 61, -24],
[60, -29, 59, -33],
[17, -53, 5, -62],
[6, -48, 17, -50],
[8, -48, 2, -54],
[-28, -41, -18, -48],
[-14, -52, -4, -62],
[-5, -51, 9, -51],
[-27, -43, -28, -47],
[-5, -62, 8, -59],
[-46, 14, -42, 18],
[-45, 25, -45, 15],
[-42, 18, -42, 11],
[-43, 11, -51, 0],
[15, -19, 18, -16],
[14, -16, 18, -19],
[7, -18, 8, -16],
[8, -17, 11, -16],
[39, -42, 38, -37],
[39, -40, 40, -32],
[41, -33, 40, -39],
[39, -34, 39, -36],
[42, -40, 43, -42],
[44, -42, 45, -32],
[46, -36, 45, -41],
[42, -38, 43, -41],
[48, -11, 47, 7],
[41, -14, 40, -9],
[15, 37, 15, 36],
[17, 36, 19, 36],
[-49, -28, -48, -37],
[-61, -32, -62, -27],
[-55, -35, -43, -49],
[-46, -34, -42, -35],
[-14, -65, -6, -71],
[14, -68, 32, -57],
[18, -65, 20, -63],
[14, -70, 23, -65],
[31, -41, 32, -43],
[3, -42, 4, -43],
[-22, -43, -23, -42],
[-9, -52, -9, -52],
[30, -40, 29, -45],
[14, -50, 21, -48],
[-27, -46, -25, -46],
[-26, -47, -27, -47],
[-10, -10, -11, -15],
[-9, -11, -10, -15],
[-10, -13, -8, -13],
[-11, -11, -8, -12],
[21, -38, 29, -44],
[-7, -48, -3, -48],
[-27, -45, -21, -47],
[-12, -55, -6, -61],
[48, 6, 49, -11],
[39, -10, 41, -5],
[18, 35, 22, 35],
[19, 34, 23, 34],
[51, -3, 45, 8],
[40, -5, 38, -11],
[23, 35, 43, 17],
[45, 17, 27, 33],
[46, -40, 46, -36],
[43, -38, 43, -39],
[46, -30, 52, -33],
[47, -30, 52, -32],
[57, -32, 57, -27],
[44, -25, 49, -21],
[7, -13, 9, -8],
[10, -8, 8, -12],
[23, -9, 12, -7],
[11, -9, 24, -10],
[57, -25, 53, -24],
[52, -25, 56, -24],
[56, -32, 55, -26],
[56, -27, 56, -29],
[52, -24, 57, -26],
[-13, -13, -26, -17],
[-12, -16, -10, -18],
[-15, -14, -11, -18],
[-21, -14, -17, -14],
[18, -20, 21, -17],
[12, -16, 16, -19],
[8, -20, 10, -19],
[13, -23, 19, -23],
[-22, -22, -13, -21],
[-16, -22, -21, -23],
[-21, -21, -19, -23],
[-20, -21, -18, -21],
[47, 4, 49, -3],
[41, -4, 37, 2],
[46, 16, 41, 16],
[41, 16, 47, 9],
[37, 4, 41, -2],
[-49, -9, -48, -4],
[43, 11, 45, 9],
[-2, 11, 1, 11],
[-47, -4, -48, -9],
[-48, -3, -49, -1],
[2, 11, 8, 8],
[4, 11, 9, 9],
[46, -32, 48, -28],
[49, -38, 49, -35],
[50, -37, 51, -25],
[51, -37, 52, -30],
[-56, -23, -57, -29],
[-60, -24, -60, -33],
[-54, -23, -46, -29],
[-46, -40, -44, -42],
[-44, -34, -45, -38],
[-44, -37, -42, -37],
[-44, -38, -42, -38],
[-48, -46, -42, -49],
[21, -16, 10, -18],
[22, -17, 19, -25],
[20, -24, 22, -19],
[10, -23, 18, -25],
[-41, 33, -35, 34],
[-41, 32, -38, 32],
[-38, 31, -42, 31],
[-42, 32, -45, 30],
[-3, -36, -12, -37],
[7, -35, 7, -35],
[-3, -37, -8, -36],
[-8, -38, -4, -38],
[8, -18, 9, -16],
[-35, -45, -29, -58],
[-36, -46, -35, -53],
[-38, -48, -26, -57],
[-35, -48, -30, -58],
[-34, -52, -25, -59],
[-32, -55, -25, -60],
[-34, -49, -14, -68],
[-36, -51, -22, -61],
[-49, -3, -46, 5],
[10, 9, 4, 15],
[3, 15, 6, 10],
[6, 11, 6, 14],
[47, -22, 52, -21],
[48, -21, 56, -20],
[55, -21, 48, -21],
[56, -20, 59, -22],
[24, -64, 32, -60],
[30, -59, 34, -57],
[33, -59, 35, -52],
[35, -56, 36, -49],
[61, -32, 42, -51],
[43, -51, 51, -41],
[50, -41, 45, -46],
[58, -37, 54, -41],
[-39, 30, -45, 23],
[-38, 30, -46, 21],
[-46, 24, -47, 11],
[-46, 12, -42, 27],
[7, -29, 6, -31],
[13, -35, 13, -35],
[4, -37, 8, -35],
[5, -36, 8, -37],
[-16, -49, -8, -50],
[9, -53, 9, -49],
[20, -37, 29, -39],
[-17, -39, -24, -41],
[21, -36, 32, -44],
[-2, -62, 5, -61],
[9, -58, 16, -53],
[-26, -44, -22, -46],
[-51, 1, -43, 12],
[7, 14, 15, 13],
[13, 11, 17, 8],
[20, 10, 27, 4],
[-42, 11, -49, 2],
[8, 13, 19, 12],
[19, 11, 10, 12],
[22, 9, 27, 5],
[-24, -56, -22, -59],
[-23, -58, -4, -74],
[-23, -56, -15, -67],
[-21, -57, -8, -72],
[-7, -73, -12, -69],
[-12, -68, -4, -71],
[-21, -58, -13, -68],
[-10, -71, 8, -74],
[12, -32, 14, -35],
[13, -32, 12, -37],
[14, -34, 13, -37],
[11, -37, 14, -36],
[-17, -6, -10, -8],
[-13, -9, -10, -6],
[-10, -7, -11, -6],
[-12, -6, -15, -6],
[17, -35, 21, -39],
[7, -62, 14, -56],
[14, -51, -17, -48],
[4, -43, 4, -47],
[-11, -12, -12, -14],
[-12, -13, -9, -15],
[-20, -16, -15, -16],
[-17, -16, -15, -16],
[-11, -22, -12, -24],
[-9, -22, -12, -23],
[-9, -20, -11, -24],
[-8, -20, -9, -23],
[-34, -2, -33, 6],
[25, 7, 29, 7],
[30, 8, 30, 6],
[31, 8, 35, 9],
[-33, 3, -33, -1],
[33, 8, 36, 8],
[36, 7, 36, 2],
[35, 4, 35, 7],
[-32, 6, -31, 11],
[-30, 11, -29, 4],
[3, 48, -3, 41],
[-5, 41, 2, 48],
[-5, -59, -6, -62],
[12, -52, 21, -47],
[-2, -54, -2, -53],
[-4, -60, 3, -62],
[-44, -47, -41, -49],
[-54, -24, -56, -30],
[-36, -43, -37, -48],
[-47, -37, -49, -32],
[-40, -48, -45, -46],
[-38, -47, -35, -44],
[-58, -36, -51, -40],
[-58, -35, -48, -45],
[24, -42, 32, -42],
[-3, -61, -3, -61],
[-54, -19, -50, -18],
[-5, -72, 9, -72],
[10, -22, 10, -22],
[19, -22, 19, -22],
[13, -16, 13, -16],
[9, -19, 10, -20],
[-25, -42, -21, -41],
[2, -53, 4, -54],
[29, -40, 31, -46],
[26, -43, 22, -48],
[6, -10, 18, -6],
[14, -6, 21, -7],
[22, -8, 6, -11],
[1, -38, -14, -36],
[-13, -37, -11, -32],
[-14, -35, -12, -33],
[55, -37, 41, -51],
[46, -48, 61, -33],
[41, -49, 37, -48],
[-10, -21, -10, -24],
[-28, -14, -22, -7],
[-3, 43, -26, 35],
[-26, 35, -5, 41],
[-9, 39, -20, 36],
[-26, 34, -26, 37],
[-6, -58, 1, -60],
[-24, -43, -21, -42],
[3, -45, 3, -46],
[4, -52, 4, -53],
[72, 73, 72, 63],
[71, 74, 70, 78],
[71, 62, 70, 58],
[69, 57, 65, 53],
[70, 78, 65, 83],
[64, 83, 58, 86],
[64, 53, 55, 48],
[56, 49, 43, 49],
[47, 48, 55, 48],
[58, 86, 46, 86],
[42, 84, 46, 85],
[44, 50, 39, 52],
[42, 50, 39, 51],
[41, 85, 40, 85],
[39, 86, 33, 86],
[38, 51, 33, 48],
[35, 79, 35, 58],
[34, 79, 34, 58],
[34, 57, 32, 56],
[34, 80, 32, 79],
[32, 85, 30, 83],
[31, 83, 31, 80],
[30, 82, 30, 79],
[31, 55, 29, 55],
[33, 49, 23, 49],
[32, 48, 25, 48],
[24, 50, 22, 50],
[28, 55, 17, 78],
[18, 79, 20, 79],
[20, 80, 20, 84],
[21, 51, 18, 48],
[19, 50, 17, 48],
[16, 48, 14, 48],
[17, 49, 14, 49],
[19, 85, 11, 86],
[13, 48, 12, 53],
[12, 48, 11, 53],
[11, 54, 15, 57],
[15, 58, 14, 59],
[14, 59, -1, 59],
[14, 58, -2, 58],
[10, 85, 7, 83],
[6, 84, 1, 86],
[0, 86, -5, 85],
[-6, 84, -6, 80],
[-7, 83, -7, 79],
[-5, 79, -3, 79],
[-2, 78, -13, 56],
[-14, 56, -3, 78],
[-2, 59, -4, 57],
[-4, 56, -1, 54],
[0, 55, 1, 55],
[1, 54, 1, 50],
[0, 50, -1, 48],
[-2, 48, -7, 48],
[-2, 49, -6, 49],
[-6, 48, -9, 51],
[-7, 48, -10, 50],
[-11, 49, -17, 49],
[-12, 48, -16, 48],
[-17, 48, -21, 51],
[-18, 48, -22, 50],
[-15, 55, -16, 55],
[-17, 56, -22, 78],
[-21, 79, -19, 79],
[-19, 80, -19, 84],
[-23, 49, -30, 49],
[-24, 48, -30, 48],
[-31, 48, -31, 55],
[-32, 54, -32, 49],
[-30, 55, -28, 55],
[-20, 85, -25, 86],
[-26, 85, -29, 83],
[-28, 55, -32, 70],
[-28, 55, -31, 71],
[-28, 83, -33, 86],
[-34, 86, -37, 86],
[-32, 70, -41, 49],
[-38, 85, -40, 84],
[-40, 83, -40, 81],
[-41, 83, -41, 79],
[-40, 80, -37, 78],
[-37, 78, -41, 65],
[-42, 65, -38, 78],
[-43, 64, -48, 78],
[-47, 79, -45, 79],
[-45, 80, -45, 84],
[-46, 85, -51, 86],
[-42, 49, -47, 49],
[-42, 48, -48, 48],
[-48, 48, -56, 70],
[-48, 49, -56, 71],
[-56, 71, -60, 56],
[-52, 85, -54, 84],
[-55, 83, -59, 85],
[-60, 86, -64, 86],
[-59, 55, -58, 54],
[-57, 54, -55, 55],
[-55, 54, -55, 50],
[-56, 50, -57, 48],
[-57, 49, -61, 49],
[-58, 48, -60, 48],
[-61, 48, -64, 51],
[-62, 48, -65, 50],
[-65, 85, -67, 84],
[-67, 83, -67, 79],
[-68, 83, -68, 79],
[-66, 79, -64, 79],
[-63, 78, -68, 56],
[-69, 55, -64, 78],
[-66, 49, -72, 49],
[-68, 48, -73, 48],
[-69, 55, -73, 55],
[-73, 55, -73, 48],
[-74, 49, -74, 54],
[61, 71, 61, 65],
[60, 73, 60, 63],
[59, 73, 59, 72],
[60, 65, 58, 60],
[59, 61, 54, 56],
[59, 74, 55, 78],
[59, 75, 54, 80],
[54, 80, 48, 80],
[46, 79, 55, 79],
[54, 56, 48, 56],
[47, 57, 46, 57],
[47, 78, 46, 78],
[45, 78, 45, 58],
[7, 76, 11, 66],
[10, 66, 6, 76],
[9, 66, 1, 66],
[0, 66, 6, 75],
];
function walk(i) {
const yo = 9;
const line = lines[i];
turtle.penup();
turtle.goto(line[0], yo - line[1]);
turtle.pendown();
turtle.goto(line[2], yo - line[3])
return i < lines.length-1;
}