PUBLICIDADE
Este código tem nota
8,5

Autor

edercauli

Eder Cauli

membro deste janeiro de 2007

Tags

Compartilhe e guarde

  • Rec6
  • StumbleUpon
  • ueba
  • linkk
  • dihitt
  • linkloko
  • linkto
  • Technorati
  • Simpy
  • del.icio.us
  • Faves: Fave It!

PUBLICIDADE

Enquete

Que linguagem server-side você utiliza?

Jogo da Velha em JavaScript


É ótimo para quem quer aprender a utilizar vetores, o comando document.all e funções em javascript.

<HTML>
<HEAD>
	<META NAME="AUTHOR" CONTENT="WILLIAN FERNANDO SOARES">
	<META NAME="DESCRIPTION" CONTENT="JOGO DA VELHA">
	<META NAME="KEY WORDS" CONTENT="JOGO, VELHA">

	<TITLE>Jogo da véia</TITLE>
</HEAD>

<!-- JOGO DA VELHA PERSONALIZADO -->

<SCRIPT LANGUAGE="javascript">

	var Jogando    = false;	// Identifica se há um jogo ocorrendo ou não.
	var Msg_Padrao = "Clique em 'Jogar agora' para iniciar"; // Mensagem padrão da barra de mensagens do jogo.
	var Vez        = "PC"; // O padrão é o computador começar o jogo.
	var BT_Jogados = 0; // Indica o número de botões jogados na pertida (0 a 9)

	function InformaVitoria(B1, B2, B3)	{
		// Esta função informa o ganhador, marca a sequência feita e atualiza o placar.
		CorPadrao   = "#E0E0E0";
		CorGanhador = "#C0C0C0";
		document.all[B1].style.background = CorGanhador;
		document.all[B2].style.background = CorGanhador;
		document.all[B3].style.background = CorGanhador;

		if (document.all[B1].value==QUADRO.ESCOLHA.value)	{
			alert("Você ganhou.");
			QUADRO.PONTOS_USU.value = (QUADRO.PONTOS_USU.value * 1) + 1;
		} else {
			alert("Computador ganhou.");
			QUADRO.PONTOS_PC.value = (QUADRO.PONTOS_PC.value * 1) + 1;
		}

		document.all[B1].style.background = CorPadrao;
		document.all[B2].style.background = CorPadrao;
		document.all[B3].style.background = CorPadrao;

		Ativacao_Quadro(false); // Desabilita o quadro para limpar os campos,
		Ativacao_Quadro(true);  // Habilita novamente o quadro para continuar o jogo.

		// Se o PC ganhou, ele começa o próximo jogo:
		if (Vez=="PC")
			PC_Jogar();
	}

	function VerResultado()	{
		/*
		Esta função verifica se há um ganhador após a jogada efetuada ou
		se terminou com empate.
		*/

		// Verifica se há ganhador por colunas com X:
		for (coluna=1; coluna<4; coluna++)	{
			if ((document.all["L[1]C["+coluna+"]"].value==" X ")&&(document.all["L[2]C["+coluna+"]"].value==" X ")&&(document.all["L[3]C["+coluna+"]"].value==" X "))	{
				InformaVitoria("L[1]C["+coluna+"]", "L[2]C["+coluna+"]", "L[3]C["+coluna+"]");
				return true;
			}
		}
		// Verifica se há ganhador por colunas com O:
		for (coluna=1; coluna<4; coluna++)	{
			if ((document.all["L[1]C["+coluna+"]"].value==" O ")&&(document.all["L[2]C["+coluna+"]"].value==" O ")&&(document.all["L[3]C["+coluna+"]"].value==" O "))	{
				InformaVitoria("L[1]C["+coluna+"]", "L[2]C["+coluna+"]", "L[3]C["+coluna+"]");
				return true;
			}
		}
		// Verifica se há ganhador por linhas com X:
		for (linha=1; linha<4; linha++)	{
			if ((document.all["L["+linha+"]C[1]"].value==" X ")&&(document.all["L["+linha+"]C[2]"].value==" X ")&&(document.all["L["+linha+"]C[3]"].value==" X "))	{
				InformaVitoria("L["+linha+"]C[1]", "L["+linha+"]C[2]", "L["+linha+"]C[3]");
				return true;
			}
		}
		// Verifica se há ganhador por linhas com O:
		for (linha=1; linha<4; linha++)	{
			if ((document.all["L["+linha+"]C[1]"].value==" O ")&&(document.all["L["+linha+"]C[2]"].value==" O ")&&(document.all["L["+linha+"]C[3]"].value==" O "))	{
				InformaVitoria("L["+linha+"]C[1]", "L["+linha+"]C[2]", "L["+linha+"]C[3]");
				return true;
			}
		}
		// Verifica se há ganhador nas diagonais com X:
		if ((document.all["L[1]C[1]"].value==" X ")&&(document.all["L[2]C[2]"].value==" X ")&&(document.all["L[3]C[3]"].value==" X "))	{
			InformaVitoria("L[1]C[1]", "L[2]C[2]", "L[3]C[3]");
			return true;
		}
		if ((document.all["L[1]C[3]"].value==" X ")&&(document.all["L[2]C[2]"].value==" X ")&&(document.all["L[3]C[1]"].value==" X "))	{
			InformaVitoria("L[1]C[3]", "L[2]C[2]", "L[3]C[1]");
			return true;
		}
		// Verifica se há ganhador nas diagonais com O:
		if ((document.all["L[1]C[1]"].value==" O ")&&(document.all["L[2]C[2]"].value==" O ")&&(document.all["L[3]C[3]"].value==" O "))	{
			InformaVitoria("L[1]C[1]", "L[2]C[2]", "L[3]C[3]");
			return true;
		}
		if ((document.all["L[1]C[3]"].value==" O ")&&(document.all["L[2]C[2]"].value==" O ")&&(document.all["L[3]C[1]"].value==" O "))	{
			InformaVitoria("L[1]C[3]", "L[2]C[2]", "L[3]C[1]");
			return true;
		}

		if (BT_Jogados==9)	{
			if (Vez=="PC")	{
				Nome = "Você";
			} else {
				Nome = "Computador";
			}
			alert("Empate! "+Nome+" joga novamente.");
			Ativacao_Quadro(false);
			Ativacao_Quadro(true);
		}
	}

	function Ver_Chances(Jogador)	{
		/*
		Esta função verifica se há chance de algum jogador (PC ou você) fechar a partida, ou seja,
		completar uma sequência de 3 quadros com X ou O.
		Se Houver alguma chance, ela retorna o quadro que deve ser preenchido para fechar a partida.
		*/

		if (Jogador=="PC")	{
			// Se quer ver as chances do computador...
			if (QUADRO.ESCOLHA.value==" X ")	{
				// Verifica a escolha do usuário e busca a outra.
				Op = " O ";
			} else {
				Op = " X ";
			}
		} else {
			// Se quer buscar as chances do usuário, verifica qual foi a sua escolha.
			Op = QUADRO.ESCOLHA.value;
		}

		var N = "....."; // Valor padrão para o quadro ainda não jogado.

		/*
		Primeiro, é preciso criar uma matriz que armazena quais são as posições possíveis
		do jogo para se fechar a partida.
		Existem 21 chances de ganhar fechar o jogo.
		*/

		Chances = new Array();
		Chances[0]  = new Array("L[1]C[1]", "L[1]C[2]", "L[1]C[3]"); // X X . (linha 1)
		Chances[1]  = new Array("L[1]C[1]", "L[1]C[3]", "L[1]C[2]"); // X . X (linha 1)
		Chances[2]  = new Array("L[1]C[2]", "L[1]C[3]", "L[1]C[1]"); // . X X (linha 1)
		Chances[3]  = new Array("L[2]C[1]", "L[2]C[2]", "L[2]C[3]"); // X X . (linha 2)
		Chances[4]  = new Array("L[2]C[1]", "L[2]C[3]", "L[2]C[2]"); // X . X (linha 2)
		Chances[5]  = new Array("L[2]C[2]", "L[2]C[3]", "L[2]C[1]"); // . X X (linha 2)
		Chances[6]  = new Array("L[3]C[1]", "L[3]C[2]", "L[3]C[3]"); // X X . (linha 3)
		Chances[7]  = new Array("L[3]C[1]", "L[3]C[3]", "L[3]C[2]"); // X . X (linha 3)
		Chances[8]  = new Array("L[3]C[2]", "L[3]C[3]", "L[3]C[1]"); // . X X (linha 3)
		Chances[9]  = new Array("L[1]C[1]", "L[2]C[1]", "L[3]C[1]"); // X X . (coluna 1)
		Chances[10] = new Array("L[1]C[1]", "L[3]C[1]", "L[2]C[1]"); // X . X (coluna 1)
		Chances[11] = new Array("L[2]C[1]", "L[3]C[1]", "L[1]C[1]"); // . X X (coluna 1)
		Chances[12] = new Array("L[1]C[2]", "L[2]C[2]", "L[3]C[2]"); // X X . (coluna 2)
		Chances[13] = new Array("L[1]C[2]", "L[3]C[2]", "L[2]C[2]"); // X . X (coluna 2)
		Chances[14] = new Array("L[2]C[2]", "L[3]C[2]", "L[1]C[2]"); // . X X (coluna 2)
		Chances[15] = new Array("L[1]C[3]", "L[2]C[3]", "L[3]C[3]"); // X X . (coluna 3)
		Chances[16] = new Array("L[1]C[3]", "L[3]C[3]", "L[2]C[3]"); // X . X (coluna 3)
		Chances[17] = new Array("L[2]C[3]", "L[3]C[3]", "L[1]C[3]"); // . X X (coluna 3)
		Chances[18] = new Array("L[1]C[1]", "L[2]C[2]", "L[3]C[3]"); // X X . (diag. esq.)
		Chances[19] = new Array("L[1]C[1]", "L[3]C[3]", "L[2]C[2]"); // X . X (diag. esq.)
		Chances[20] = new Array("L[2]C[2]", "L[3]C[3]", "L[1]C[1]"); // . X X (diag. esq.)
		Chances[21] = new Array("L[1]C[3]", "L[2]C[2]", "L[3]C[1]"); // X X . (diag. dir.)
		Chances[22] = new Array("L[1]C[3]", "L[3]C[1]", "L[2]C[2]"); // X . X (diag. dir.)
		Chances[23] = new Array("L[2]C[2]", "L[3]C[1]", "L[1]C[3]"); // . X X (diag. dir.)

		var item = 0;
		while (item < 24)	{
			/*
			Agora verifica as possibilidades até encontrar alguma chance.
			*/
			if ((document.all[Chances[item][0]].value==Op)&&(document.all[Chances[item][1]].value==Op)&&(document.all[Chances[item][2]].value==N))	{
				// Se encontrou, retorna o quadro a ser jogado para fechar a sequência.
				return Chances[item][2];
				// E para a busca por chances.
				break;
			}

			item++; // Verificar a próxima possibilidade.
		}
	}

	function Armacoes()	{
		/* Esta função busca locais onde é possível armar jogadas para fechar 
		o jogo no próximo lance. */
		Jogadas = new Array();
		Jogadas[0]  = new Array("L[1]C[1]", "L[1]C[2]", "L[1]C[3]"); // . . X (linha 1)
		Jogadas[1]  = new Array("L[1]C[1]", "L[1]C[3]", "L[1]C[2]"); // . X . (linha 1)
		Jogadas[2]  = new Array("L[1]C[3]", "L[1]C[2]", "L[1]C[1]"); // X . . (linha 1)
		Jogadas[3]  = new Array("L[2]C[1]", "L[2]C[2]", "L[2]C[3]"); // . . X (linha 2)
		Jogadas[4]  = new Array("L[2]C[1]", "L[2]C[3]", "L[2]C[2]"); // . X . (linha 2)
		Jogadas[5]  = new Array("L[2]C[3]", "L[2]C[2]", "L[2]C[1]"); // X . . (linha 2)
		Jogadas[6]  = new Array("L[3]C[1]", "L[3]C[2]", "L[3]C[3]"); // . . X (linha 3)
		Jogadas[7]  = new Array("L[3]C[1]", "L[3]C[3]", "L[3]C[2]"); // . X . (linha 3)
		Jogadas[8]  = new Array("L[3]C[3]", "L[3]C[2]", "L[3]C[1]"); // X . . (linha 3)
		Jogadas[9]  = new Array("L[1]C[1]", "L[2]C[1]", "L[3]C[1]"); // . . X (coluna 1)
		Jogadas[10] = new Array("L[1]C[1]", "L[3]C[1]", "L[2]C[1]"); // . X . (coluna 1)
		Jogadas[11] = new Array("L[3]C[1]", "L[2]C[1]", "L[1]C[1]"); // X . . (coluna 1)
		Jogadas[12] = new Array("L[1]C[2]", "L[2]C[2]", "L[3]C[2]"); // . . X (coluna 2)
		Jogadas[13] = new Array("L[1]C[2]", "L[3]C[2]", "L[2]C[2]"); // . X . (coluna 2)
		Jogadas[14] = new Array("L[3]C[2]", "L[2]C[2]", "L[1]C[2]"); // X . . (coluna 2)
		Jogadas[15] = new Array("L[1]C[3]", "L[2]C[3]", "L[3]C[3]"); // . . X (coluna 3)
		Jogadas[16] = new Array("L[1]C[3]", "L[3]C[3]", "L[2]C[3]"); // . X . (coluna 3)
		Jogadas[17] = new Array("L[3]C[3]", "L[2]C[3]", "L[1]C[3]"); // X . . (coluna 3)
		Jogadas[18] = new Array("L[1]C[1]", "L[2]C[2]", "L[3]C[3]"); // . . X (diag. esq.)
		Jogadas[19] = new Array("L[1]C[1]", "L[3]C[3]", "L[2]C[2]"); // . X . (diag. esq.)
		Jogadas[20] = new Array("L[3]C[3]", "L[2]C[2]", "L[1]C[1]"); // X . . (diag. esq.)
		Jogadas[21] = new Array("L[1]C[3]", "L[2]C[2]", "L[3]C[1]"); // . . X (diag. dir.)
		Jogadas[22] = new Array("L[1]C[3]", "L[3]C[1]", "L[2]C[2]"); // . X . (diag. dir.)
		Jogadas[23] = new Array("L[3]C[1]", "L[2]C[2]", "L[1]C[3]"); // X . . (diag. dir.)

		// Com as jogadas armazenadas, basta buscar uma possibilidade.
		for (jog=0; jog<24; jog++)	{
			if ((document.all[Jogadas[jog][0]].value==".....")&&(document.all[Jogadas[jog][1]].value==".....")&&(document.all[Jogadas[jog][2]].value==Simb_PC))	{
				// Se encontrou uma jogada para armar, retorna a referência.
				return Jogadas[jog][0];
			}
		}
		return false;
	}

	function PC_Jogar()	{
		// Esta função faz o computador jogar contra o usuário.
		// Primeiro, verifica se o PC vai jogar com "X" ou com "O"
		if (QUADRO.ESCOLHA.value==" O ")	{
			Simb_PC  = " X ";
			Simb_USU = " O ";
		} else {
			Simb_PC  = " O ";
			Simb_USU = " X ";
		}

		if (QUADRO.NIVEL.value=="F")	{
			/*
			Se o usuário está jogando no nível fácil
			o computador simplesmente encontra o próximo quadro disponível
			e joga nele a sua escolha (X ou O), sem avaliar as chances de ganhar.
			*/
			Jogou = false; // Atribui que ainda nao efetuou a jogada...
			for (linha=1; linha<4; linha++)	{
				for (coluna=1; coluna<4; coluna++)	{
					if (Jogou)	{
						// Se já jogou sai do loop.
						break;
					} else {
						// Se não, 
						BOTAO = "L["+linha+"]C["+coluna+"]";
						// Verifica se o botão já foi usado e joga nele a escolha.
						if (document.all[BOTAO].value==".....")	{
							document.all[BOTAO].value=Simb_PC;
							Jogou = true;
						}
					}
				}
			}
		} else {
			// Se o usuário está jogando no nível difícil...

			// Procura as chances do usuário:
			var ChancesUSU = Ver_Chances("USU");
			// Procura as chances do compuatdor:
			var ChancesPC = Ver_Chances("PC");

			if (ChancesPC)	{
					// Se o compuador puder fechar a partida, ele o faz:
					document.all[ChancesPC].value=Simb_PC;
			} else {
				if (ChancesUSU)	{
					// Se o usuário puder fechar a partida, o computador impedirá.
					document.all[ChancesUSU].value=Simb_PC;
				} else {
					/* Se não há chances de nenhum dos jogadores fecharem a partida,
					   o computador procura a melhor alternativa para jogar.
					*/
					if (BT_Jogados==0)	{
						// Se niguem jogou e o PC começa...
						// Joga começando do canto.
						document.all["L[1]C[1]"].value=Simb_PC;
					} else if (BT_Jogados==1)	{
						// Se o PC faz o segundo lance do jogo...
						if ((document.all["L[1]C[1]"].value==Simb_USU)||(document.all["L[1]C[3]"].value==Simb_USU)||(document.all["L[3]C[1]"].value==Simb_USU)||(document.all["L[3]C[3]"].value==Simb_USU))	{
							/* Se o Usuário começou jogando pelos cantos, 
								o PC joga no centro.
							*/
							document.all["L[2]C[2]"].value=Simb_PC;
						} else {
							// Se não, o PC joga no canto.
							document.all["L[1]C[1]"].value=Simb_PC;
						}
					} else if (BT_Jogados==2)	{
						// Se o PC faz o terceiro lance do jogo...
						// vai procurar jogar em outro canto.
						if (document.all["L[1]C[1]"].value==".....") {
							// Canto superior esquerdo.
							document.all["L[1]C[1]"].value = Simb_PC;
						} else if (document.all["L[1]C[3]"].value==".....")	{
							// Canto superior direito.
							document.all["L[1]C[3]"].value = Simb_PC;
						} else if (document.all["L[3]C[1]"].value==".....")	{
							// Canto inferior esquerdo.
							document.all["L[3]C[1]"].value = Simb_PC;
						} else if (document.all["L[3]C[3]"].value==".....")	{
							// Canto inferior direito.
							document.all["L[3]C[3]"].value = Simb_PC;
						}
					} else if (BT_Jogados==3) {
						// Se o computador faz o quarto lance...
						if (document.all["L[2]C[2]"].value==Simb_PC)	{
							// Se o usuário começou jogando pelos cantos...
							if ((document.all["L[2]C[1]"].value==".....")&&(document.all["L[2]C[3]"].value=="....."))	{
								document.all["L[2]C[1]"].value=Simb_PC;
							} else if ((document.all["L[1]C[2]"].value==".....")&&(document.all["L[3]C[2]"].value=="....."))	{
								document.all["L[3]C[2]"].value=Simb_PC;
							}
						} else {
							if (document.all["L[1]C[1]"].value==".....") {
								// Canto superior esquerdo.
								document.all["L[1]C[1]"].value = Simb_PC;
							} else if (document.all["L[1]C[3]"].value==".....")	{
								// Canto superior direito.
								document.all["L[1]C[3]"].value = Simb_PC;
							} else if (document.all["L[3]C[1]"].value==".....")	{
								// Canto inferior esquerdo.
								document.all["L[3]C[1]"].value = Simb_PC;
							} else if (document.all["L[3]C[3]"].value==".....")	{
								// Canto inferior direito.
								document.all["L[3]C[3]"].value = Simb_PC;
							}							
						}
					} else {
						/* Para mais de 3 jogadas sem chances de vitórias para nenhum dos
						jogadores, o PC irá procurar os quadros vazios restantes para jogar.
						*/

						ProximaJog = Armacoes(); // Busca uma jogada ideal.

						if (ProximaJog)	{
							// Se há uma jogada ideal, a realiza.
							document.all[ProximaJog].value = Simb_PC;
						} else {
							// Se não há uma jogada ideal, busca um quadro vazio e joga.
							// Cria o vetor com os endereços dos quadros
							xQuadros = new Array("L[1]C[1]", "L[1]C[3]", "L[3]C[1]", "L[3]C[3]", "L[1]C[2]", "L[3]C[2]", "L[2]C[1]", "L[2]C[3]");
							for (R=1; R<9; R++)	{
								if (document.all[xQuadros[R]].value==".....")	{
									// Procura um quadro vazio...e joga.
									document.all[xQuadros[R]].value=Simb_PC;
									// Para a busca quando encontrar.
									break;
								}
							}
						}
					}
				}
			}
		}

		// Atualiza a soma dos botões jogados:
		BT_Jogados++;

		// Se jogada não resultar em vitória ou empate...
		if (!VerResultado())	{
			// Passa a vez de jogar para o usuário:
			Vez = "USU";
			QUADRO.MENSG.value = "Aguardando você jogar...";
		}
	}

	function Usuario_Joga(Linha, Coluna)	{
		// Esta função recebe a jogada do usuário e aplica-a ao jogo.
		if (Vez=="USU")	{
		// Se for a vez do usuário jogar...
			// Cria o botão,
			BOTAO = "L[" + Linha + "]C[" + Coluna + "]";
			// Verifica se este botão já foi usado no jogo.
			if (document.all[BOTAO].value!=".....")	{
				alert("Este quadro já foi usado, escolha outro!");
			} else {
				// Aplica a jogada ao botão:
				document.all[BOTAO].value = QUADRO.ESCOLHA.value;
				// Atualiza a soma dos botões já utilizados no jogo:
				BT_Jogados++;

				// Se jogada não resultar em vitoria ou empate...
				if (!VerResultado())	{
					// Passa a vez de jogar para o computador:
					Vez = "PC";
					QUADRO.MENSG.value = "Aguardando o computador jogar...";
					PC_Jogar();
				}
			}
		} else {
		// Se não o avisa:
			alert("Não é a sua vez! Aguarde o computador jogar!");
		}
	}

	function FocarBotao()	{
		// Seleciona o botão "Jogar agora" ao iniciar a página.
		QUADRO.BTJOGAR.focus();
	}

	function BTJOGAR_Click()	{
		/* Esta função verificar qual ação será tomada pelo botão 'Jogar agora':
		   iniciar o jogo ou interrompê-lo
		*/

		if (Jogando)	{
			// Se já está jogando, para o jogo.
			PararJogo();
		} else {
			// Se está parado, inicia o jogo.
			IniciarJogo();
		}
	}

	function Ativacao_Quadro(Acao)	{
		/* Esta função ativa ou desativa quadro habilitando/desabilitando os 9 botões de seleção X ou O.
			Acao = true  => habilita o quadro.
			Acao = false => desabilita o quadro.
		*/
		for (linha=1; linha < 4; linha++)	{
		// Conta de 1 a 3 (linhas do quadro)
			for (coluna=1; coluna < 4; coluna++)	{
			// Conta de 1 a 3 (colunas do quadro)
				BOTAO = "L["+linha+"]C["+coluna+"]"; // Cria o nome do respectivo botão com a linha e coluna.
				// Faz a modificação da propriedade do botão:
				document.all[BOTAO].disabled = (!Acao);
				if (!Acao)	// Se for desativar, limpa os jogos efetuados no quadro.
					document.all[BOTAO].value = ".....";
			}
		}

		// Ao desativar/ativar o quadro, a soma dos botões jogados é zerada:
		BT_Jogados = 0;
	}

	function Zera_Placar()	{
		// Esta função zera o placar do jogo.
		QUADRO.PONTOS_PC.value  = "0";
		QUADRO.PONTOS_USU.value = "0";
	}

	function IniciarJogo()	{
		/* Esta função dá inicio ao jogo,
		   desabilitando a escolha da letra e alterando o botão 'Jogar agora' para
		   'Parar jogo'
		*/

		if (QUADRO.ESCOLHA.value=="")	{
			alert("Selecione sua opção (X ou O)!");
			QUADRO.ESCOLHA.focus();
		} else {
			Jogando = true; // Agora há um jogo em andamento.
			QUADRO.ESCOLHA.disabled    = true; // Não deixa escolher X ou O enquanto estiver jogando.
			QUADRO.NIVEL.disabled      = true; // Não deixa alterar o nível (difícil/fácil) enquanto joga.
			QUADRO.BTJOGAR.value       = "Parar jogo"; // Altera o botão 'Jogar agora' para 'Parar jogo'
			QUADRO.BTJOGAR.style.color = "#DD0000";		// Muda a cor do texto do botão 'Jogar agora' para vermelho.
			Ativacao_Quadro(true); // Habilita o quadro para jogar.

			/* Se for o PC que começa a jogar, chama a função PC_Jogar();
			   se for o usuário que começa a jogar, aguarda o seu lance.
			*/
			if (QUADRO.Q_COMECA.value=="PC")	{
				QUADRO.MENSG.value = "Aguardando o computador jogar...";
				Vez = "PC";
				PC_Jogar();
			} else {
				QUADRO.MENSG.value = "Aguardando você jogar...";
				Vez = "USU";
			}
		}
	}

	function PararJogo()	{
		/* Esta função interrompe um jogo em andamento sem somar ponto
		   para as equipes e desfaz as alterações do quadro.
		   O jogo será interrompido somente se o usuário confirmar a solicitação.
		*/
		if (confirm("Deseja mesmo parar o jogo agora?"))	{  // Solicita confirmação para interromper o jogo.
			// Se a confirmação foi aceita...
			Jogando = false; // Agora o jogo foi interrompido.
			QUADRO.ESCOLHA.disabled    = false; // Libera a escolha de X ou O.
			QUADRO.NIVEL.disabled      = false; // Libera a escolha do nível do jogo.
			QUADRO.BTJOGAR.value       = "Jogar agora"; // Altera o botão 'Parar jogo' para 'Jogar agora'.
			QUADRO.BTJOGAR.style.color = "#0000DD";	// Muda a cor do texto do botão 'Jogar agora' para azul.
			QUADRO.MENSG.value         = Msg_Padrao; // Altera texto da barra de mensagens.
			Ativacao_Quadro(false)	// Desabilita o quadro de botões impedindo o jogo.
		}
	}

