diff --git a/app.coffee b/app.coffee index bc4dc96..9156f72 100644 --- a/app.coffee +++ b/app.coffee @@ -26,8 +26,10 @@ game.init() io.sockets.on "connection", (socket) -> + console.log "connected" + player = game.create_player() - game.add_player player.id + game.add_player player socket.emit "gamestate", game.get_state() socket.on "update", (data) -> @@ -37,8 +39,9 @@ io.sockets.on "connection", (socket) -> game.rem_player player.id loopt = () -> - console.log "loopt" - io.sockets.emit "gamestate", game.tick() + state = game.tick() + console.log "loopt", state + io.sockets.emit "gamestate", state setInterval loopt, game.SPEED diff --git a/app.js b/app.js index 6b4a9df..099fd58 100644 --- a/app.js +++ b/app.js @@ -19,8 +19,9 @@ game.init(); io.sockets.on("connection", function(socket) { var player; + console.log("connected"); player = game.create_player(); - game.add_player(player.id); + game.add_player(player); socket.emit("gamestate", game.get_state()); socket.on("update", function(data) { return console.log(data); @@ -30,8 +31,10 @@ }); }); loopt = function() { - console.log("loopt"); - return io.sockets.emit("gamestate", game.tick()); + var state; + state = game.tick(); + console.log("loopt", state); + return io.sockets.emit("gamestate", state); }; setInterval(loopt, game.SPEED); app.listen(8000); diff --git a/game.coffee b/game.coffee index 5704f62..59b0a37 100644 --- a/game.coffee +++ b/game.coffee @@ -4,7 +4,7 @@ _ = require("underscore") players = {} directions = {} -FPS = 1 +FPS = .5 SPEED = 1000 / FPS defaults = @@ -32,7 +32,7 @@ rem_player = (pid) -> delete players[pid] get_state = () -> - _.values players + (x.coords for x in _.values players) tick = () -> for pid, player in players @@ -51,4 +51,7 @@ set_direction = (player) -> exports.init = init exports.SPEED = SPEED exports.tick = tick - \ No newline at end of file +exports.create_player = create_player +exports.add_player = add_player +exports.rem_player = rem_player +exports.get_state = get_state \ No newline at end of file diff --git a/game.js b/game.js index a6f9052..b936934 100644 --- a/game.js +++ b/game.js @@ -3,7 +3,7 @@ _ = require("underscore"); players = {}; directions = {}; - FPS = 1; + FPS = .5; SPEED = 1000 / FPS; defaults = { snakes: { @@ -41,7 +41,14 @@ return delete players[pid]; }; get_state = function() { - return _.values(players); + var x, _i, _len, _ref, _results; + _ref = _.values(players); + _results = []; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + x = _ref[_i]; + _results.push(x.coords); + } + return _results; }; tick = function() { var pid, player, _len; @@ -63,4 +70,8 @@ exports.init = init; exports.SPEED = SPEED; exports.tick = tick; + exports.create_player = create_player; + exports.add_player = add_player; + exports.rem_player = rem_player; + exports.get_state = get_state; }).call(this); diff --git a/static/js/client.coffee b/static/js/client.coffee index 78497f1..b930b83 100644 --- a/static/js/client.coffee +++ b/static/js/client.coffee @@ -16,9 +16,7 @@ $ -> # Start socket.io - #socket = io.connect() - #io.sockets.on 'connection', (socket) -> - # console.log 'connected' + socket = io.connect() - #socket.on 'news', (data) -> - # console.log data + socket.on "gamestate", (data) -> + console.log data \ No newline at end of file diff --git a/static/js/client.js b/static/js/client.js index 26fc868..369be08 100644 --- a/static/js/client.js +++ b/static/js/client.js @@ -1,9 +1,8 @@ (function() { $(function() { - var box, height, row, width, x, y, _results; + var box, height, row, socket, width, x, y; width = 20; height = 10; - _results = []; for (x = 1; 1 <= height ? x <= height : x >= height; 1 <= height ? x++ : x--) { row = $("#row-template").clone(); for (y = 1; 1 <= width ? y <= width : y >= width; 1 <= width ? y++ : y--) { @@ -14,8 +13,11 @@ } row.removeAttr('id'); row.show(); - _results.push($(".game-board").append(row)); + $(".game-board").append(row); } - return _results; + socket = io.connect(); + return socket.on("gamestate", function(data) { + return console.log(data); + }); }); }).call(this);