AngusYoung Posted May 9, 2012 at 09:34 AM Report #454021 Posted May 9, 2012 at 09:34 AM Boas, programadores! Estou com um problema num trabalho. Para praticar o que tenho aprendido, decidi fazer o jogo do galo (em texto, sem GUI, o que ainda torna o trabalho mais complicado de certa maneira), e está-me a dar um erro que estou com problemas a resolver. Este é o código que já fiz: import java.util.Scanner; public class Jogo { public static void main(String args[]){ int coordenadaVertical; int coordenadaHorizontal; String arrayJogo[][] = new String[4][4]; arrayJogo[1][1] = " "; arrayJogo[1][2] = " "; arrayJogo[1][3] = " "; arrayJogo[2][1] = " "; arrayJogo[2][2] = " "; arrayJogo[2][3] = " "; arrayJogo[3][1] = " "; arrayJogo[3][2] = " "; arrayJogo[3][3] = " "; String desenho = (" _________________\n| | | |\n| "+ arrayJogo[1][1] +" | "+ arrayJogo[1][2] +" | "+ arrayJogo[1][3] +" |\n|_____|_____|_____|\n| | | |\n| "+ arrayJogo[2][1] +" | "+ arrayJogo[2][2] +" | "+ arrayJogo[2][3] +" |\n|_____|_____|_____|\n| | | |\n| "+ arrayJogo[3][1] +" | "+ arrayJogo[3][2] +" | "+ arrayJogo[3][3] +" |\n|_____|_____|_____|"); Scanner teclado = new Scanner(System.in); //------------------------------------------------------------------------------------------------------------------// System.out.println(desenho); System.out.println("Jogador 1:"); System.out.println("Insira o número da coordenada vertical (1-3):"); coordenadaVertical = teclado.nextInt(); System.out.println("Insira o número da coordenada horizontal (1-3):"); coordenadaHorizontal = teclado.nextInt(); arrayJogo[coordenadaVertical][coordenadaHorizontal] = "X"; System.out.println("coordenadaVertical:" +coordenadaVertical); System.out.println("coordenadaHorizontal:" +coordenadaHorizontal); System.out.println("arrayJogo[coordenadaVertical][coordenadaHorizontal]:" +arrayJogo[coordenadaVertical][coordenadaHorizontal]); System.out.println(desenho); } } (os prints de todas as variáveis foram inseridos para verificar o estado de cada um e ver se assim percebia onde estava o erro, mas sem sucesso) Este código, quando executado, retorna isto: _________________ | | | | | | | | |_____|_____|_____| | | | | | | | | |_____|_____|_____| | | | | | | | | |_____|_____|_____| Jogador 1: Insira o número da coordenada vertical (1-3): 2 Insira o número da coordenada horizontal (1-3): 2 coordenadaVertical:2 coordenadaHorizontal:2 arrayJogo[coordenadaVertical][coordenadaHorizontal]:X _________________ | | | | | | | | |_____|_____|_____| | | | | | | | | |_____|_____|_____| | | | | | | | | |_____|_____|_____| O problema é que na segunda impressão, deveria aparecer um X nas coordenadas escolhidas, de acordo com o código. Mas não sei porquê, não aparece. Tenho a certeza que algo me está a passar ao lado e que este é um erro bem simples, mas não estou a encontrar uma solução. Alguém me pode ajudar? Obrigado desde já, Angus Young Isto porque, saber a composicão do granito, os estágios da evolucão psicológica humana ou as deambulacões do Sartre não indicam puto sobre as competências de alguém num determinado campo específico e muito menos sobre o que as pessoas gostam de fazer ou a sua capacidade de aprendizagem. - bubulindo, 15 de Fevereiro de 2013 - 02:01
joelbrito Posted May 9, 2012 at 10:05 AM Report #454026 Posted May 9, 2012 at 10:05 AM A string desenho foi definida em cima com os "campos" em branco. Ao imprimires a 2ª ves, vais imprimir a mesma string. Tens que voltar a "construir" a string desenho. arrayJogo[coordenadaVertical][coordenadaHorizontal] = "X"; String desenho = (" _________________\n| | | |\n| "+ arrayJogo[1][1] +" | "+ arrayJogo[1][2] +" | "+ arrayJogo[1][3] +" |\n|_____|_____|_____|\n| | | |\n| "+ arrayJogo[2][1] +" | "+ arrayJogo[2][2] +" | "+ arrayJogo[2][3] +" |\n|_____|_____|_____|\n| | | |\n| "+ arrayJogo[3][1] +" | "+ arrayJogo[3][2] +" | "+ arrayJogo[3][3] +" |\n|_____|_____|_____|"); System.out.println("coordenadaVertical:" +coordenadaVertical); System.out.println("coordenadaHorizontal:" +coordenadaHorizontal); System.out.println("arrayJogo[coordenadaVertical][coordenadaHorizontal]:" +arrayJogo[coordenadaVertical][coordenadaHorizontal]); System.out.println(desenho); ou então crias um método para imprimir a tela do jogo. Engenharia de Sistemas Informáticos @ IPCA "Estou convencido de que cerca de metade do que separa os empreendedores de sucesso daqueles malsucedidos é a pura perseverança." - Steve Jobs
AngusYoung Posted May 9, 2012 at 10:08 AM Author Report #454028 Posted May 9, 2012 at 10:08 AM Sabes quando acontece aquele "clique" no teu cérebro e uma luz se acende? Foi o que me acabou de acontecer 😉 Isto porque, saber a composicão do granito, os estágios da evolucão psicológica humana ou as deambulacões do Sartre não indicam puto sobre as competências de alguém num determinado campo específico e muito menos sobre o que as pessoas gostam de fazer ou a sua capacidade de aprendizagem. - bubulindo, 15 de Fevereiro de 2013 - 02:01
AngusYoung Posted May 9, 2012 at 10:10 AM Author Report #454029 Posted May 9, 2012 at 10:10 AM Consegui resolver o erro! Obrigado 😉 Isto porque, saber a composicão do granito, os estágios da evolucão psicológica humana ou as deambulacões do Sartre não indicam puto sobre as competências de alguém num determinado campo específico e muito menos sobre o que as pessoas gostam de fazer ou a sua capacidade de aprendizagem. - bubulindo, 15 de Fevereiro de 2013 - 02:01
joelbrito Posted May 9, 2012 at 10:27 AM Report #454033 Posted May 9, 2012 at 10:27 AM Sabes quando acontece aquele "clique" no teu cérebro e uma luz se acende? Foi o que me acabou de acontecer 😉 Tipo à desenhos animados 😁 Engenharia de Sistemas Informáticos @ IPCA "Estou convencido de que cerca de metade do que separa os empreendedores de sucesso daqueles malsucedidos é a pura perseverança." - Steve Jobs
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now