Pessoal o problema é o seguinte, tenho um array [3][3], onde existe o jogador e a CPU, inserindo "X" no caso eu coloquei o jogador e "O" a CPU, a CPU é inserida atraves de um Random, e o jogador atraves de Bloco de instruções pedindo a "Linha" e a "Coluna" e inserindo o "X" nessa posição.
Problema é que o random não pode sair em uma determinada posição mais de uma vez.
Lembrando que Linha 0 pode sair na coluna 0, 1, ou 2, Problema é como fazer isso.
É possivel resolver isso usando Collections.shuffle, e tbm se alguem poderia ensinar a usar esse metodo.
O codigo abaixo
import javax.swing.JOptionPane;
import java.util.Random;
public class JogoVelha {
public static void main (String[] args){
JOptionPane.showMessageDialog(null, " BEM VINDO " + "\n" +
" AO " + "\n" +
" JOGO DA VELHA ", "Jogo da Velha",
JOptionPane.WARNING_MESSAGE);
JOptionPane.showMessageDialog(null, " O 1º que completar um linha, coluna ou diagonal, é o VENCEDOR." + "\n" +
" " + "\n" +
" Esquema de jogo abaixo" + "\n" +
" " + "\n" +
" [ ] [ ] [ ]" + "\n" +
" [ ] [ ] [ ]" + "\n" +
" [ ] [ ] [ ]" + "\n" ,
"Jogo da Velha",JOptionPane.WARNING_MESSAGE);
String velha[][] = new String[3][3];
Random ale = new Random();
int linha=0;
int coluna=0;
String linhaStr="";
String colunaStr="";
String jog="X";
String cpu="O";
String opcao="v";
JOptionPane.showMessageDialog(null, " Voçê será (X)" + "\n" +
" " + "\n" +
" CPU será (O)","Jogo da velha",
JOptionPane.WARNING_MESSAGE);
do {
linhaStr = JOptionPane.showInputDialog(null, "Digite a linha 1, 2 ou 3",
"Jogo da Velha",JOptionPane.QUESTION_MESSAGE);
linha = Integer.parseInt(linhaStr);
linha--;
colunaStr =JOptionPane.showInputDialog(null, "Qual a coluna 1, 2 ou 3",
"Jogo da Velha",JOptionPane.QUESTION_MESSAGE);
coluna = Integer.parseInt(colunaStr);
coluna--;
velha[linha][coluna]=jog;
JOptionPane.showMessageDialog(null, "Sua Jogada" + "\n" +
" " + "\n" +
"["+velha[0][0]+"] ["+velha[0][1]+"] ["+velha[0][2]+"]" +"\n" +
"["+velha[1][0]+"] ["+velha[1][1]+"] ["+velha[1][2]+"]" +"\n" +
"["+velha[2][0]+"] ["+velha[2][1]+"] ["+velha[2][2]+"]",
"Jogo da Velha",JOptionPane.INFORMATION_MESSAGE);
linha =ale.nextInt(3);
coluna=ale.nextInt(3);
velha[linha][coluna]=cpu;
JOptionPane.showMessageDialog(null, "Jogada da CPU" + "\n" +
" " + "\n" +
"["+velha[0][0]+"] ["+velha[0][1]+"] ["+velha[0][2]+"]" +"\n" +
"["+velha[1][0]+"] ["+velha[1][1]+"] ["+velha[1][2]+"]" +"\n" +
"["+velha[2][0]+"] ["+velha[2][1]+"] ["+velha[2][2]+"]",
"Jogo da Velha",JOptionPane.INFORMATION_MESSAGE);
if ((velha[0][0]==jog) & (velha[0][1]==jog) & (velha[0][2]==jog) |
(velha[1][0]==jog) & (velha[1][1]==jog) & (velha[1][2]==jog) |
(velha[2][0]==jog) & (velha[2][1]==jog) & (velha[2][2]==jog) |
(velha[0][0]==jog) & (velha[1][1]==jog) & (velha[2][2]==jog) |
(velha[0][2]==jog) & (velha[1][1]==jog) & (velha[2][0]==jog) |
(velha[0][0]==jog) & (velha[1][0]==jog) & (velha[2][0]==jog) |
(velha[0][1]==jog) & (velha[1][1]==jog) & (velha[2][1]==jog) |
(velha[0][2]==jog) & (velha[1][2]==jog) & (velha[2][2]==jog)){
JOptionPane.showMessageDialog(null, "Parabens, VOÇÊ FOI O VENCEDOR",
"Jogo da Velha",JOptionPane.INFORMATION_MESSAGE);
break;
} if((velha[0][0]==cpu) & (velha[0][1]==cpu) & (velha[0][2]==cpu) |
(velha[1][0]==cpu) & (velha[1][1]==cpu) & (velha[1][2]==cpu) |
(velha[2][0]==cpu) & (velha[2][1]==cpu) & (velha[2][2]==cpu) |
(velha[0][0]==cpu) & (velha[1][1]==cpu) & (velha[2][2]==cpu) |
(velha[0][2]==cpu) & (velha[1][1]==cpu) & (velha[2][0]==cpu) |
(velha[0][0]==cpu) & (velha[1][0]==cpu) & (velha[2][0]==cpu) |
(velha[0][1]==cpu) & (velha[1][1]==cpu) & (velha[2][1]==cpu) |
(velha[0][2]==cpu) & (velha[1][2]==cpu) & (velha[2][2]==cpu)) {
JOptionPane.showMessageDialog(null, "HuaHua Perdeu pra CPU, que burro !!!",
"Jogo da Velha",JOptionPane.INFORMATION_MESSAGE);
break;
}
} while ((velha[0][0]!=cpu) & (velha[0][1]!=cpu) & (velha[0][2]!=cpu) |
(velha[1][0]!=cpu) & (velha[1][1]!=cpu) & (velha[1][2]!=cpu) |
(velha[2][0]!=cpu) & (velha[2][1]!=cpu) & (velha[2][2]!=cpu) |
(velha[0][0]!=cpu) & (velha[1][1]!=cpu) & (velha[2][2]!=cpu) |
(velha[0][2]!=cpu) & (velha[1][1]!=cpu) & (velha[2][0]!=cpu) |
(velha[0][0]!=cpu) & (velha[1][0]!=cpu) & (velha[2][0]!=cpu) |
(velha[0][1]!=cpu) & (velha[1][1]!=cpu) & (velha[2][1]!=cpu) |
(velha[0][2]!=cpu) & (velha[1][2]!=cpu) & (velha[2][2]!=cpu));
}
}
