diff --git a/public/static/js/game.js b/public/static/js/game.js index 43d44f9..48ede67 100644 --- a/public/static/js/game.js +++ b/public/static/js/game.js @@ -97,26 +97,36 @@ }, initialize: function (data) { - if (data.history) { - for (var i = 0; i < data.history.length; ++i) { - var round = data.history[i]; - Game.rounds.push({ position: round.position, guessPosition: round.result.guessPosition, realMarker: null, guessMarkers: [] }); - Game.addPositionToResultMap(true); - if (round.result.guessPosition) { - Game.addGuessPositionToResultMap(round.result.guessPosition, null, true); - } - Game.scoreSum += round.result.score; + if (data.history.length === 0 && !data.place) { + var div = document.getElementById('players'); - for (var j = 0; j < round.allResults.length; ++j) { - var result = round.allResults[j]; - Game.addGuessPositionToResultMap(result.guessPosition, result, true); - } + for (var i = 0; i < data.members.length; ++i) { + var member = data.members[i]; + + var p = document.createElement('p'); + p.innerHTML = member.userName + (member.me ? ' (me)' : ''); + div.appendChild(p); } - - document.getElementById('currentRound').innerHTML = String(Game.rounds.length) + '/' + String(Game.NUMBER_OF_ROUNDS); - document.getElementById('currentScoreSum').innerHTML = String(Game.scoreSum) + '/' + String(Game.rounds.length * Game.MAX_SCORE); } + for (var i = 0; i < data.history.length; ++i) { + var round = data.history[i]; + Game.rounds.push({ position: round.position, guessPosition: round.result.guessPosition, realMarker: null, guessMarkers: [] }); + Game.addPositionToResultMap(true); + if (round.result.guessPosition) { + Game.addGuessPositionToResultMap(round.result.guessPosition, null, true); + } + Game.scoreSum += round.result.score; + + for (var j = 0; j < round.allResults.length; ++j) { + var result = round.allResults[j]; + Game.addGuessPositionToResultMap(result.guessPosition, result, true); + } + } + + document.getElementById('currentRound').innerHTML = String(Game.rounds.length) + '/' + String(Game.NUMBER_OF_ROUNDS); + document.getElementById('currentScoreSum').innerHTML = String(Game.scoreSum) + '/' + String(Game.rounds.length * Game.MAX_SCORE); + if (data.timeout) { Game.startCountdown(data.timeout); } @@ -133,16 +143,6 @@ } document.getElementById('loading').style.visibility = 'hidden'; - - var div = document.getElementById('players'); - - for (var i = 0; i < data.members.length; ++i) { - var member = data.members[i]; - - var p = document.createElement('p'); - p.innerHTML = member.userName + (member.me ? ' (me)' : ''); - div.appendChild(p); - } }, memberJoined: function (data) { @@ -253,8 +253,6 @@ initialize: function () { document.getElementById('panoCover').style.visibility = 'visible'; - document.getElementById('currentRound').innerHTML = '1/' + String(Game.NUMBER_OF_ROUNDS); - document.getElementById('currentScoreSum').innerHTML = '0/0'; Game.map.setOptions({ draggableCursor: 'crosshair' @@ -279,19 +277,17 @@ Game.panoId = this.response.place.panoId; Game.pov = this.response.place.pov; - if (this.response.history) { - for (var i = 0; i < this.response.history.length; ++i) { - var round = this.response.history[i]; - Game.rounds.push({ position: round.position, guessPosition: round.result.guessPosition, realMarker: null, guessMarkers: [] }); - Game.addPositionToResultMap(true); - Game.addGuessPositionToResultMap(round.result.guessPosition, null, true); - Game.scoreSum += round.result.score; - } - - document.getElementById('currentRound').innerHTML = String(Game.rounds.length) + '/' + String(Game.NUMBER_OF_ROUNDS); - document.getElementById('currentScoreSum').innerHTML = String(Game.scoreSum) + '/' + String(Game.rounds.length * Game.MAX_SCORE); + for (var i = 0; i < this.response.history.length; ++i) { + var round = this.response.history[i]; + Game.rounds.push({ position: round.position, guessPosition: round.result.guessPosition, realMarker: null, guessMarkers: [] }); + Game.addPositionToResultMap(true); + Game.addGuessPositionToResultMap(round.result.guessPosition, null, true); + Game.scoreSum += round.result.score; } + document.getElementById('currentRound').innerHTML = String(Game.rounds.length) + '/' + String(Game.NUMBER_OF_ROUNDS); + document.getElementById('currentScoreSum').innerHTML = String(Game.scoreSum) + '/' + String(Game.rounds.length * Game.MAX_SCORE); + Game.startNewRound(); }); },