lots of new files
This commit is contained in:
9
eric/Cakefile
Normal file
9
eric/Cakefile
Normal file
@ -0,0 +1,9 @@
|
||||
spawn = (require 'child_process').spawn
|
||||
|
||||
to_stdio = (emitter) ->
|
||||
emitter.stdout.on 'data', (data) -> process.stdout.write data
|
||||
emitter.stderr.on 'data', (data) -> process.stderr.write data
|
||||
emitter
|
||||
|
||||
task 'build', 'Build game file', (options) ->
|
||||
to_stdio spawn 'coffee', ['--compile', 'eric.coffee']
|
43
eric/eric.coffee
Normal file
43
eric/eric.coffee
Normal file
@ -0,0 +1,43 @@
|
||||
dx = 20
|
||||
[nx, ny] = [30, 20]
|
||||
canvas = document.getElementById 'canvas'
|
||||
|
||||
canvas.width = nx*dx
|
||||
canvas.height = ny*dx
|
||||
|
||||
state = []
|
||||
for i in [1..ny] by 1
|
||||
line = []
|
||||
line.push 0 for j in [1..nx] by 1
|
||||
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 = () =>
|
||||
for i in [0..ny-1] by 1
|
||||
for j in [0..nx-1] by 1
|
||||
ctx.fillStyle = color[state[i][j]]
|
||||
ctx.fillRect j*dx, i*dx, dx, dx
|
||||
|
||||
canvas.onmousemove = (e) =>
|
||||
if (e.pageX || e.pageY)
|
||||
[x, y] = [e.pageX, e.pageY]
|
||||
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
|
||||
[i, j] = [Math.floor(y/dx), Math.floor(x/dx)]
|
||||
state[i][j] += 1
|
||||
state[i][j] %= 6
|
||||
redraw()
|
||||
|
66
eric/eric.js
Normal file
66
eric/eric.js
Normal file
@ -0,0 +1,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);
|
14
eric/index.html
Normal file
14
eric/index.html
Normal file
@ -0,0 +1,14 @@
|
||||
<html>
|
||||
<head>
|
||||
<style type="text/css">
|
||||
body{
|
||||
margin: 0;
|
||||
padding: 0
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<canvas id="canvas">Your browser does no support canvas</canvas>
|
||||
<script src="eric.js"> </script>
|
||||
</body>
|
||||
</html>
|
Reference in New Issue
Block a user