</SCRIPT>

<BODY BGCOLOR="#ffddb0" TEXT="#00000" ONLOAD="FocarBotao()">
	<CENTER>
	<FORM NAME="QUADRO">
	<TABLE BORDER="1" CELLSPACING="2" CELLPADDING="10">
		<TR>
			<TD COLSPAN="3" ALIGN="CENTER" BGCOLOR="#FFEED0">
				<FONT FACE="VERDANA" SIZE="2"><B>
				<MARQUEE>Tente ganhar este jogo da véia!</MARQUEE>

			</TD>
		</TR>
	<!-- PRIMEIRA LINHA DE BOTOES DO QUADRO -->
		<TR>
			<TD BGCOLOR="#FFDDB0" ALIGN="CENTER" VALIGN="MIDDLE" ONMOUSEOVER="this.bgColor='#D0D0D0'" ONMOUSEOUT="this.bgColor='#FFDDB0'">
				<INPUT TYPE="BUTTON" NAME="L[1]C[1]" DISABLED VALUE="....." STYLE="font-family: arial; font-size: 25 px; font-weight: bold; background: #E0E0E0" ONCLICK="Usuario_Joga(1,1)">
			</TD>
			<TD BGCOLOR="#FFDDB0" ALIGN="CENTER" VALIGN="MIDDLE" ONMOUSEOVER="this.bgColor='#D0D0D0'" ONMOUSEOUT="this.bgColor='#FFDDB0'">
				<INPUT TYPE="BUTTON" NAME="L[1]C[2]" DISABLED VALUE="....." STYLE="font-family: arial; font-size: 25 px; font-weight: bold; background: #E0E0E0" ONCLICK="Usuario_Joga(1,2)">

			</TD>
			<TD BGCOLOR="#FFDDB0" ALIGN="CENTER" VALIGN="MIDDLE" ONMOUSEOVER="this.bgColor='#D0D0D0'" ONMOUSEOUT="this.bgColor='#FFDDB0'">
				<INPUT TYPE="BUTTON" NAME="L[1]C[3]" DISABLED VALUE="....." STYLE="font-family: arial; font-size: 25 px; font-weight: bold; background: #E0E0E0" ONCLICK="Usuario_Joga(1,3)">
			</TD>
		</TR>
	<!-- SEGUNDA LINHA DE BOTOES DO QUADRO -->
		<TR>
			<TD BGCOLOR="#FFDDB0" ALIGN="CENTER" VALIGN="MIDDLE" ONMOUSEOVER="this.bgColor='#D0D0D0'" ONMOUSEOUT="this.bgColor='#FFDDB0'">
				<INPUT TYPE="BUTTON" NAME="L[2]C[1]" DISABLED VALUE="....." STYLE="font-family: arial; font-size: 25 px; font-weight: bold; background: #E0E0E0" ONCLICK="Usuario_Joga(2,1)">

			</TD>
			<TD BGCOLOR="#FFDDB0" ALIGN="CENTER" VALIGN="MIDDLE" ONMOUSEOVER="this.bgColor='#D0D0D0'" ONMOUSEOUT="this.bgColor='#FFDDB0'">
				<INPUT TYPE="BUTTON" NAME="L[2]C[2]" DISABLED VALUE="....." STYLE="font-family: arial; font-size: 25 px; font-weight: bold; background: #E0E0E0" ONCLICK="Usuario_Joga(2,2)">
			</TD>
			<TD BGCOLOR="#FFDDB0" ALIGN="CENTER" VALIGN="MIDDLE" ONMOUSEOVER="this.bgColor='#D0D0D0'" ONMOUSEOUT="this.bgColor='#FFDDB0'">
				<INPUT TYPE="BUTTON" NAME="L[2]C[3]" DISABLED VALUE="....." STYLE="font-family: arial; font-size: 25 px; font-weight: bold; background: #E0E0E0" ONCLICK="Usuario_Joga(2,3)">
			</TD>
		</TR>
	<!-- TERCEIRA LINHA DE BOTOES DO QUADRO -->

		<TR>
			<TD BGCOLOR="#FFDDB0" ALIGN="CENTER" VALIGN="MIDDLE" ONMOUSEOVER="this.bgColor='#D0D0D0'" ONMOUSEOUT="this.bgColor='#FFDDB0'">
				<INPUT TYPE="BUTTON" NAME="L[3]C[1]" DISABLED VALUE="....." STYLE="font-family: arial; font-size: 25 px; font-weight: bold; background: #E0E0E0" ONCLICK="Usuario_Joga(3,1)">
			</TD>
			<TD BGCOLOR="#FFDDB0" ALIGN="CENTER" VALIGN="MIDDLE" ONMOUSEOVER="this.bgColor='#D0D0D0'" ONMOUSEOUT="this.bgColor='#FFDDB0'">
				<INPUT TYPE="BUTTON" NAME="L[3]C[2]" DISABLED VALUE="....." STYLE="font-family: arial; font-size: 25 px; font-weight: bold; background: #E0E0E0" ONCLICK="Usuario_Joga(3,2)">
			</TD>
			<TD BGCOLOR="#FFDDB0" ALIGN="CENTER" VALIGN="MIDDLE" ONMOUSEOVER="this.bgColor='#D0D0D0'" ONMOUSEOUT="this.bgColor='#FFDDB0'">
				<INPUT TYPE="BUTTON" NAME="L[3]C[3]" DISABLED VALUE="....." STYLE="font-family: arial; font-size: 25 px; font-weight: bold; background: #E0E0E0" ONCLICK="Usuario_Joga(3,3)">

			</TD>
		</TR>
	<!-- CONFIGURAÇÕES DO JOGO -->
		<TR>
			<TD COLSPAN="3" ALIGN="CENTER">
				<SELECT NAME="ESCOLHA" SIZE="2" STYLE="font-family: verdana; font-size: 8 pt;">
					<OPTION VALUE=" O " SELECTED>Jogar com 'O'</OPTION>
					<OPTION VALUE=" X ">Jogar com 'X'</OPTION>

				</SELECT>
				<SELECT NAME="Q_COMECA" SIZE="2" STYLE="font-family: verdana; font-size: 8 pt;">
					<OPTION VALUE="PC" SELECTED>Computador começa</OPTION>
					<OPTION VALUE="USU">Você começa</OPTION>
				</SELECT>
				<BR>
				<SELECT NAME="NIVEL" SIZE="1" STYLE="font-family: verdana; font-size: 8 pt;">
					<OPTION VALUE="D" SELECTED>Jogar no nível difícil</OPTION>

					<OPTION VALUE="F">Jogar no nível fácil</OPTION>
				</SELECT>
				<P>
				<INPUT TYPE="BUTTON" VALUE="Jogar agora" NAME="BTJOGAR" STYLE="font-family: verdana; font-size: 8 pt; font-weight: bold; color: #0000DD; background: #d0d0d0;" ONCLICK="BTJOGAR_Click()" ONMOUSEOVER="this.style.background='#f0f0f0'" ONMOUSEOUT="this.style.background='#d0d0d0'">
				<INPUT TYPE="BUTTON" VALUE="Zerar placar" NAME="ZERAR" STYLE="font-family: verdana; font-size: 8 pt; font-weight: bold; color: #0000DD; background: #d0d0d0;" ONCLICK="Zera_Placar()" ONMOUSEOVER="this.style.background='#f0f0f0'" ONMOUSEOUT="this.style.background='#d0d0d0'">
			</TD>
		</TR>
	<!-- PLACAR DO JOGO -->

		<TR>
			<TD ALIGN="CENTER" COLSPAN="3">
				<FONT FACE="VERDANA" SIZE="1"><B>
				Pontos<BR></B>
				Computador:<BR>
				<INPUT TYPE="TEXT" NAME="PONTOS_PC" READONLY SIZE="10" VALUE="0" STYLE="font-family: verdana; font-size: 8 pt;"><BR>
				Você:<BR>

				<INPUT TYPE="TEXT" NAME="PONTOS_USU" READONLY SIZE="10" VALUE="0" STYLE="font-family: verdana; font-size: 8 pt;"><BR>
			</TD>
		</TR>
	<!-- BARRA DE MENSAGENS DO JOGO -->
		<TR>
			<TD BGCOLOR="#000000" ALIGN="CENTER" COLSPAN="3">
				<INPUT TYPE="TEXT" NAME="MENSG" READONLY SIZE="40" VALUE="Clique em 'Jogar agora' para iniciar" STYLE="font-family: verdana; font-size: 8 pt; background: #000000; color: #ffffff"><BR>
			</TD>
		</TR>

	<!-- CREDITOS -->
		<TR>
			<TD ALIGN="CENTER" COLSPAN="3">
				<FONT FACE="ARIAL" SIZE="1" COLOR="#000000">
				Willian Fernando Soares<BR>
				<A HREF="mailto: wfsoares@unimep.br">wfsoares@unimep.br</A>
				ou
				<A HREF="mailto: ederconsultor@bol.com.br">eder_masterhtp@msn.com</A>

			</TD>
		</TR>
	</TABLE>
	</FORM>
