]> git.example.dev Git - binbsis50.git/commitdiff
fixed #3
authorLuigi Pinca <luigipinca@gmail.com>
Tue, 28 Feb 2012 21:31:37 +0000 (22:31 +0100)
committerLuigi Pinca <luigipinca@gmail.com>
Tue, 28 Feb 2012 21:31:37 +0000 (22:31 +0100)
package.json
public/static/js/client.js
server.js

index f154bed8ee048abf1b489645372577e304e1fb7a..c33e1fef16ead095497bac49c80120fc8458b9ed 100644 (file)
@@ -12,5 +12,5 @@
   "engine": {
     "node": "0.6.x"
   },
-  "version": "0.1.1-6"
+  "version": "0.1.1-7"
 }
\ No newline at end of file
index 1cc49bccac9b3f6585b256ed3ec8a99b9d580a6d..c934d8c16f70c71f8f317ec200c632eb017a87cf 100644 (file)
@@ -38,7 +38,7 @@ var App = {
                                var val = $.trim(login.val());
                                if (val !== "") {
                                        App.nickname = val;
-                                       App.socket.emit('setnickname', {nickname: App.nickname});
+                                       App.socket.emit('setnickname', App.nickname);
                                }
                                else {
                                        var txt = "Nickname can't be empty.";
@@ -82,13 +82,8 @@ var App = {
                        if (event.keyCode === 13) {
                                var val = $.trim(messagebox.val());
                                if (val !== "") {
-                                       if (App.pvtmsgto) {
-                                               var data = {from:App.nickname,to:App.pvtmsgto,chatmsg:val};
-                                               App.socket.emit('sendchatmsg', data);
-                                       }
-                                       else {
-                                               App.socket.emit('sendchatmsg', {from:App.nickname,chatmsg:val});
-                                       }
+                                       var data = (App.pvtmsgto) ? {to:App.pvtmsgto,chatmsg:val} : val;
+                                       App.socket.emit('sendchatmsg', data);
                                }
                                messagebox.val("");
                        }
@@ -98,7 +93,7 @@ var App = {
                        if (event.keyCode === 13) {
                                var val = $.trim(guessbox.val().toLowerCase());
                                if (val !== "") {
-                                       App.socket.emit('guess', {guess:val});
+                                       App.socket.emit('guess', val);
                                }
                                guessbox.val("");
                        }
@@ -294,7 +289,6 @@ var App = {
                App.jplayer.jPlayer("unmute");
                App.jplayer.jPlayer("play");
                App.updateUsers(data);
-               //console.log(Date.now(), 'countdown started');
                App.cassetteAnimation(Date.now()+30000, true);
                if (data.counter === 1) {
                        $('#modal').modal('hide').empty();
@@ -351,7 +345,6 @@ var App = {
                        $('#countdown').text(Math.round(secleft));
                }
                if (App.stopanimation || millisleft < 50) {
-                       //console.log(Date.now(), 'countdown stopped');
                        return;
                }
                setTimeout(function() {App.cassetteAnimation(endtime, forward);}, 50);
index b355da1f5a25b9a3e716700787e924d754d550bf..e38ff55e99836e9bec75bcf4903cf1b0e3a84adb 100644 (file)
--- a/server.js
+++ b/server.js
@@ -80,16 +80,16 @@ var Game = {
        },
 
        // A user is submitting a name
-       setNickName: function(socket, data) {
+       setNickName: function(socket, nickname) {
            var feedback = null;
-           if (Game.userExists(data.nickname)) {
+           if (Game.userExists(nickname)) {
                   feedback = '<span class="label label-important">That name is alredy taken.</span>';
                }
            if (feedback) {
                   return Game.invalidNickName(socket, feedback);
                }
 
-           socket.nickname = data.nickname;
+           socket.nickname = nickname;
                
                // Add user to the list of active users and broadcast the event
                Game.addUser(socket);
@@ -112,14 +112,16 @@ var Game = {
        },
        
        sendChatMessage: function (socket, data) {
-               if (data.to) {
+               if (typeof data === "string") {
+                       io.sockets.emit('chatmsg', {from:socket.nickname,chatmsg:data});
+               }
+               else if (typeof data === "object" && typeof data.to === "string" && 
+                               Game.userExists(data.to) && typeof data.chatmsg === "string") {
                        // Private message
-                       socket.emit('chatmsg', {from:data.from,to:data.to,chatmsg:data.chatmsg});
+                       socket.emit('chatmsg', {from:socket.nickname,to:data.to,chatmsg:data.chatmsg});
                        var recipient = Game.getUserSocket(data.to);
-                       recipient.emit('chatmsg', {from:data.from,to:data.to,chatmsg:data.chatmsg});
-                       return;
+                       recipient.emit('chatmsg', {from:socket.nickname,to:data.to,chatmsg:data.chatmsg});
                }
-               io.sockets.emit('chatmsg', {from:data.from,chatmsg:data.chatmsg});
        },
 
        addPoints: function(socket, allinone) {
@@ -146,24 +148,24 @@ var Game = {
                }
        },
        
-       guess: function(socket, data) {
+       guess: function(socket, guess) {
                if (Game.guesstime) {
                        var artistname = Game.artistName.toLowerCase();
                        var trackname = Game.trackName.toLowerCase();
                        if (!Game.usersData[socket.nickname].matched) { // No track no artist
-                               if ((artistname === trackname) && Game.amatch(trackname, data.guess, true)) {
+                               if ((artistname === trackname) && Game.amatch(trackname, guess, true)) {
                                        Game.addPoints(socket, true);
                                        socket.emit('bothmatched');
                                        io.sockets.emit('updateusers', {users:Game.usersData});
                                }
-                               else if (Game.amatch(artistname, data.guess, true)) {
+                               else if (Game.amatch(artistname, guess, true)) {
                                        Game.usersData[socket.nickname].roundpoints++;
                                        Game.usersData[socket.nickname].points++;
                                        Game.usersData[socket.nickname].matched = 'artist';
                                        socket.emit('artistmatched');
                                        io.sockets.emit('updateusers', {users:Game.usersData});
                                }
-                               else if (Game.amatch(trackname, data.guess)) {
+                               else if (Game.amatch(trackname, guess)) {
                                        Game.usersData[socket.nickname].roundpoints++;
                                        Game.usersData[socket.nickname].points++;
                                        Game.usersData[socket.nickname].matched = 'title';
@@ -176,7 +178,7 @@ var Game = {
                        }
                        else if (Game.usersData[socket.nickname].matched !== 'both') { // Track or artist
                                if (Game.usersData[socket.nickname].matched === 'artist') {
-                                       if (Game.amatch(trackname, data.guess)) {
+                                       if (Game.amatch(trackname, guess)) {
                                                Game.addPoints(socket, false);
                                                socket.emit('bothmatched');
                                                io.sockets.emit('updateusers', {users:Game.usersData});
@@ -186,7 +188,7 @@ var Game = {
                                        }
                                }
                                else {
-                                       if (Game.amatch(artistname, data.guess, true)) {
+                                       if (Game.amatch(artistname, guess, true)) {
                                                Game.addPoints(socket, false);
                                                socket.emit('bothmatched');
                                                io.sockets.emit('updateusers', {users:Game.usersData});
@@ -367,7 +369,9 @@ Game.start();
 
 io.sockets.on("connection", function(socket) {
        socket.on('setnickname', function(data) {
-               Game.setNickName(socket, data);
+               if (!socket.nickname && typeof data === "string") {
+                       Game.setNickName(socket, data);
+               }
        });
        socket.on('getstatus', function() {
                Game.sendStatus(socket);
@@ -376,7 +380,9 @@ io.sockets.on("connection", function(socket) {
                Game.sendChatMessage(socket, data);
        });
        socket.on('guess', function(data) {
-               Game.guess(socket, data);
+               if (typeof data === "string") {
+                       Game.guess(socket, data);
+               }
        });
        socket.on("disconnect", function() {
            Game.userLeft(socket);