-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.js
93 lines (80 loc) · 1.91 KB
/
script.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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
// Generated by CoffeeScript 1.6.3
(function() {
var Brick, addBrick, board, clearBoard, ctx, drawBoard, drawLL, drawLine, test;
ctx = $('#game')[0].getContext('2d');
Brick = (function() {
function Brick(x, y, color) {
this.x = x;
this.y = y;
this.color = color;
}
return Brick;
})();
board = [];
drawBoard = function() {
var brick, _i, _len, _results;
_results = [];
for (_i = 0, _len = board.length; _i < _len; _i++) {
brick = board[_i];
ctx.fillStyle = brick.color;
_results.push(ctx.fillRect((brick.x - 1) * 40 + 2, (brick.y - 1) * 40 + 2, 38, 38));
}
return _results;
};
addBrick = function(x, y, color) {
return board.push(new Brick(x, y, color));
};
drawLine = function(x, y, rot) {
var c, i, _i, _j;
c = "#48f";
if (!(rot % 2)) {
for (i = _i = -1; _i <= 2; i = ++_i) {
addBrick(x + i, y, c);
}
} else {
for (i = _j = -1; _j <= 2; i = ++_j) {
addBrick(x, y + i, c);
}
}
return drawBoard();
};
drawLL = function(x, y, rot) {
var c, i, _i;
for (i = _i = -1; _i <= 2; i = ++_i) {
if (i < 2) {
c = "#00f";
if (rot % 2) {
addBrick(x, y + i, c);
} else {
addBrick(x + i, y, c);
}
} else {
c = "#f00";
if (rot % 2 === 0) {
addBrick(x + i - (rot % 4 + 1), y + ((rot % 4) * 1 - 1), c);
} else {
addBrick(x + ((rot % 4) * -1 + 2), y + i - (rot % 4 + 0), c);
}
}
}
return drawBoard();
};
clearBoard = function() {
board = [];
return ctx.clearRect(0, 0, 400, 800);
};
test = function(f) {
var pos, rot;
pos = 2;
rot = 0;
return setInterval(function() {
clearBoard();
f(5, pos, rot);
rot += 1;
if (pos === 20) {
return pos = 2;
}
}, 500);
};
test(drawLL);
}).call(this);