Preciso escrever um programa para o jogo da velha. A interac~o entre o usuario e o
seu programa sera feito pelo console. A cada jogada, o usuario deve indicar a
posicao da jogada, isto e, a linha e a coluna da celula que deve receber o simbolo
‘x’. A cada jogada, o programa imprime a disposicao corrente do tabuleiro.
Uma dica: Comece procurando por matriz, ou array bidimensional. Aqui vai o codigo de como vc vai fazer o tabuleiro:
String[][] tabuleiro = {{new String(), new String(), new String()},
{new String(), new String(), new String()},
{new String(), new String(), new String()}};
Repare que nesse codigo, foi criada uma array do tipo String com 3 posicoes por 3 posicoes. Igual a um tabuleiro do jogo da velha, né?
Este codigo, fiz so para ficar facil de entender. Voce poderia apenas fazer assim:
String[][] tabuleiro = new String[3][3];
Lembrando, que no codigo acima, voce criou uma array de 3x3, mas os arrays comecam com o indice(numero que vai dentro dos colchetes) 0;
Para acessar a terceira coluna, o indice deve ser 2. Assim:
tabuleiro[0], tabuleiro[1] e tabuleiro[2].
Onde o primeiro “[]” trata da linha e o segundo, da colunda. Para acessar o "quadrado" do meio do tabuleiro, o codigo seria assim:
tabuleiro[1][1];//linha dois, coluna dois. Acessa o quadrado do meio.
tabuleiro[0][1];//acessa o segundo quadrado da primeira linha. Acima do quadrado do meio.
Para comecar, seria mais ou menos isso. Copie e cole esse codigo no seu IDE e faça alguns testes como por exemplo colocar falores nas posicoes. Para colocar um X no quadrado central, o codigo seria assim:
tabuleiro[1][1] = "X";
E pode incrementar o sistema para ver quando vc pontua quando faz uma sequencia. Aqui vai um exemplo, onde voce recebe a mensagem: Parabens, quando coloca X em todos os quadrados da primeira linha, ou O:
String[][] tabuleiro = new String[3][3];
tabuleiro[0][0] = "X";
tabuleiro[0][1] = "X";
tabuleiro[0][2] = "X";
if(tabuleiro[0][0].equals("X") & tabuleiro[0][1].equals("X") & tabuleiro[0][2].equals("X")
| tabuleiro[0][0].equals("O") & tabuleiro[0][1].equals("O") & tabuleiro[0][2].equals("O")){
System.out.println("Parabens!");
}
O equals(“X”) é uma comparacao. Ele esta comparando o valor de tabuleiro na posicao que voce determinou utilizando os colchetes com o valor dentro do parenteses(“X”). Esse metodo equals, so funciona para Strings. E nao se esqueca que o X ali esta maiusculo, entao a comparacao tem que ser feita com o X maiusculo pq [color=darkred]X[/color], é diferente de [color=darkred]x[/color].
Troque os valores, faca o java reconhecer mais sequencias e vai treinando. Qualquer duvida, so postar aqui!