Verifica se deu velha e colocando jQuery
Chegou a parte mais legal, que é a implementação do jQuery. Faremos também uma função para mudar o símbolo para o próximo jogador.
Antes de tudo, vamos implementar o jQuery:
→
<script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
Nesse caso, estou pegando o jQuery direto do site onde está hospedado, mas no atributo
src, você pode colocar o caminho do arquivo jQuery local.
Os códigos jQuery são colocados dentro da tag
<script> </script>. Então, a partir de agora, estarei colocando os código dentro dessa tag.
A primeira função que irei criar, é fazer com que mude o jogador, isto é, mudar o jogador que irá usar o
X e o jogador que irá usar o
O.
Isso fica fácil, pois na parte HTML colocamos um campo label com ID para receber essa mudança. Vamos à função:
function mudarSimbolo()
{
var simbolo = $( "label[id='jogador']").text();
if(simbolo == "X")
{
$( "label[id='jogador']").text('O');
}
else
{
$( "label[id='jogador']").text('X');
}
}
O segredo dessa função está nessa linha:
var simbolo = $( "label[id='jogador']").text();
Essa linha recebe o último jogador e depois disso, é feita a troca. Lembrando que quando usamos o
$, estamos querendo dizer para fazer uma chamada de uma função ao jQuery.
Colocando os cliques nos botões usando jQuery
Lógico que para esse jogo da velha, existem milhares de formas de serem feitas, mas quero usar aqui nessa parte, eventos click no jQuery, para mostrar como o jQuery consegue capturar o evento.
Antes de mais nada, devemos lembrar que colocamos atributos
name, para podemos identificar cada tag e assim podemos usar no jQuery. Essa é a parte fundamental.
Agora, devemos colocar uma função para que quando clicar nesse botão, marcar o texto para o símbolo do jogador que clicou. Para isso, devemos configurar um por um.
Vamos ao código:
$( "button[name='x1']" ).click(function()
{
var simbolo = $( "label[id='jogador']").text();
var click = parseInt($("input[type='hidden']").val()) ;
click = parseInt(click) + 1;
$("input[type='hidden']").val(click);
$( "button[name='x1']").text(simbolo);
mudarSimbolo();
});
$( "button[name='x2']" ).click(function()
{
var simbolo = $( "label[id='jogador']").text();
var click = parseInt($("input[type='hidden']").val()) ;
click = parseInt(click) + 1;
$("input[type='hidden']").val(click);
$( "button[name='x2']").text(simbolo);
mudarSimbolo();
click++;
});
$( "button[name='x3']" ).click(function()
{
var simbolo = $( "label[id='jogador']").text();
var click = parseInt($("input[type='hidden']").val()) ;
click = parseInt(click) + 1;
$("input[type='hidden']").val(click);
$( "button[name='x3']").text(simbolo);
mudarSimbolo();
});
$( "button[name='y1']" ).click(function()
{
var simbolo = $( "label[id='jogador']").text();
var click = parseInt($("input[type='hidden']").val()) ;
click = parseInt(click) + 1;
$("input[type='hidden']").val(click);
$( "button[name='y1']").text(simbolo);
mudarSimbolo();
});
$( "button[name='y2']" ).click(function()
{
var simbolo = $( "label[id='jogador']").text();
var click = parseInt($("input[type='hidden']").val()) ;
click = parseInt(click) + 1;
$("input[type='hidden']").val(click);
$( "button[name='y2']").text(simbolo);
mudarSimbolo();
});
$( "button[name='y3']" ).click(function()
{
var simbolo = $( "label[id='jogador']").text();
var click = parseInt($("input[type='hidden']").val()) ;
click = parseInt(click) + 1;
$("input[type='hidden']").val(click);
$( "button[name='y3']").text(simbolo);
mudarSimbolo();
});
$( "button[name='z1']" ).click(function()
{
var simbolo = $( "label[id='jogador']").text();
var click = parseInt($("input[type='hidden']").val()) ;
click = parseInt(click) + 1;
$("input[type='hidden']").val(click);
$( "button[name='z1']").text(simbolo);
mudarSimbolo();
});
$( "button[name='z2']" ).click(function()
{
var simbolo = $( "label[id='jogador']").text();
var click = parseInt($("input[type='hidden']").val()) ;
click = parseInt(click) + 1;
$("input[type='hidden']").val(click);
$( "button[name='z2']").text(simbolo);
mudarSimbolo();
});
$( "button[name='z3']" ).click(function()
{
var simbolo = $( "label[id='jogador']").text();
var click = parseInt($("input[type='hidden']").val()) ;
click = parseInt(click) + 1;
$("input[type='hidden']").val(click);
$( "button[name='z3']").text(simbolo);
mudarSimbolo();
});
Não se assuste pelo tamanho do código, pois é tudo parecido. O que muda mesmo, é o nome do botão que estamos nos referindo.
Bom, o que faz exatamente o click:
- Pega o último símbolo do jogador;
- Tenho a variável click que transforma em inteiro o número de click. Isso será usado mais para frente para ver se deu velha o jogo;
- Coloca o símbolo X ou O no texto do botão:
- Chama a função para mudar o símbolo para o próximo jogador.