forked from gelstudios/gitfiti
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patheric.js
66 lines (51 loc) · 1.68 KB
/
eric.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
// Generated by CoffeeScript 1.6.2
(function() {
var canvas, color, ctx, dx, i, j, line, nx, ny, redraw, state, _i, _j, _ref,
_this = this;
dx = 20;
_ref = [52, 7], nx = _ref[0], ny = _ref[1];
canvas = document.getElementById('canvas');
canvas.width = nx * dx;
canvas.height = ny * dx;
state = [];
for (i = _i = 1; _i <= ny; i = _i += 1) {
line = [];
for (j = _j = 1; _j <= nx; j = _j += 1) {
line.push(0);
}
state.push(line);
}
ctx = canvas.getContext('2d');
color = ['rgb(255, 255, 255)', 'rgb(204, 255, 255)', 'rgb(153, 255, 255)', 'rgb(102, 255, 255)', 'rgb(51, 255, 255)', 'rgb(0, 255, 255)'];
redraw = function() {
var _k, _ref1, _results;
_results = [];
for (i = _k = 0, _ref1 = ny - 1; _k <= _ref1; i = _k += 1) {
_results.push((function() {
var _l, _ref2, _results1;
_results1 = [];
for (j = _l = 0, _ref2 = nx - 1; _l <= _ref2; j = _l += 1) {
ctx.fillStyle = color[state[i][j]];
_results1.push(ctx.fillRect(j * dx, i * dx, dx, dx));
}
return _results1;
})());
}
return _results;
};
canvas.onmousemove = function(e) {
var x, y, _ref1, _ref2;
if (e.pageX || e.pageY) {
_ref1 = [e.pageX, e.pageY], x = _ref1[0], y = _ref1[1];
} else {
x = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
y = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
}
x -= canvas.offsetLeft;
y -= canvas.offsetTop;
_ref2 = [Math.floor(y / dx), Math.floor(x / dx)], i = _ref2[0], j = _ref2[1];
state[i][j] += 1;
state[i][j] %= 6;
return redraw();
};
}).call(this);