Mira yo he persistido con ajax por la simple idea MÍA de que cada jugador INDEPENDIENTE, es decir, no bots como lo muestra Alexiss88, y que además cada jugador este en su ordenador.
Ahora, si ambos jugadores están en el mismo PC, se me ocurrió una solución un poco fea:
Código HTML:
Ver original <script type="text/javascript"> start = false;
function startGame(){
if(!start){
var name1 = document.getElementById("player1_start").value;
var name2 = document.getElementById("player2_start").value;
var aux = true;
if(name1 == "" || name2 == ""){
alert("Uno de los jugadores no ingreso su nombre");
aux = false;
}
if(name1 == name2){
alert("Los nombres de los jugadores coinciden");
aux = false
}
if(aux){
start=true;
document.getElementById("start_form").style.display = "none";
document.getElementById("game_main").style.display = "inline";
document.getElementById("player1").innerHTML=name1;
document.getElementById("player2").innerHTML=name2;
alert("Juego iniciado!! suerte ;)");
}
}
else{
alert("Juego ya iniciado");
}
}
function jugar(num){
if(start){
var jugador = document.getElementById("player"+num+"_result");
if(jugador.innerHTML == "0"){
var dado = Math.floor(Math.random()*6)+1;
jugador.innerHTML = dado;
}
else{
alert("usted ya lanzo...");
}
}
else{
alert("El juego aun no ha iniciado");
}
}
function winner(){
var r1 = parseInt(document.getElementById("player1_result").innerHTML);
var r2 = parseInt(document.getElementById("player2_result").innerHTML);
if(r1 != 0 && r2 != 0){
var playerName1 = document.getElementById("player1").innerHTML;
var playerName2 = document.getElementById("player2").innerHTML;
if(r1 > r2){
alert(playerName1+" gano!!");
var playerScore1 = document.getElementById("score_1");
playerScore1.innerHTML = parseInt(playerScore1.innerHTML)+1;
}
else if(r1 < r2){
alert(playerName2+" gano!!");
var playerScore2 = document.getElementById("score_2");
playerScore2.innerHTML = parseInt(playerScore2.innerHTML)+1;
}
else{
alert("empate");
}
document.getElementById("player1_result").innerHTML = "0";
document.getElementById("player2_result").innerHTML = "0";
}
else{
alert("Espere al otro jugador");
}
}
Jugador 1:
<input type="text" id="player1_start"><br/> Jugador 2:
<input type="text" id="player2_start"><br/> <input type="button" value="Start" onclick="startGame();" />
<div id="game_main" style="display:none;"> <span id="player1"></span> <input type="button" value="Tire el dado!!" onclick="jugar(1); setTimeout('winner()', 100);"/> Su numero es
<span id="player1_result" >0
</span> Puntaje:
<span id="score_1">0
</span><br/> <span id="player2"></span> <input type="button" value="Tire el dado!!" onclick="jugar(2); setTimeout('winner()', 100);"/> Su numero es
<span id="player2_result" >0
</span> Puntaje:
<span id="score_2">0
</span><br/>
está muy fea la hice a la rápida y sin pensar en MUCHAS cosas, simplemente resolví el problema a lo bruto...
Saludos