Commit c364b598 authored by 18신대성's avatar 18신대성 Committed by 18류지석

WordTypingRate 동기화 구현

update에서 하니까 너무 많이하는거같기도 하고
parent 20c1be7c
var GameServer = GameServer || {}; var GameServer = GameServer || {};
GameServer.Phase = {READY: 0, START: 1, MAIN: 2, MUSIC: 3}; GameServer.Phase = {READY: 0, START: 1, MAIN: 2, MUSIC: 3};
GameServer.startCount = 2; GameServer.startCount = 4;
GameServer.currentPlayer = []; GameServer.currentPlayer = [];
GameServer.playingRoom = []; GameServer.playingRoom = [];
...@@ -33,7 +33,7 @@ GameServer.makeRoom = function() ...@@ -33,7 +33,7 @@ GameServer.makeRoom = function()
var roomOption = var roomOption =
{ {
roomNum: GameServer.nextRoomNumber++, roomNum: GameServer.nextRoomNumber++,
maxPlayer: 3, maxPlayer: 5,
currentPlayer: [], currentPlayer: [],
currentPhase: GameServer.Phase.READY, currentPhase: GameServer.Phase.READY,
...@@ -80,9 +80,9 @@ GameServer.enterEmptyRoom = function(playerData) ...@@ -80,9 +80,9 @@ GameServer.enterEmptyRoom = function(playerData)
GameServer.startRoom = function(roomIdx) GameServer.startRoom = function(roomIdx)
{ {
let room = this.playingRoom[roomIdx]; let room = this.playingRoom[roomIdx];
this.playingRoom[roomIdx].currentPhase = this.Phase.START; room.currentPhase = this.Phase.START;
this.playingRoom[roomIdx].maxTypingPlayer = room.currentPlayer[0]; room.maxTypingPlayer = room.currentPlayer[0];
this.playingRoom[roomIdx].mimTypingPlayer = room.currentPlayer[0]; room.minTypingPlayer = room.currentPlayer[0];
console.log('[ROOM#'+room.roomNum+'] Game Start'); console.log('[ROOM#'+room.roomNum+'] Game Start');
this.announceToRoom(roomIdx, 'phaseChange', this.Phase.START); this.announceToRoom(roomIdx, 'phaseChange', this.Phase.START);
......
...@@ -9,6 +9,7 @@ socket.on('idSet', function(msg) // {str, num playerNum} ...@@ -9,6 +9,7 @@ socket.on('idSet', function(msg) // {str, num playerNum}
socket.on('setPlayerTypingRate', function(msg) // number playerTypingRate socket.on('setPlayerTypingRate', function(msg) // number playerTypingRate
{ {
WordSpace.PlayerTypingRate = msg; WordSpace.PlayerTypingRate = msg;
console.log('rate: ' + msg);
}); });
socket.on('phaseChange', function(msg) // number Phase socket.on('phaseChange', function(msg) // number Phase
{ {
......
...@@ -340,8 +340,8 @@ WordSpace.setPlayerTyping = ...@@ -340,8 +340,8 @@ WordSpace.setPlayerTyping =
add: function(wordText) add: function(wordText)
{ {
this.totalTyping += wordText != null ? WordReader.getWordTyping(wordText) : 0; this.totalTyping += wordText != null ? WordReader.getWordTyping(wordText) : 0;
WordSpace.playerTyping = this.totalTyping / WordSpace.gameTimer.now * 1000; WordSpace.playerTyping = this.totalTyping / WordSpace.gameTimer.now * 60 * 1000;
socket.emit('setPlayerTyping', this.playerTyping); socket.emit('setPlayerTyping', WordSpace.playerTyping);
this.text.setText('현재 타수 : ' + WordSpace.playerTyping.toFixed(1)); this.text.setText('현재 타수 : ' + WordSpace.playerTyping.toFixed(1));
}, },
initiate: function(scene) initiate: function(scene)
......
...@@ -49,11 +49,17 @@ io.on('connection', function(socket) ...@@ -49,11 +49,17 @@ io.on('connection', function(socket)
socket.on('setPlayerTyping', function(msg) // number playerTyping socket.on('setPlayerTyping', function(msg) // number playerTyping
{ {
socket.playerData.playerTyping = msg; socket.playerData.playerTyping = msg;
//console.log(socket.playerData.currentRoom); if (socket.playerData.currentRoom.maxTypingPlayer.playerTyping < msg)
//console.log(socket.playerData.currentRoom.currentPlayer.length); {
//let playerTypingRate = (msg - (socket.playerData.currentRoom.minTypingPlayer.playerTyping - socket.playerData.currentRoom.rateArrangePoint)) / socket.playerData.currentRoom.maxTypingPlayer = socket.playerData;
//(socket.playerData.currentRoom.maxTypingPlayer.playerTyping - socket.playerData.currentRoom.minTypingPlayer.playerTyping + socket.playerData.currentRoom.rateArrangePoint * 2); }
//socket.emit('setPlayerTypingRate', playerTypingRate); if (socket.playerData.currentRoom.minTypingPlayer.playerTyping > msg)
{
socket.playerData.currentRoom.minTypingPlayer = socket.playerData;
}
let playerTypingRate = (msg - (socket.playerData.currentRoom.minTypingPlayer.playerTyping - socket.playerData.currentRoom.rateArrangePoint)) /
(socket.playerData.currentRoom.maxTypingPlayer.playerTyping - socket.playerData.currentRoom.minTypingPlayer.playerTyping + socket.playerData.currentRoom.rateArrangePoint * 2);
socket.emit('setPlayerTypingRate', playerTypingRate);
}); });
socket.on('disconnect', function(reason) socket.on('disconnect', function(reason)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment