Added ME73 cells.
1.1 --- a/factory/create_page Fri Jan 06 00:02:26 2012 +0100
1.2 +++ b/factory/create_page Fri Jan 06 01:23:40 2012 +0100
1.3 @@ -5,7 +5,7 @@
1.4 from optparse import OptionParser
1.5
1.6 content_dir = "v2012"
1.7 -content_files = ("index.html", "resume.html", "howiwork.html", "personalwork.html", "books.html", "links.html", "experiments.html", "linksend.html", "gameoflife.html", "mandelbrot.html")
1.8 +content_files = ("index.html", "resume.html", "howiwork.html", "personalwork.html", "books.html", "links.html", "linksend.html", "gameoflife.html", "mandelbrot.html")
1.9
1.10 def create_page(frame_filename, content_filename, output_filename):
1.11 frame_file = open(frame_filename, "r")
2.1 --- a/factory/v2012/script.js Fri Jan 06 00:02:26 2012 +0100
2.2 +++ b/factory/v2012/script.js Fri Jan 06 01:23:40 2012 +0100
2.3 @@ -5,7 +5,7 @@
2.4
2.5 $(document).ready(function() {
2.6 simulation = new Simulation(document.getElementById("sim"),
2.7 - 670, 50, 4, green, background);
2.8 + 670, 50, 8, green, background);
2.9 var image = new Image();
2.10 image.onload = init_logo;
2.11 image.src = "images/logobase.png";
2.12 @@ -36,10 +36,10 @@
2.13 window.onEachFrame(update);
2.14 var pos = document.location.href.lastIndexOf("/") + 1;
2.15 var page = document.location.href.substr(pos);
2.16 - if (page == "experiments.html") {
2.17 + if (page == "mandelbrot.html") {
2.18 draw(0, 0, 0, 0, 0);
2.19 } else if (page == "gameoflife.html") {
2.20 - init_gameoflife();
2.21 + init_gameoflife("text");
2.22 }
2.23 });
2.24
2.25 @@ -296,15 +296,66 @@
2.26 context.putImageData(image, 0, 0);
2.27 }
2.28
2.29 -function init_gameoflife() {
2.30 +var char_map = new Array();
2.31 +char_map["A"] = new Array(new Array(0, 4), new Array(1, 3),
2.32 + new Array(2, 2), new Array(3, 1),
2.33 + new Array(4, 0), new Array(5, 1),
2.34 + new Array(6, 2), new Array(7, 3),
2.35 + new Array(8, 4), new Array(2, 3),
2.36 + new Array(3, 3), new Array(4, 3),
2.37 + new Array(5, 3), new Array(6, 3));
2.38 +char_map["M"] = new Array(new Array(0, 4), new Array(0, 3),
2.39 + new Array(0, 2), new Array(0, 1),
2.40 + new Array(0, 0), new Array(0, 5),
2.41 + new Array(5, 4), new Array(5, 3),
2.42 + new Array(5, 2), new Array(5, 1),
2.43 + new Array(5, 0), new Array(5, 5),
2.44 + new Array(1, 1), new Array(2, 2),
2.45 + new Array(4, 2), new Array(5, 1),
2.46 + new Array(3, 3));
2.47 +char_map["E"] = new Array(new Array(0, 4), new Array(0, 3),
2.48 + new Array(0, 2), new Array(0, 1),
2.49 + new Array(0, 0), new Array(0, 5),
2.50 + new Array(1, 0), new Array(2, 0),
2.51 + new Array(3, 0),
2.52 + new Array(1, 3), new Array(2, 3),
2.53 + new Array(1, 5), new Array(2, 5),
2.54 + new Array(3, 5))
2.55 +char_map["7"] = new Array(new Array(0, 0), new Array(1, 0),
2.56 + new Array(2, 0),
2.57 + new Array(0, 5), new Array(0, 4),
2.58 + new Array(1, 3), new Array(2, 2));
2.59 +char_map["3"] = new Array(new Array(2, 4), new Array(2, 3),
2.60 + new Array(2, 2), new Array(2, 1),
2.61 + new Array(0, 0), new Array(0, 5),
2.62 + new Array(1, 0), new Array(2, 0),
2.63 + new Array(1, 3), new Array(2, 3),
2.64 + new Array(1, 5), new Array(2, 5))
2.65 +
2.66 +function init_gameoflife(text) {
2.67 var canvas = document.getElementById("gameoflife");
2.68 + var cell_size = 16;
2.69 if (canvas) {
2.70 - gameoflife = new Simulation(canvas, 670, 670, 16,
2.71 + gameoflife = new Simulation(canvas, 670, 670, cell_size,
2.72 green, black);
2.73 $("#gameoflife").mousemove(function(event) {
2.74 gameoflife.mouse_moved(mouse_pos(event, "#gameoflife"));
2.75 - });
2.76 - }
2.77 + });
2.78 + text = "ME73";
2.79 + var offset = new Array(13, 17);
2.80 + for (var c in text) {
2.81 + var w = 0;
2.82 + for (p in char_map[text[c]]) {
2.83 + var x = char_map[text[c]][p][0];
2.84 + var y = char_map[text[c]][p][1];
2.85 + w = Math.max(w, x);
2.86 + var pos = new Array((x + offset[0]) * cell_size,
2.87 + (y + offset[1]) * cell_size);
2.88 + gameoflife.activate_cell(pos);
2.89 + }
2.90 + offset[0] += w + 2;
2.91 + }
2.92 + }
2.93 }
2.94
2.95 function Colour(r, g, b, a) {
2.96 @@ -638,7 +689,7 @@
2.97 }
2.98
2.99 function Simulation(canvas, w, h, cell_size, life_colour, dead_colour) {
2.100 - this.last_update = 0;
2.101 + this.last_update = $.now() + 3000;
2.102 this.last_draw = 0;
2.103 this.last_mouse_moved = 0;
2.104 this.redraw = new Array();
2.105 @@ -668,7 +719,7 @@
2.106 }
2.107 Simulation.prototype.update = function() {
2.108 var now = $.now();
2.109 - if (this.pos_queue.length) {
2.110 + while (this.pos_queue.length) {
2.111 var pos = this.pos_queue.pop();
2.112 if (pos[0] < this.canvas.width
2.113 && pos[1] < this.canvas.height) {
2.114 @@ -708,10 +759,13 @@
2.115 this.cell_queue = next_cell_queue;
2.116 this.last_update = now;
2.117 }
2.118 +Simulation.prototype.activate_cell = function(pos) {
2.119 + this.pos_queue.push(pos);
2.120 +}
2.121 Simulation.prototype.mouse_moved = function(pos) {
2.122 var now = $.now();
2.123 - if (this.last_mouse_moved + 50 < now) {
2.124 - this.pos_queue.push(pos);
2.125 + if (this.last_mouse_moved + 50 < now) {
2.126 + this.pos_queue.push(pos);
2.127 this.last_mouse_moved = now;
2.128 }
2.129 }
3.1 --- a/script.js Fri Jan 06 00:02:26 2012 +0100
3.2 +++ b/script.js Fri Jan 06 01:23:40 2012 +0100
3.3 @@ -5,7 +5,7 @@
3.4
3.5 $(document).ready(function() {
3.6 simulation = new Simulation(document.getElementById("sim"),
3.7 - 670, 50, 4, green, background);
3.8 + 670, 50, 8, green, background);
3.9 var image = new Image();
3.10 image.onload = init_logo;
3.11 image.src = "images/logobase.png";
3.12 @@ -36,10 +36,10 @@
3.13 window.onEachFrame(update);
3.14 var pos = document.location.href.lastIndexOf("/") + 1;
3.15 var page = document.location.href.substr(pos);
3.16 - if (page == "experiments.html") {
3.17 + if (page == "mandelbrot.html") {
3.18 draw(0, 0, 0, 0, 0);
3.19 } else if (page == "gameoflife.html") {
3.20 - init_gameoflife();
3.21 + init_gameoflife("text");
3.22 }
3.23 });
3.24
3.25 @@ -296,15 +296,66 @@
3.26 context.putImageData(image, 0, 0);
3.27 }
3.28
3.29 -function init_gameoflife() {
3.30 +var char_map = new Array();
3.31 +char_map["A"] = new Array(new Array(0, 4), new Array(1, 3),
3.32 + new Array(2, 2), new Array(3, 1),
3.33 + new Array(4, 0), new Array(5, 1),
3.34 + new Array(6, 2), new Array(7, 3),
3.35 + new Array(8, 4), new Array(2, 3),
3.36 + new Array(3, 3), new Array(4, 3),
3.37 + new Array(5, 3), new Array(6, 3));
3.38 +char_map["M"] = new Array(new Array(0, 4), new Array(0, 3),
3.39 + new Array(0, 2), new Array(0, 1),
3.40 + new Array(0, 0), new Array(0, 5),
3.41 + new Array(5, 4), new Array(5, 3),
3.42 + new Array(5, 2), new Array(5, 1),
3.43 + new Array(5, 0), new Array(5, 5),
3.44 + new Array(1, 1), new Array(2, 2),
3.45 + new Array(4, 2), new Array(5, 1),
3.46 + new Array(3, 3));
3.47 +char_map["E"] = new Array(new Array(0, 4), new Array(0, 3),
3.48 + new Array(0, 2), new Array(0, 1),
3.49 + new Array(0, 0), new Array(0, 5),
3.50 + new Array(1, 0), new Array(2, 0),
3.51 + new Array(3, 0),
3.52 + new Array(1, 3), new Array(2, 3),
3.53 + new Array(1, 5), new Array(2, 5),
3.54 + new Array(3, 5))
3.55 +char_map["7"] = new Array(new Array(0, 0), new Array(1, 0),
3.56 + new Array(2, 0),
3.57 + new Array(0, 5), new Array(0, 4),
3.58 + new Array(1, 3), new Array(2, 2));
3.59 +char_map["3"] = new Array(new Array(2, 4), new Array(2, 3),
3.60 + new Array(2, 2), new Array(2, 1),
3.61 + new Array(0, 0), new Array(0, 5),
3.62 + new Array(1, 0), new Array(2, 0),
3.63 + new Array(1, 3), new Array(2, 3),
3.64 + new Array(1, 5), new Array(2, 5))
3.65 +
3.66 +function init_gameoflife(text) {
3.67 var canvas = document.getElementById("gameoflife");
3.68 + var cell_size = 16;
3.69 if (canvas) {
3.70 - gameoflife = new Simulation(canvas, 670, 670, 16,
3.71 + gameoflife = new Simulation(canvas, 670, 670, cell_size,
3.72 green, black);
3.73 $("#gameoflife").mousemove(function(event) {
3.74 gameoflife.mouse_moved(mouse_pos(event, "#gameoflife"));
3.75 - });
3.76 - }
3.77 + });
3.78 + text = "ME73";
3.79 + var offset = new Array(13, 17);
3.80 + for (var c in text) {
3.81 + var w = 0;
3.82 + for (p in char_map[text[c]]) {
3.83 + var x = char_map[text[c]][p][0];
3.84 + var y = char_map[text[c]][p][1];
3.85 + w = Math.max(w, x);
3.86 + var pos = new Array((x + offset[0]) * cell_size,
3.87 + (y + offset[1]) * cell_size);
3.88 + gameoflife.activate_cell(pos);
3.89 + }
3.90 + offset[0] += w + 2;
3.91 + }
3.92 + }
3.93 }
3.94
3.95 function Colour(r, g, b, a) {
3.96 @@ -638,7 +689,7 @@
3.97 }
3.98
3.99 function Simulation(canvas, w, h, cell_size, life_colour, dead_colour) {
3.100 - this.last_update = 0;
3.101 + this.last_update = $.now() + 3000;
3.102 this.last_draw = 0;
3.103 this.last_mouse_moved = 0;
3.104 this.redraw = new Array();
3.105 @@ -668,7 +719,7 @@
3.106 }
3.107 Simulation.prototype.update = function() {
3.108 var now = $.now();
3.109 - if (this.pos_queue.length) {
3.110 + while (this.pos_queue.length) {
3.111 var pos = this.pos_queue.pop();
3.112 if (pos[0] < this.canvas.width
3.113 && pos[1] < this.canvas.height) {
3.114 @@ -708,10 +759,13 @@
3.115 this.cell_queue = next_cell_queue;
3.116 this.last_update = now;
3.117 }
3.118 +Simulation.prototype.activate_cell = function(pos) {
3.119 + this.pos_queue.push(pos);
3.120 +}
3.121 Simulation.prototype.mouse_moved = function(pos) {
3.122 var now = $.now();
3.123 - if (this.last_mouse_moved + 50 < now) {
3.124 - this.pos_queue.push(pos);
3.125 + if (this.last_mouse_moved + 50 < now) {
3.126 + this.pos_queue.push(pos);
3.127 this.last_mouse_moved = now;
3.128 }
3.129 }