Boa tarde pessoal, tenho um exercício de faculdade que consiste num jogo(forca), estou enrolado num estilo que pretendo fazer, basicamente sorteio as palavras, e tenho uns toggleButton para selecionar a letra
e tenho os métodos na classe
package classes;
import java.util.Random;
public class Palavras {
private String[] palavras = {"cachorro", "baleia", "arara", "chevrolet", "volksvagen", "samsung", "colher", "tablet", "espanha", "senegal"};
private String palavra;
private String letra;
private Random palavraSorteada = new Random();
public Palavras() {
palavra = palavras[palavraSorteada.nextInt(palavras.length)];
}
public String getPalavra() {
return palavra;
}
public void setPalavra(String palavra) {
this.palavra = palavra;
}
public String getLetra() {
return letra;
}
public void setLetra(String letra) {
this.letra = letra;
}
public char[] codificarPalavra() {
char[] traco = new char[palavra.length()];
for (int i = 0; i < palavra.length(); i++) {
traco[i] ='_';
}
return traco;
}
public String dica() {
String dica="";
if (palavra.equals(palavras[0]) || palavra.equals(palavras[1]) || palavra.equals(palavras[2])) { //etc
dica = "Animal";
}
if(palavra.equals(palavras[3]) || palavra.equals(palavras[4]) || palavra.equals(palavras[5])){
dica = "Marca";
}
if(palavra.equals(palavras[6])){
dica = "cozinha";
}
if(palavra.equals(palavras[7])){
dica = "eletrônico";
}
if(palavra.equals(palavras[8]) || palavra.equals(palavras[9])){
dica = "país";
}
return dica;
}
public boolean verifica(char letra) {
// char[] l = letra.toCharArray();
for (int i = 0; i < palavra.length(); i++) {
if (palavra.charAt(i) == letra) {
//palavra[i] = letra; vc só quer verificar se existe.
return true;
}
}
return false;
}
}
na parte grafica, deixei todos os ToggleButton como evento actionPerfomed, todos estão com o mesmo “seleciona”;
quando clico em novo jogo, a palavra aparece codificada, e as dicas
na parte gráfica tenho isso:
package tela;
package tela;
import classes.Palavras;
import java.util.Arrays;
import javax.swing.JOptionPane;
import javax.swing.JToggleButton;
/**
*
* @author Gabriel
*/
public class Tela extends javax.swing.JFrame {
private Palavras jogo;
private int chances = 0;
private int letraSelecionada=0;
public Tela() {
initComponents();
jogo = new Palavras();
}
private void jBNovoJogoActionPerformed(java.awt.event.ActionEvent evt) {
jogo.getPalavra();
jLDica.setText(jogo.dica());
jLPalavraAdivinhar.setText(Arrays.toString(jogo.codificarPalavra()));
}
eu tentei fazer isso
private void seleciona(java.awt.event.ActionEvent evt) {
JToggleButton botao;
if (evt.getSource() instanceof JToggleButton) {
botao = (JToggleButton) evt.getSource();
if (botao.isSelected()) {
if (letraSelecionada == 1) {
letraSelecionada++;
jLLetrasDigitadas=letraSelecionada;
} else if (letraSelecionada == 26) {
JOptionPane.showMessageDialog(this, "Todas as Letras foram Digitadas");
botao.setSelected(false);
}
} else {
letraSelecionada--;
}
jBVerificar.setEnabled(letraSelecionada ==1);
}
mas não consegui, como faço pra quando clicar em toggle button ele verificar com a palavra sorteada.
e também pra quando errar uma letra trocar a imagem que esta no label.
Acho que pode ter ficado confuso, primeira vez que uso, mas qualquer pergunta se não entenderem vou explicando.