diff --git a/.jshintrc b/.jshintrc new file mode 100644 index 0000000000000000000000000000000000000000..9aa0052b8fb8b61ff0b7aa2fb15ac24a2d81a815 --- /dev/null +++ b/.jshintrc @@ -0,0 +1,31 @@ +{ + "asi" : false, + "bitwise" : true, + "boss" : false, + "browser" : true, + "curly" : true, + "debug": false, + "devel": false, + "eqeqeq": true, + "evil": false, + "expr": true, + "forin": false, + "immed": true, + "latedef" : false, + "laxbreak": false, + "multistr": true, + "newcap": true, + "noarg": true, + "noempty": false, + "nonew": true, + "onevar": false, + "plusplus": false, + "regexp": false, + "strict": false, + "globalstrict": true, + "sub": false, + "trailing" : true, + "undef": true, + "unused": "vars", + "node": true +} \ No newline at end of file diff --git a/game.js b/game.js index aad08201311c2616896759c46198d4e7acf84f0b..8d7ebda64ab1c57276a8e23e0d230a0a29e7a4b0 100644 --- a/game.js +++ b/game.js @@ -9,7 +9,9 @@ function getDeck() { function removeFromArray(array, item) { var index = array.indexOf(item); - if(index != -1) array.splice(index, 1); + if(index !== -1) { + array.splice(index, 1); + } } function list() { @@ -25,7 +27,7 @@ function listAll() { function toInfo(fullGameList) { return _.map(fullGameList, function(game) { return { id: game.id, name: game.name, players: game.players.length }; - }); + }); } function addGame(game) { @@ -45,7 +47,7 @@ function addGame(game) { } function getGame(gameId) { - return _.find(gameList, function(x) { return x.id == gameId; }); + return _.find(gameList, function(x) { return x.id === gameId; }); } function joinGame(game, player) { @@ -58,7 +60,7 @@ function joinGame(game, player) { isCzar: false }); - if(game.players.length == 4) { + if(game.players.length === 4) { startGame(game); } @@ -95,22 +97,22 @@ function roundEnded(game) { player.selectedWhiteCardId = null; }); - if(game.players[0].isCzar == true) { + if(game.players[0].isCzar === true) { game.players[0].isCzar = false; game.players[1].isCzar = true; game.players[1].isReady = false; } - else if(game.players[1].isCzar == true) { + else if(game.players[1].isCzar === true) { game.players[1].isCzar = false; game.players[2].isCzar = true; game.players[2].isReady = false; } - else if(game.players[2].isCzar == true) { + else if(game.players[2].isCzar === true) { game.players[2].isCzar = false; game.players[3].isCzar = true; game.players[3].isReady = false; } - else if(game.players[3].isCzar == true) { + else if(game.players[3].isCzar === true) { game.players[3].isCzar = false; game.players[0].isCzar = true; game.players[0].isReady = false; @@ -131,7 +133,7 @@ function setCurrentBlackCard(game) { function getPlayer(gameId, playerId) { var game = getGame(gameId); - return _.find(game.players, function(x) { return x.id == playerId; }); + return _.find(game.players, function(x) { return x.id === playerId; }); } function getPlayerByCardId(gameId, cardId) { @@ -148,7 +150,9 @@ function readyForNextRound(gameId, playerId) { return x.isReady; }); - if(allReady) roundEnded(game); + if(allReady) { + roundEnded(game); + } } function selectCard(gameId, playerId, whiteCardId) { @@ -162,7 +166,9 @@ function selectCard(gameId, playerId, whiteCardId) { return x.selectedWhiteCardId; }); - if(readyPlayers.length == 3) game.isReadyForScoring = true; + if(readyPlayers.length === 3) { + game.isReadyForScoring = true; + } } function selectWinner(gameId, cardId) { @@ -172,8 +178,8 @@ function selectWinner(gameId, cardId) { game.isReadyForReview = true; player.awesomePoints = player.awesomePoints + 1; game.history.push({ black: game.currentBlackCard, white: cardId, winner: player.name }); - if(player.awesomePoints == game.pointsToWin) { - var game = getGame(gameId); + if(player.awesomePoints === game.pointsToWin) { + game = getGame(gameId); game.isOver = true; game.winnerId = player.id; } diff --git a/server.js b/server.js index 5233444b4970eb98db4b0eb2ee4102d81741bfac..baec212b430b1af88c16e317149566788a33bd7e 100644 --- a/server.js +++ b/server.js @@ -1,17 +1,16 @@ var express = require('express'); -var app = express() +var app = express(); var server = require('http').createServer(app); -var Game = require('./game.js') +var Game = require('./game.js'); var players = { }; var io = require('socket.io').listen(server); -var _ = require('underscore'); server.listen(process.env.PORT || 3000); app.set('view engine', 'ejs'); app.set('view options', { layout: false }); app.use(express.methodOverride()); -app.use(express.bodyParser()); +app.use(express.bodyParser()); app.use(app.router); app.use('/public', express.static('public')); @@ -38,7 +37,10 @@ function gameViewModel(gameId) { io.sockets.on('connection', function(socket) { socket.on('connectToGame', function(data) { - if(!players[data.gameId]) players[data.gameId] = { }; + if(!players[data.gameId]) { + players[data.gameId] = { }; + } + socket.gameId = data.gameId; socket.playerId = data.playerId; players[data.gameId][data.playerId] = socket; @@ -65,8 +67,8 @@ app.post('/joingame', function (req, res) { res.write(JSON.stringify({ error: "too many players" })); res.end(); return null; - } - + } + game = Game.joinGame(game, { id: req.body.playerId, name: req.body.playerName }); returnGame(req.body.gameId, res); }); diff --git a/spec.js b/spec.js index 0d84489782e6ea6b71e314450e135d2727bae64f..67f63182746fd64de4770f9707822f65fbebe1ef 100644 --- a/spec.js +++ b/spec.js @@ -1,5 +1,4 @@ var jasmine = require('jasmine-node'); -var sys = require('sys'); for(var key in jasmine) { global[key] = jasmine[key];