Olá galera, estou com uma dúvida , pois tenho um jogo que gera numero aleatórios e o jogador vai informando numeros até acertar o numero que foi gerado , quando ele clicar no botão do formulário html que compara os numeros o dele e o aleatório gerado pelo sistema se forem iguais , o sistema exibe uma mensagem mostrando em quantas tentivas ele acertou, tenho um outro botão continuar que permite um novo jogado, e um botão relatório que exibe o nome do jogador que acertou em menas vezes , sendo que essa função não está pegando para mim , não estou conseguindo fazer.
Eu preciso criar uma variavel que armazena as tentativas de um jogador e guardar , e quando clicar em continuar uma outra variavel que armzena outra tentiva de segundo jogador e guardar , depois exibir o jogador que acertou em menos repetições.
[code]
Nome :
Numero :
[/code]
Ola,
meu, o seu codigo esta meio maluco. Eu re-escrevi praticamente todo o seu codigo so por diversao, ai vai:
<html>
<head>
<script type="text/javascript" language="Javascript">
var MYGAME = MYGAME || {};
MYGAME.base = (function() {
var controller = function() {
var randomNumber = null,
game = {},
scores = [],
results = { numberIsHigher: 1, numberIsLower: 2, numberIsEqual: 3 },
_generateRandomNumber = function() {
randomNumber = (Math.random() * 100);
randomNumber = Math.floor(randomNumber);
console.info("Random number is : " + randomNumber);
},
_compareNumbers = function (guessedNumber) {
if (guessedNumber == randomNumber) {
return results.numberIsEqual;
} else if(guessedNumber > randomNumber){
return results.numberIsHigher;
} else if(guessedNumber < randomNumber){
return results.numberIsLower;
}
}
start = function(playerName) {
reset();
_generateRandomNumber();
game["name"] = playerName;
},
reset = function() {
game = {};
game["name"] = null;
game["numberOfGuesses"] = 0;
},
getScores = function() {
return scores;
},
guess = function(guessedNumber) {
game["numberOfGuesses"] += 1;
var result = _compareNumbers(guessedNumber);
if(result == results.numberIsEqual) {
scores.push(game);
}
return result;
};
// expose the public functions.
return {
reset: reset,
start: start,
guess: guess,
getScores: getScores,
results: results
};
}
return {
controller: controller
}
})();
</script>
<style>
.controlPanel {
background-color: gray;
margin-bottom: 10px;
}
.placeHolder { width: 500px; }
.presentation { display: none; }
</style>
</head>
<body>
<div id="placeHolder" class="placeHolder">
<div id="controlPanel" class="controlPanel">
<button id="resetgame">Reset</button>
<button id="startgame">Start</button>
<button id="showscores">Show scores</button>
</div>
<div id="presentation" class="presentation">
<span id="playerName"></span>
<span>Guess a number : </span>
<input id="guessedNumber" type="text" size="10">
<button id="guess">Go</button>
<div>
</div>
<script>
(function() {
// get a instance of the game controller.
var controller = new MYGAME.base.controller();
// get the nodes for setup.
var resetbutton = document.getElementById("resetgame");
var startbutton = document.getElementById("startgame");
var guessbutton = document.getElementById("guess");
var scoresbutton = document.getElementById("showscores");
var numbertext = document.getElementById("guessedNumber");
var presentationNode = document.getElementById("presentation");
// helper functions
function showPresentation() {
presentationNode.style.display = "block"
}
function hidePresentation() {
presentationNode.style.display = "none"
}
function endGame() {
numbertext.value = "";
hidePresentation();
}
// setup onClick event handlers
if(resetbutton) {
resetbutton.onclick = function() {
startbutton.disabled = false;
controller.reset();
endGame();
}
}
if(startbutton) {
startbutton.onclick = function() {
var name = prompt("Please, enter your name: ","");
if(name == null || name == "") {
hidePresentation();
alert("The player name is required!");
} else {
controller.start(name);
var playerNameNode = document.getElementById("playerName");
if(playerNameNode != null) {
playerNameNode.innerHTML = "Welcome, " + name + ".";
showPresentation();
this.disabled = true;
}
}
}
}
if(guessbutton) {
guessbutton.onclick = function() {
var n = numbertext.value;
var result = controller.guess(n);
switch(result) {
case controller.results.numberIsHigher:
alert("The number you entered is higher");
break;
case controller.results.numberIsLower:
alert("The number you entered is lower");
break;
case controller.results.numberIsEqual:
alert("Congratulations! You won!");
endGame();
break;
}
}
}
if(scoresbutton) {
scoresbutton.onclick = function() {
var scores = controller.getScores();
if(scores.length <= 0) {
console.info("There're no scores registered so far");
return;
}
for(var i = 0 ; i < scores.length; i++) {
var entry = scores[i];
console.info("Player name : " + entry.name + ", Number of guesses : " + entry.numberOfGuesses);
}
}
}
})();
</script>
</body>
</html>
PS: O botao “Show scores” vai imprimir os resultados por jogador no console. (em caso vc clicar no botao e achar que nada esta acontecendo) 
Voce pode modificar e exibir num outro div por exemplo, ou em alguma outra janela.
//Daniel