Fala pessoal, tranquilo?
estou comecando com Java e o professor passou um exercicio onde teriamos que fazer um jogo da velha em Java
segue o que ja fizemos http://pastebin.com/QkjrZE1D
o problema eh que se vcs testarem veram que nao esta validando as vitorias corretamente ou empates
quebramos a cabeca em sala mas nada saiu
nao vamos recorrer a “internet” pra resolver precisamos fazer do nosso jeito por mais “errado” que ele possa parecer
precisa funcionar rsrs
Por acaso voce esta usando o GUJ pela Intranet ? acho que nao ne =P
Lego
Eu quiz dizer que nao podemos acessar a internet pra procurar informacoes
tipo o algoritimo ja pronto mas ele nos deixou vir procurar ajuda em foruns rsrsrs
R
rof20004
hahahaha espertinhos -, blz entao, tipo assim, aqui ninguem gosta de fazer trabalho para os outros entende ? entao tipo, vou dar uma olhada e tentar ajudar so dando dicas.
e lai vai uma.
else if(jogadas == 9){
System.out.println("EMPATE");
result = true;
}
Voce sabia que eu posso vencer na ultima jogada ?
Essa logica ae voces vao quebrar a cuca, hehehehe. Se quiser deixar ela pra depois tudo bem ^^
Lego
Entendo perfeitamente eh exatamente isso que procuro, dicas
O Jogador pode vencer em no minimo 5 rodadas
e o max de jogadas que ambos podem fazer sao 9 rodadas
Nos matamos pra pensar em um metodo que valide isso
que em 5 rodadas termine o jogo e que em 9 de empate
mas sempre conseguiamos um e nao o outro
R
rof20004
Qual o que voces nao conseguiam ?
Lego
Nos conseguimos o vencedor
mais o jogo continua ate dar 9 rodadas
devo estar me enrolando em algum while
R
rof20004
Entendi. Vo ver o codigo aqui e ja te falo, tenho mania de ler na pressa, e nunca pego o entendimento de primeira por,causa disso ‘-’
Lego
Aqui se ele encontrar um vencedor ele da a msg de Vitoria e volta para esse ponto
Uhum, acho que entendi o que ta acontecendo, vou te falar somente o meu ponto de vista, tu te vira ae pra ver como vai sair desse calabouço:
Voce tem 2 whiles, um dentro do outro.
O primeiro voce usa para verificar o que ? so pra montar o tabuleiro aparentemente. Entao, o 2 que tem toda a logica e tal.
Quando voce da a vitoria para alguem voce sai do 2 while, que é o do result, voce diz que ele é true e sai, pelo menos é pra sair, se souber fazer debug faça.
Apos isso ele vai pro 1 while, que é o do resp. Ai vem a pergunta , quando voce NAO responde sim, o que voce responde ? o scanner.next(resp) atualiza mesmo essa variavel ?
Lego
Nao consigo sair do while
ta dificil
R
rof20004
o que voce fez ? sabe fazer debug ?
Lego
Sei sim to fazendo aqui ele ta em loop infinito
nessa parte
tabuleiro();System.out.println(j2+", informe a linha de 0 a 2: ");l=scanner.nextInt();validaLinha();System.out.println(j2+", informe a coluna de 0 a 2: ");c=scanner.nextInt();
R
rof20004
Se voce prestar atencao, ele da o final mas nao termina, porque ta certo, o seu codigo ta fazendo isso, apos ele sair do IF do vitoria(X) por exemplo, logo abaixo, ele segue o fluxo normalmente do codigo, e logicamente, tem mais linhas abaixo dele ^^, o certo era quando o cara vencer, voce precisaria colocar dentro do if (result == false), um verificacao se o usuario venceu ou nao, se sim, voce faz uma quebra do while, que é claro, EU NAO vou dizer com que é, kkkkkkkkkkkkk.
R
rof20004
Outra coisa, é feinho voce usar uma comparacao com booleano desse jeito:
if(result==false)
Para booleanos use assim:
if(!result)//aExclamacaotadizendo:"Se o result NAO FOR VERDADEIRO, ou seja, se ele for falseouif(result)//Semaexclamacaotadizendo:"Se o result FOR VERDADEIRO, ou seja, se ele for true
R
rof20004
Mais 1 detalhe antes de dormir, ele nao ta atualizando a tua variavel RESULT, pay attention =D…FUIII
Lego
while( result == false){
if (result = "X")
break;
isso? kk
R
rof20004
Nao mano, e isso nao. Mas o break ta certo ^^, so ta no lugar errado.
Lego
Eu preciso fazer uma verificacao exatamente do que?
R
rof20004
Ultima dica mesmo, agora vo vazar mesmo…
o Break c poe la naqueles ifs la do vitoria X e O, nem precisa mudar la o que tem, so pensa em como vai fazer a logica la dentro…, outra COISA, TEU RESULT NAO TA ATUALIZANDO, pense e reflita guru =D. Eu terminei esse teu jogo da velha aqui, da pra brincar legal man, so nao da pra ganhar dinheiro , kkkkkkkkkkkkkkk… AGORA FUI MESMO QUER VER ? ‘-’
Lego
Ae mano conseguimos la depois de alguns ajustes rsrs
vlw pela ajuda!