diff --git a/entities.js b/entities.js
index 5729739..e4f0f8c 100644
--- a/entities.js
+++ b/entities.js
@@ -15,11 +15,20 @@ var Clock = function(sides) {
}
this.addBlock = function(block) {
- this.blocks[this.position].push(block);
+ var lane = 0;
+ lane += this.position + block.lane;
+ lane = lane % this.sides;
+ while(lane < 0) {
+ lane = lane + this.sides;
+ }
+ this.blocks[lane].push(block);
}
this.rotate = function(steps) {
this.position += steps;
- this.position = Math.abs(((this.position%sides)+this.position) % sides);
+ this.position = this.position % this.sides;
+ while(this.position < 0) {
+ this.position = this.position + this.sides;
+ }
}
}
diff --git a/index.html b/index.html
index c0b01d6..839ca8a 100644
--- a/index.html
+++ b/index.html
@@ -2,18 +2,12 @@
Wasted Time
-
-
+
-
+
diff --git a/input.js b/input.js
index fc1a54c..f159a64 100644
--- a/input.js
+++ b/input.js
@@ -1,2 +1,9 @@
-keypress.simple_combo("left", clock.rotate(-1));
-keypress.simple_combo("right", clock.rotate(1));
\ No newline at end of file
+keypress.register_combo({
+ keys: "right",
+ on_keyup: function(){clock.rotate(1)},
+});
+
+keypress.register_combo({
+ keys: "left",
+ on_keyup: function(){clock.rotate(-1)},
+});
diff --git a/main.js b/main.js
index 74d165b..64c0317 100644
--- a/main.js
+++ b/main.js
@@ -1,12 +1,11 @@
-// main thing here
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
window.requestAnimFrame = (function(){
- return window.requestAnimationFrame ||
+ return window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
- function( callback ){
+ function( callback ) {
window.setTimeout(callback, 1000 / 60);
};
})();
@@ -15,38 +14,58 @@ clock = new Clock(6);
var blocks = [];
-for (var i = 0; i < 6; i++) {
- blocks.push(new Block(i, 'green'));
-}
+// for (var i = 0; i < 6; i++) {
+// blocks.push(new Block(i, 'green'));
+// }
Render();
+function drawPolygon(x, y, sides, radius, theta) {
+ ctx.beginPath();
+ ctx.moveTo(x, y + radius);
+ var oldX = 0;
+ var oldY = radius;
+ for (var i = 0; i < sides; i++) {
+ var coords = rotatePoint(oldX, oldY, 360 / sides);
+ ctx.lineTo(coords.x + x, coords.y + y);
+ ctx.moveTo(coords.x + x, coords.y + y);
+ oldX = coords.x;
+ oldY = coords.y;
+ // console.log(coords);
+ }
+ ctx.closePath();
+ ctx.fill();
+ ctx.stroke();
+}
+
function Render() {
ctx.clearRect(0, 0, canvas.width, canvas.height);
- blocks.forEach(function(o){
- o.draw();
- });
+ // blocks.forEach(function(o){
+ // o.draw();
+ // });
+ drawPolygon(100, 100, 6, 100, 0);
requestAnimFrame(Render);
}
-function Block(lane, color, time) {
- this.lane = lane;
- this.angle = 15 * (Math.PI / 180) + 30 * (Math.PI / 180) * lane;
- this.color = color;
+// function Block(lane, color, time) {
+// this.lane = lane;
+// this.angle = 15 * (Math.PI / 180) + 30 * (Math.PI / 180) * lane;
+// this.color = color;
- this.draw = function() {
- ctx.translate(canvas.width / 2, canvas.height / 2);
- ctx.rotate(this.angle);
- ctx.fillStyle = '#000';
- ctx.fillRect(canvas.width/2 + Math.cos(this.angle) * time, canvas.height/2 + Math.sin(this.angle) * time, 30, 30);
- ctx.restore();
- ctx.fillRect(200, 200, 200, 200);
- };
+// this.draw = function() {
+// ctx.translate(canvas.width / 2, canvas.height / 2);
+// ctx.rotate(this.angle);
+// ctx.fillStyle = '#000';
+// ctx.fillRect(canvas.width/2 + Math.cos(this.angle) * time, canvas.height/2 + Math.sin(this.angle) * time, 30, 30);
+// ctx.restore();
+// ctx.fillRect(200, 200, 200, 200);
+// };
+
+// if (!time) {
+// this.time = time;
+// }
+// else {
+// time = 200;
+// }
+// }
- if (!time) {
- this.time = time;
- }
- else {
- time = 200;
- }
-}
\ No newline at end of file
diff --git a/math.js b/math.js
index 9800df1..bc35fcb 100644
--- a/math.js
+++ b/math.js
@@ -7,4 +7,5 @@ function rotatePoint(x, y, theta) {
x: rotX,
y: rotY,
};
-}
\ No newline at end of file
+}
+