</BODY>
</HTML>

Sim   Não   Este código foi útil para você?
NotaComentário
9
nmrfacha comentou em 6/7/2009

bom!

Este codigo é muito bom, no entanto o nivel "facil" é facil de mais e não tem um novel intermedio...

Nota: 9
8
123678 comentou em 7/12/2008

Gostei

Legal....
Regras:
Os comentários seguem as seguintes regras:
  • Todos os comentários são enviados por membros cadastrados no site.
  • A pontuação de comentários de conteúdo do próprio membro não serão computados.
  • Os comentários serão pré-aprovados, porém a equipe do site revisará o conteúdo de todos os comentários podendo ser invalidados (inclusive a pontuação).
  • Os comentários precisam ter, obrigatóriamente, coerência sobre o conteúdo que será comentado.
  • O membro que atingir 5 comentários invalidados não poderá mais comentar dentro do site. Com isso o membro não poderá mais ganhar pontos com comentários.
  • Há um limite de 10 comentários por dia para cada membro.
  • Qualquer comentário após ter sido publicado poderá ser retirado através da opção ( denunciar)

Comente

     (ainda não tem cadastro? clique aqui!)


Máximo de 30 caracteres

Máximo de 255 caracteres
 

R&W Consulting - Soluções Web Hospedagem UOL HOST PagSeguro - solução para pagamentos online
© 2006-2009 R&W Informática Ltda. - Todos os direitos reservados.