Olá galera td joia! Então, eu estou começando a estudar Java e como teste depois de alguns dias de estudo, resolvi criar um jogo no qual pudesse ser simulado jogadas do computador através da geração de números aleatórios (Random()),porém estou tendo problema mesmo utilizando muitos if's ( poluindo meu código), não consigo impedir que ao gerar os números aleatórios, ele jogue no mesmo lugar onde ele mesmo jogou ou subscreva as minhas jogadas.
Agradeceria muito se alguém pudesse me dar uma luz...
import java.util.Random;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Random numeros = new Random();
Random numeros2 = new Random();
int[][] jVelha = new int[4][4];
Scanner leia = new Scanner(System.in);
int jogada;
int preencher = 0;
//int x = 1;
// int y = 2;
int n = 0;
int ia = 0;
int b = 0;
int d = 0;
for (int l = 0; l < jVelha.length; l++) {
for (int c = 0; c < jVelha[l].length; c++) {
jVelha[l][c] = preencher;
}
}
System.out.println("===========================");
System.out.println("####Coluna-> 1 - 2 - 3 ####");
System.out.println("####Linha1 | " + jVelha[1][1] + " | " + jVelha[1][2] + " | " + jVelha[1][3] + " |===");
System.out.println("####Linha2 | " + jVelha[2][1] + " | " + jVelha[2][2] + " | " + jVelha[2][3] + " |===");
System.out.println("####Linha3 | " + jVelha[3][1] + " | " + jVelha[3][2] + " | " + jVelha[3][3] + " |===");
System.out.println("===========================");
while (n < 9) {
System.out.println("Digite a posição da sua jogada: ");
jogada = leia.nextInt();
//Jogada na linha 1
if (jogada==11) {
jVelha[1][1] = 1;
}
if (jogada==12) {
jVelha[1][2] = 1;
}
if (jogada==13) {
jVelha[1][3] = 1;
}
//Jogada na linha 2
if (jogada==21) {
jVelha[2][1] = 1;
}
if (jogada==22) {
jVelha[2][2] = 1;
}
if (jogada==23) {
jVelha[2][3] = 1;
}
//Jogada na linha 3
if (jogada==31) {
jVelha[3][1] = 1;
}
if (jogada==32) {
jVelha[3][2] = 1;
}
if (jogada==33) {
jVelha[3][3] = 1;
}
// VENCENDO NA HORIZONTAL
if ((jVelha[1][1]==1) && (jVelha[1][2]==1) && (jVelha[1][3])==1) {
System.out.println("Você venceu!!!!");
n = 10;
}
if ((jVelha[2][1]==1) && (jVelha[2][2]==1) && (jVelha[2][3])==1) {
System.out.println("Você venceu!!!!");
n = 10;
}
if ((jVelha[3][1]==1) && (jVelha[3][2]==1) && (jVelha[3][3])==1) {
System.out.println("Você venceu!!!!");
n = 10;
}
// VENCENDO NA VERTICAL
if ((jVelha[1][1]==1) && (jVelha[2][1]==1) && (jVelha[3][1])==1) {
System.out.println("Você venceu!!!!");
n = 10;
}
if ((jVelha[1][2]==1) && (jVelha[2][2]==1) && (jVelha[3][2])==1) {
System.out.println("Você venceu!!!!");
n = 10;
}
if ((jVelha[1][3]==1) && (jVelha[2][3]==1) && (jVelha[3][3])==1) {
System.out.println("Você venceu!!!!");
n = 10;
}
//VENCENDO NA DIAGONAL
if ((jVelha[1][1]==1) && (jVelha[2][2]==1) && (jVelha[3][3])==1) {
System.out.println("Você venceu!!!!");
n = 10;
}
if ((jVelha[1][3]==1) && (jVelha[2][2]==1) && (jVelha[3][1])==1) {
System.out.println("Você venceu!!!!");
n = 10;
}
System.out.println("===========================");
System.out.println("####Coluna->1 - 2 - 3 ####");
System.out.println("####Linha1|" + jVelha[1][1] + " | " + jVelha[1][2] + " | " + jVelha[1][3] + " |===");
System.out.println("####Linha2|" + jVelha[2][1] + " | " + jVelha[2][2] + " | " + jVelha[2][3] + " |===");
System.out.println("####Linha3|" + jVelha[3][1] + " | " + jVelha[3][2] + " | " + jVelha[3][3] + " |===");
System.out.println("===========================");
//CODIGO PARA FUNÇÃO ALEATÓRIA DO IA
System.out.println("Minha vez: *-*");
numeros.nextInt(8);
if ((jVelha[1][1]==1)&&(jVelha[1][1]==2)) {
System.out.println("Calma, estou pensando... *-*");
b = numeros2.nextInt(8);
ia = b;
}
if ((jVelha[1][2]==1)&&(jVelha[1][2]==2)) {
System.out.println("Calma, estou pensando... *-*");
b = numeros2.nextInt(8);
ia = b;
}
if ((jVelha[1][3]==1)&&(jVelha[1][3]==2)) {
System.out.println("Calma, estou pensando... *-*");
b = numeros2.nextInt(8);
ia = b;
}
if ((jVelha[2][1]==1)&&(jVelha[2][1]==2)) {
System.out.println("Calma, estou pensando... *-*");
b = numeros2.nextInt(8);
ia = b;
}
if ((jVelha[2][2]==1)&&(jVelha[2][2]==2)) {
System.out.println("Calma, estou pensando... *-*");
b = numeros2.nextInt(8);
ia = b;
}
if ((jVelha[2][3]==1)&&(jVelha[2][3]==2)) {
System.out.println("Calma, estou pensando... *-*");
b = numeros2.nextInt(8);
ia = b;
}
if ((jVelha[3][1]==1)&&(jVelha[3][1]==2)) {
System.out.println("Calma, estou pensando... *-*");
b = numeros2.nextInt(8);
ia = b;
}
if ((jVelha[3][2]==1)&&(jVelha[3][2]==2)) {
System.out.println("Calma, estou pensando... *-*");
b = numeros2.nextInt(8);
ia = b;
}
if ((jVelha[3][3]==1)&&(jVelha[3][3]==2)) {
System.out.println("Calma, estou pensando... *-*");
b = numeros2.nextInt(8);
ia = b;
}
//Repetindo a verificação
if ((jVelha[1][1]==1)&&(jVelha[1][1]==2)) {
System.out.println("Calma, estou pensando... *-*");
b = numeros2.nextInt(8);
ia = b;
}
if ((jVelha[1][2]==1)&&(jVelha[1][2]==2)) {
System.out.println("Calma, estou pensando... *-*");
b = numeros2.nextInt(8);
ia = b;
}
if ((jVelha[1][3]==1)&&(jVelha[1][3]==2)) {
System.out.println("Calma, estou pensando... *-*");
b = numeros2.nextInt(8);
ia = b;
}
if ((jVelha[2][1]==1)&&(jVelha[2][1]==2)) {
System.out.println("Calma, estou pensando... *-*");
b = numeros2.nextInt(8);
ia = b;
}
if ((jVelha[2][2]==1)&&(jVelha[2][2]==2)) {
System.out.println("Calma, estou pensando... *-*");
b = numeros2.nextInt(8);
ia = b;
}
if ((jVelha[2][3]==1)&&(jVelha[2][3]==2)) {
System.out.println("Calma, estou pensando... *-*");
b = numeros2.nextInt(8);
ia = b;
}
if ((jVelha[3][1]==1)&&(jVelha[3][1]==2)) {
System.out.println("Calma, estou pensando... *-*");
b = numeros2.nextInt(8);
ia = b;
}
if ((jVelha[3][2]==1)&&(jVelha[3][2]==2)) {
System.out.println("Calma, estou pensando... *-*");
b = numeros2.nextInt(8);
ia = b;
}
if ((jVelha[3][3]==1)&&(jVelha[3][3]==2)) {
System.out.println("Calma, estou pensando... *-*");
b = numeros2.nextInt(8);
ia = b;
}
//fim da 2ª verificação
if (ia == 0) {
jVelha[1][1] = 2;
}
if (ia == 1) {
jVelha[1][2] = 2;
}
if (ia == 2) {
jVelha[1][3] = 2;
}
if (ia == 3) {
jVelha[2][1] = 2;
}
if (ia == 4) {
jVelha[2][2] = 2;
}
if (ia == 5) {
jVelha[2][3] = 2;
}
if (ia == 6) {
jVelha[3][1] = 2;
}
if (ia == 7) {
jVelha[3][2] = 2;
}
if (ia == 8) {
jVelha[3][3] = 2;
}
// IA VENCENDO NA HORIZONTAL
if ((jVelha[1][1]==2) && (jVelha[1][2]==2) && (jVelha[1][3])==2) {
System.out.println("Eu venci!!!!");
n = 10;
}
if ((jVelha[2][1]==2) && (jVelha[2][2]==2) && (jVelha[2][3])==2) {
System.out.println("Eu venci!!!!");
n = 10;
}
if ((jVelha[3][1]==2) && (jVelha[3][2]==2) && (jVelha[3][3])==2) {
System.out.println("Eu venci!!!!");
n = 10;
}
// IA VENCENDO NA VERTICAL
if ((jVelha[1][1]==2) && (jVelha[2][1]==2) && (jVelha[3][1])==2) {
System.out.println("Eu venci!!!!");
n = 10;
}
if ((jVelha[1][2]==2) && (jVelha[2][2]==2) && (jVelha[3][2])==2) {
System.out.println("Eu venci!!!!");
n = 10;
}
if ((jVelha[1][3]==2) && (jVelha[2][3]==2) && (jVelha[3][3])==2) {
System.out.println("Eu venci!!!!");
n = 10;
}
//IA VENCENDO NA DIAGONAL
if ((jVelha[1][1]==2) && (jVelha[2][2]==2) && (jVelha[3][3])==2) {
System.out.println("Eu venci!!!!");
n = 10;
}
if ((jVelha[1][3]==2) && (jVelha[2][2]==2) && (jVelha[3][1])==2) {
System.out.println("Eu venci!!!!");
n = 10;
}
System.out.println("===========================");
System.out.println("####Coluna-> 1 - 2 - 3 ####");
System.out.println("####Linha1 |" + jVelha[1][1] + " | " + jVelha[1][2] + " | " + jVelha[1][3] + " |===");
System.out.println("####Linha2 |" + jVelha[2][1] + " | " + jVelha[2][2] + " | " + jVelha[2][3] + " |===");
System.out.println("####Linha3 |" + jVelha[3][1] + " | " + jVelha[3][2] + " | " + jVelha[3][3] + " |===");
System.out.println("===========================");
n++;
}
}
}
Pergunta
fcampos
Olá galera td joia! Então, eu estou começando a estudar Java e como teste depois de alguns dias de estudo, resolvi criar um jogo no qual pudesse ser simulado jogadas do computador através da geração de números aleatórios (Random()),porém estou tendo problema mesmo utilizando muitos if's ( poluindo meu código), não consigo impedir que ao gerar os números aleatórios, ele jogue no mesmo lugar onde ele mesmo jogou ou subscreva as minhas jogadas.
Agradeceria muito se alguém pudesse me dar uma luz...
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.