Alfred

The MAD computer program, in turtle!
https://meatfighter.com/mad/

Created by mrspeaker on 2018/12/14
1836
2

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;
}