temos que saber a posição da letra na palavra e trocar pela anterior , caso seje consoante.
mas uma coisa isso sera feito apartir de um texto ? qual texto ? será preciso ler o arquivo ?
qual a utilidade disto ?
eu tenho um jogo de forca que talvez pode ajudar a manejar com letras e palavras… aguardo as respostas. mas é uma proposta interessante. um codificador, e havera descodificador, ou quem sabe o segredo consegue ler. no texto todo vai acabar dando para matar a charada , eu penso, será que não ?
valeu. escreva. se tiver tempo faço algo parecido.
segue o codigo, que pode dar algumas dicas… está ligado quase a outro assunto, mas pode ser vir de estudo, e ja divulgo o jogo da forca, mas ainda nao esta super pronto, quero incluir categorias, e tambem enxugar um pouco, coisa que fez parte da construção inicial, e tambem colocar em layout, fora este automatico do netbeans. valeu.
/*
* Forca.java
*
* Created on 6 de Agosto de 2009, 09:07
*/
package jogo_da_forca;
import java.awt.event.KeyEvent;
import javax.swing.DefaultListModel;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.*;
/**
*
* @author raghyjose
*/
public class Forca_1 extends javax.swing.JFrame {
public double x = 0;
/** Creates new form Forca */
public Forca_1() {
initComponents();
setLocationRelativeTo(null);
}
//para saber se na primeira vez, usou o botão...
boolean inicia=false;
//linha 540 esta palavra ja foi dita... quando houver...
String valores[] = new String[10];
int c = -1;
//letras
DefaultListModel model = new DefaultListModel();
JList list = new JList(model);
//palavras ja usadas
DefaultListModel model2 = new DefaultListModel();
JList list2 = new JList(model2);
int letraDita = 0;
//hh é variavel do array palavras 2
int h = 0;
int erros = 0;
//int totalErros=20;
int realTotalErros = 20;
int tamanho = 0;
String palavraEscolhida = "";
//vitorias
int vitorias = 0;
//derrotas
int derrotas =0;
//t e para aumentar o numero do array de palavras ditas
int t = 0;
int pos = 0;
int z = 0;
int i = 0;
boolean letraJaDita = false;
int pec3 = 0;
int pec4 = 0;
int pec2 = 0;
int pec = 0;
int lastX = 0;
int b = 1;
boolean palavraJaDita = false;
boolean espaco=false;
//esolher palavra automatico
//escolhe palavra automaticamente...
int d = -1;
//ImageIcon Im17a = new ImageIcon("C:/IMAGENS/Hot_Dog_2.gif");
ImageIcon Im17a = new ImageIcon("cabeca.gif");
ImageIcon Im17b = new ImageIcon("C:/IMAGENS/Calabresa_2.gif");
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jTletra = new javax.swing.JTextField();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLletrasDitas = new javax.swing.JLabel();
jBconfirmaPalavra = new javax.swing.JButton();
jLerros = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jButton1 = new javax.swing.JButton();
jTextField1 = new javax.swing.JTextField();
jLabel4 = new javax.swing.JLabel();
jPanel2 = new javax.swing.JPanel();
jLTamanho = new javax.swing.JLabel();
jBescolhePalavra = new javax.swing.JButton();
jLlugarLetra = new javax.swing.JLabel();
jTl1 = new javax.swing.JTextField();
jTl2 = new javax.swing.JTextField();
jTl3 = new javax.swing.JTextField();
jTl4 = new javax.swing.JTextField();
jTl5 = new javax.swing.JTextField();
jLpalavraCerta = new javax.swing.JLabel();
jLpalavraCerta2 = new javax.swing.JLabel();
jLvitorias = new javax.swing.JLabel();
jLderrotas = new javax.swing.JLabel();
jPanel3 = new javax.swing.JPanel();
jLErrou = new javax.swing.JLabel();
jMenuBar1 = new javax.swing.JMenuBar();
jMenu1 = new javax.swing.JMenu();
jMenuItem1 = new javax.swing.JMenuItem();
jMenuItem2 = new javax.swing.JMenuItem();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Jogo Da Forca");
jPanel1.setBackground(new java.awt.Color(153, 153, 255));
jPanel1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
jTletra.setBackground(new java.awt.Color(204, 0, 204));
jTletra.setFont(new java.awt.Font("Tahoma", 0, 26));
jTletra.setDisabledTextColor(new java.awt.Color(153, 153, 0));
jTletra.setFocusCycleRoot(true);
jTletra.setFocusTraversalPolicyProvider(true);
jTletra.setSelectionColor(new java.awt.Color(153, 0, 255));
jTletra.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusGained(java.awt.event.FocusEvent evt) {
jTletraFocusGained(evt);
}
});
jTletra.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
jTletraKeyPressed(evt);
}
});
jLabel1.setFont(new java.awt.Font("Tahoma", 0, 14));
jLabel1.setText("Digite uma letra:");
jLabel2.setFont(new java.awt.Font("Tahoma", 0, 14));
jLabel2.setText("Voce disse as seguintes letras ate agora:");
jLletrasDitas.setFont(new java.awt.Font("Tahoma", 0, 18));
jLletrasDitas.setForeground(new java.awt.Color(255, 0, 0));
jLletrasDitas.setText("_____nenhuma letra dita por enquanto_____");
jBconfirmaPalavra.setFont(new java.awt.Font("Tahoma", 0, 14));
jBconfirmaPalavra.setMnemonic(KeyEvent.VK_Z);
jBconfirmaPalavra.setText("confirma");
jBconfirmaPalavra.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jBconfirmaPalavraActionPerformed(evt);
}
});
jBconfirmaPalavra.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
jBconfirmaPalavraKeyPressed(evt);
}
});
jLerros.setFont(new java.awt.Font("Tahoma", 0, 14));
jLerros.setText("Voce ainda nao errou e pode errar 20 vezes.");
jLabel3.setText("A palavra era: ");
jButton1.setText("Erros");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jTextField1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField1ActionPerformed(evt);
}
});
jLabel4.setText("Para decidir quantos erros vc pode ter:");
org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel1Layout.createSequentialGroup()
.add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.add(jLabel3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 272, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(jPanel1Layout.createSequentialGroup()
.add(29, 29, 29)
.add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jLerros)
.add(jPanel1Layout.createSequentialGroup()
.add(jLabel1)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
.add(jTletra, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 46, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(18, 18, 18)
.add(jBconfirmaPalavra, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 106, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(jPanel1Layout.createSequentialGroup()
.add(219, 219, 219)
.add(jTextField1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 28, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
.add(jButton1))
.add(jLabel2)
.add(jLletrasDitas))
.add(73, 73, 73))
.add(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.add(jLabel4)))
.addContainerGap(22, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.add(jLabel3)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel1Layout.createSequentialGroup()
.add(7, 7, 7)
.add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jLabel1)
.add(jTletra, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 37, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
.add(jPanel1Layout.createSequentialGroup()
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jBconfirmaPalavra, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 42, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 45, Short.MAX_VALUE)
.add(jLabel2)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jLletrasDitas)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jLerros)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
.add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jLabel4)
.add(jTextField1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(jButton1))
.add(52, 52, 52))
);
jPanel2.setBackground(new java.awt.Color(153, 153, 255));
jPanel2.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
jPanel2.setEnabled(false);
jLTamanho.setFont(new java.awt.Font("Tahoma", 0, 14));
jLTamanho.setText("Mostra quantidade de letras da palavra");
jBescolhePalavra.setFont(new java.awt.Font("Tahoma", 0, 14));
jBescolhePalavra.setText("inicia");
jBescolhePalavra.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jBescolhePalavraActionPerformed(evt);
}
});
jLlugarLetra.setFont(new java.awt.Font("Tahoma", 0, 14));
jLlugarLetra.setText("Esta letra esta em _-_ lugar na palavra");
jTl1.setBackground(new java.awt.Color(204, 0, 204));
jTl1.setEditable(false);
jTl1.setFont(new java.awt.Font("Tahoma", 0, 26));
jTl2.setBackground(new java.awt.Color(204, 0, 204));
jTl2.setEditable(false);
jTl2.setFont(new java.awt.Font("Tahoma", 0, 26));
jTl3.setBackground(new java.awt.Color(204, 0, 204));
jTl3.setEditable(false);
jTl3.setFont(new java.awt.Font("Tahoma", 0, 26));
jTl4.setBackground(new java.awt.Color(204, 0, 204));
jTl4.setEditable(false);
jTl4.setFont(new java.awt.Font("Tahoma", 0, 26));
jTl5.setBackground(new java.awt.Color(204, 0, 204));
jTl5.setEditable(false);
jTl5.setFont(new java.awt.Font("Tahoma", 0, 26));
jLpalavraCerta2.setFont(new java.awt.Font("Tahoma", 0, 14));
jLpalavraCerta2.setText("Sera que vc acerta a palavra?");
jLvitorias.setFont(new java.awt.Font("Tahoma", 1, 13));
jLvitorias.setText("Vitorias: ");
jLderrotas.setFont(new java.awt.Font("Tahoma", 1, 13));
jLderrotas.setText("Derrotas:");
org.jdesktop.layout.GroupLayout jPanel2Layout = new org.jdesktop.layout.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jLpalavraCerta2)
.add(jPanel2Layout.createSequentialGroup()
.add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
.add(jLlugarLetra)
.add(jLTamanho)
.add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jBescolhePalavra)
.add(jPanel2Layout.createSequentialGroup()
.add(jTl1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 54, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jTl2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 27, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jTl3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 28, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jTl4, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 27, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jTl5, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 30, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))))
.add(27, 27, 27)
.add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
.add(jLvitorias)
.add(org.jdesktop.layout.GroupLayout.LEADING, jLderrotas))))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 72, Short.MAX_VALUE)
.add(jLpalavraCerta))
);
jPanel2Layout.linkSize(new java.awt.Component[] {jBescolhePalavra, jLvitorias}, org.jdesktop.layout.GroupLayout.HORIZONTAL);
jPanel2Layout.linkSize(new java.awt.Component[] {jTl1, jTl2, jTl3, jTl4, jTl5}, org.jdesktop.layout.GroupLayout.HORIZONTAL);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel2Layout.createSequentialGroup()
.add(54, 54, 54)
.add(jLpalavraCerta)
.addContainerGap(315, Short.MAX_VALUE))
.add(jPanel2Layout.createSequentialGroup()
.add(325, 325, 325)
.add(jBescolhePalavra)
.addContainerGap(19, Short.MAX_VALUE))
.add(jPanel2Layout.createSequentialGroup()
.add(37, 37, 37)
.add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jLpalavraCerta2)
.add(jPanel2Layout.createSequentialGroup()
.add(58, 58, 58)
.add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE, false)
.add(jTl2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(jTl3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(jTl4, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(jTl5, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(jTl1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 39, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jLlugarLetra)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jLTamanho)
.addContainerGap(187, Short.MAX_VALUE))
.add(jPanel2Layout.createSequentialGroup()
.add(24, 24, 24)
.add(jLvitorias, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jLderrotas)
.add(306, 306, 306))
);
jPanel2Layout.linkSize(new java.awt.Component[] {jTl1, jTl2, jTl3, jTl4, jTl5}, org.jdesktop.layout.GroupLayout.VERTICAL);
jLErrou.setText("Errou tantas...");
org.jdesktop.layout.GroupLayout jPanel3Layout = new org.jdesktop.layout.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.add(jLErrou)
.addContainerGap(65, Short.MAX_VALUE))
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel3Layout.createSequentialGroup()
.add(jLErrou)
.addContainerGap(289, Short.MAX_VALUE))
);
jMenu1.setText("Ajuda");
jMenuItem1.setText("Instrucoes basicas");
jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem1ActionPerformed(evt);
}
});
jMenu1.add(jMenuItem1);
jMenuItem2.setText("Sair do Jogo");
jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem2ActionPerformed(evt);
}
});
jMenu1.add(jMenuItem2);
jMenuBar1.add(jMenu1);
setJMenuBar(jMenuBar1);
org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.addContainerGap()
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING, false)
.add(org.jdesktop.layout.GroupLayout.LEADING, jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.add(org.jdesktop.layout.GroupLayout.LEADING, jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.add(18, 18, 18)
.add(jPanel3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addContainerGap(38, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.addContainerGap()
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(layout.createSequentialGroup()
.add(jPanel2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
.addContainerGap())
);
pack();
}// </editor-fold>
private void jBconfirmaPalavraActionPerformed(java.awt.event.ActionEvent evt) {
if (inicia==true){
//colocar exceção para textfield nulo
jTletra.requestFocus();
//captura a letra digitada
String letraQualquer = jTletra.getText();
//poe letras para minusculo
String letra = letraQualquer.toLowerCase();
//capturada nao precisa mais, vinha do getText()
String palavraEscolhidaCapturada = palavraEscolhida;
pec = palavraEscolhidaCapturada.indexOf(letra);
//acerta o valor porque array começa com zero
pec2 = pec + 1;
//no caso de duas ocorrencias, captura o ultimo index...
pec3 = palavraEscolhidaCapturada.lastIndexOf(letra);
pec4 = pec3 + 1;
if (letra.equals("") ){
JOptionPane.showMessageDialog(null, "Espaco em branco!!", "Digite uma Letra", JOptionPane.INFORMATION_MESSAGE);
espaco=true;
pec2=0; pec4=0;
}
//teste para duas letras, nao valer. ok funcionou... nao vale duas letras.
if (letra.length()>1 ){
JOptionPane.showMessageDialog(null, "Somente uma letra.", "Digite uma Letra", JOptionPane.INFORMATION_MESSAGE);
espaco=true;
pec2=0; pec4=0;
}
if (pec2== pec4) {
jLlugarLetra.setText("A letra " + letra + " esta na posicao" + pec2);
} else {
jLlugarLetra.setText("A letra " + letra + " esta na posicao " + pec2 + " e " + pec4);
}
//teste para ver se assim para o pula pula, fazer os calculos,
//todos antes de por a letra...
if (model.contains(letra)) {
JOptionPane.showMessageDialog(null, "Esta letra ja foi dita!", "Letra ja dita", JOptionPane.INFORMATION_MESSAGE);
jTletra.setText("");
letraJaDita = true;
} else if(espaco!=true) {
c = c + 1;
model.add(c, letra);
jLletrasDitas.setText("" + model + "");
jTletra.setText("");
//para teste
//System.out.println("model" + model);
letraJaDita = false;
}
//achar uma excecao caso a letra nao exista ou _____ -ERROS ____ ---
if (pec2 <= 0) {
jLlugarLetra.setText("A letra " + letra + " nao esta em posicao alguma");
//calcula as vezes em que houveram erros
//se a letra ja foi dita, nao conta como erro.
//ou seja se nao foi dita, conta erro.
if (letraJaDita == false) {
erros = erros + 1;
realTotalErros = realTotalErros - 1;
}
if (erros >1 ) {
jLerros.setText("Voce ja errou " + erros + " vezes, pode errar mais " + realTotalErros);
} else { //so para o plural de erros , e vez..
jLerros.setText("Voce ja errou " + erros + " vez, pode errar mais " + realTotalErros);
}
}//FECHA O IF de ERROS
if (realTotalErros==20) {
jLErrou.setIcon(Im17a);
}
if (realTotalErros==19) {
// ImageIcon Im17a = new ImageIcon("C:/IMAGENS/Hot_Dog_2.gif");
jLErrou.setIcon(Im17b);
}
if (realTotalErros==18) {
jLErrou.setText("Erros 18");
}
if (realTotalErros==17) {
jLErrou.setIcon(Im17a);
}
//coloca letras certas no textfield
if (pec2 == 1) {
jTl1.setText(letra);
}
if (pec2 == 2) {
jTl2.setText(letra);
}
if (pec2 == 3) {
jTl3.setText(letra);
}
if (pec2 == 4) {
jTl4.setText(letra);
}
if (pec2 == 5) {
jTl5.setText(letra);
}
// e no caso de duas ocorrencias da mesma letra...
if (pec4 == 1) {
jTl1.setText(letra);
}
if (pec4 == 2) {
jTl2.setText(letra);
}
if (pec4 == 3) {
jTl3.setText(letra);
}
if (pec4 == 4) {
jTl4.setText(letra);
}
if (pec4 == 5) {
jTl5.setText(letra);
}
pec3 = 0;
pec4 = 0;//para so mostrar se realmente houver o pac4, ou duas letras, ou seja o lastindexof...
//determina a derrota
if (realTotalErros == 0) {
jLabel3.setText("A palavra era : " + palavraEscolhida);
JOptionPane.showMessageDialog(null, "VOCE PERDEU 20 VEZES! ", "PERDEU !!!", JOptionPane.INFORMATION_MESSAGE);
erros = 0;
realTotalErros = 20;
letra = "";
//conta derrotas
derrotas=derrotas+1;
jLderrotas.setText("Derrotas: "+derrotas);
//rotina para começar sozinho
Object[] options2 = {"Sim", "Não"};
int confirmar2 = JOptionPane.showOptionDialog(null, "Deseja jogar novamente?", "Novo jogo", JOptionPane.DEFAULT_OPTION, JOptionPane.YES_OPTION, null, options2, options2[1]);
if (confirmar2 == 0) {
//textfield das letras certas
jTl5.setEnabled(true);
jTl4.setEnabled(true);
jTl1.setText("");
jTl2.setText("");
jTl3.setText("");
jTl4.setText("");
jTl5.setText("");
jLlugarLetra.setText("");
//zera a lista de letras ditas...
model = new DefaultListModel();
list = new JList(model);
c = -1;
jLletrasDitas.setText("" + model);
jLerros.setText("Voce ainda nao errou e pode errar 20 vezes.");
erros = 0;
realTotalErros = 20;
//escolhe palavra automaticamente...
String palavras[] = new String[26];
palavras[0] = "casa";
palavras[1] = "agua";
palavras[2] = "carro";
palavras[3] = "chuva";
palavras[4] = "roupa";
palavras[5] = "moda";
palavras[6] = "rua";
palavras[7] = "lua";
palavras[8] = "fruto";
palavras[9] = "bola";
//palavras[10]="medida";
palavras[10] = "curva";
palavras[11] = "asa";
palavras[12] = "crime";
palavras[13] = "gol";
palavras[14] = "arma";
palavras[15] = "nadar";
palavras[16] = "jogar";
palavras[17] = "ativo";
palavras[18] = "vida";
palavras[19] = "ato";
palavras[20] = "seta";
palavras[21] = "meta";
palavras[22] = "reta";
palavras[23] = "cueca";
palavras[24] = "mesa";
palavras[25] = "quadro";
x = Math.random() * 25;
b = (int) x;
String b11 = String.valueOf(b);
palavraEscolhida = palavras[b];
tamanho = palavras[b].length();
jLTamanho.setText("a palavra escolhida tem " + tamanho + " letras");
//para teste
// System.out.println("palavraEscolhida" + palavraEscolhida);
int laco2 = 0;
while (laco2 == 0) {
if (model2.contains(palavraEscolhida)) {
//paratestar
//System.out.println("esta palavra ja foi usada");
//System.out.println("palavraEscolhida" + palavraEscolhida);
//escolhe novamente...
x = Math.random() * 25;
b = (int) x;
b11 = String.valueOf(b);
palavraEscolhida = palavras[b];
tamanho = palavras[b].length();
jLTamanho.setText("a palavra escolhida tem " + tamanho + " letras");
//acho que posso tirar isto
palavraJaDita = false;
} else {
laco2 = laco2 + 1;
d = d + 1;
model2.add(d, palavraEscolhida);
}
}//fecha o while com palavra escolhida
if (tamanho == 5) {
jTl4.setVisible(true);
jTl5.setVisible(true);
}
if (tamanho == 4) {
jTl5.setVisible(false);
jTl4.setVisible(true);
}
if (tamanho == 3) {
jTl4.setVisible(false);
jTl5.setVisible(false);
}
}
else { // System.exit(0); desnecessario o else... por enquanto
}
}// fechar o derrota...
//acertar a palavra
String l1 = jTl1.getText();
String l2 = jTl2.getText();
String l3 = jTl3.getText();
String l4 = jTl4.getText();
String l5 = jTl5.getText();
String palavraCerta2 = l1 + l2 + l3 + l4 + l5;
//aqui determina a vitoria
if (palavraCerta2.equals(palavraEscolhida)) {
jLabel3.setText("Voce acertou a palavra : " + palavraEscolhida);
JOptionPane.showMessageDialog(null, "A palavra esta certa: " + palavraEscolhida + "", "Vc ganhou !!!", JOptionPane.INFORMATION_MESSAGE);
//vitorias e palavras ditas
vitorias = vitorias + 1;
jLvitorias.setText("Vitorias : " + vitorias);
Object[] options2 = {"Sim", "Não"};
int confirmar2 = JOptionPane.showOptionDialog(null, "Deseja jogar novamente?", "Novo jogo", JOptionPane.INFORMATION_MESSAGE, JOptionPane.YES_OPTION, null, options2, options2[1]);
if (confirmar2 == 0) {
//textfield das letras certas
jTl5.setEnabled(true);
jTl4.setEnabled(true);
jTl1.setText("");
jTl2.setText("");
jTl3.setText("");
jTl4.setText("");
jTl5.setText("");
tamanho = 0;
jLTamanho.setText("a palavra escolhida tem " + tamanho + " letras");
jLlugarLetra.setText("");
//agora a palavra fica aparecendo.
//ou posso por em branco no caso de vitoria, pode ficar melhor...
// jLabel3.setText(" ");
//zera a lista de letras ditas...
model = new DefaultListModel();
list = new JList(model);
c = -1;
jLletrasDitas.setText("" + model);
jLerros.setText("Voce ainda nao errou e pode errar 20 vezes.");
//escolhe palavra automaticamente...
erros = 0;
realTotalErros = 20;
String palavras[] = new String[26];
palavras[0] = "casa";
palavras[1] = "agua";
palavras[2] = "carro";
palavras[3] = "chuva";
palavras[4] = "roupa";
palavras[5] = "moda";
palavras[6] = "rua";
palavras[7] = "lua";
palavras[8] = "fruto";
palavras[9] = "bola";
//palavras[10]="medida";
palavras[10] = "curva";
palavras[11] = "asa";
palavras[12] = "crime";
palavras[13] = "gol";
palavras[14] = "arma";
palavras[15] = "nadar";
palavras[16] = "jogar";
palavras[17] = "ativo";
palavras[18] = "vida";
palavras[19] = "ato";
palavras[20] = "seta";
palavras[21] = "meta";
palavras[22] = "reta";
palavras[23] = "cueca";
palavras[24] = "mesa";
palavras[25] = "quadro";
x = Math.random() * 25;
b = (int) x;
String b11 = String.valueOf(b);
palavraEscolhida = palavras[b];
tamanho = palavras[b].length();
jLTamanho.setText("a palavra escolhida tem " + tamanho + " letras");
//so para testes de programação
// System.out.println("palavraEscolhida" + palavraEscolhida);
//fazer exceção caso nao ajam mais palavras...
int laco2 = 0;
while (laco2 == 0) {
if (model2.contains(palavraEscolhida)) {
//paratestar
// System.out.println("esta palavra ja foi usada");
// System.out.println("palavraEscolhida" + palavraEscolhida);
//escolhe novamente...
x = Math.random() * 25;
b = (int) x;
b11 = String.valueOf(b);
palavraEscolhida = palavras[b];
tamanho = palavras[b].length();
jLTamanho.setText("a palavra escolhida tem " + tamanho + " letras");
//acho que posso tirar isto
palavraJaDita = false;
} else {
laco2 = laco2 + 1;
d = d + 1;
model2.add(d, palavraEscolhida);
}
}//fecha o while com palavra escolhida
if (tamanho == 5) {
jTl4.setVisible(true);
jTl5.setVisible(true);
}
if (tamanho == 4) {
jTl5.setVisible(false);
jTl4.setVisible(true);
}
if (tamanho == 3) {
jTl4.setVisible(false);
jTl5.setVisible(false);
}
} else { // System.exit(0);
}
}//fecha o determina a vitoria
//se tiver 21 acaba...
//ao aumentar palavras, aumentar aqui tb...
if (model2.size() == 25) {
JOptionPane.showMessageDialog(null, "Vc usou todas as palavras do jogo.", "Fim de Jogo", JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
}
espaco=false;
}//fecha o boolean inicia
else {
JOptionPane.showMessageDialog(null, "Use primeiro o botao inicia", "Botao Inicia", JOptionPane.INFORMATION_MESSAGE);
}
}
private void jBescolhePalavraActionPerformed(java.awt.event.ActionEvent evt) {
//para a primeira vez
//ve se botao 4 e 5 estao funcionando
inicia=true;
jTl5.setEnabled(true);
jTl4.setEnabled(true);
//deixa os textfields vazios
jTl1.setText("");
jTl2.setText("");
jTl3.setText("");
jTl4.setText("");
jTl5.setText("");
String palavras[] = new String[13];
palavras[0] = "casa";
palavras[1] = "agua";
palavras[2] = "carro";
palavras[3] = "chuva";
palavras[4] = "roupa";
palavras[5] = "moda";
palavras[6] = "rua";
palavras[7] = "lua";
palavras[8] = "fruto";
palavras[9] = "bola";
//palavras[10]="medida";
palavras[10] = "curva";
palavras[11] = "asa";
palavras[12] = "crime";
int laco3 = 0;
while (laco3 == 0) {
x = Math.random() * 12;
b = (int) x;
String b11 = String.valueOf(b);
palavraEscolhida = palavras[b];
tamanho = palavras[b].length();
jLTamanho.setText("a palavra escolhida tem " + tamanho + " letras");
if (model2.contains(palavraEscolhida)) {
palavraJaDita = true;
} else {
d = d + 1;
model2.add(d, palavraEscolhida);
laco3 = 1;
}
}
if (tamanho == 5) {
jTl4.setVisible(true);
jTl5.setVisible(true);
}
if (tamanho == 4) {
jTl5.setVisible(false);
jTl4.setVisible(true);
}
if (tamanho == 3) {
jTl4.setVisible(false);
jTl5.setVisible(false);
}
jBescolhePalavra.setVisible(false);
}
private void jBconfirmaPalavraKeyPressed(java.awt.event.KeyEvent evt) {
//jBconfirmaPalavra=KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK,false);
}
private void jTletraKeyPressed(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
if(evt.getKeyCode()== 10)
{
JOptionPane.showMessageDialog(null, "ENTER!", "Letra ja dita", JOptionPane.INFORMATION_MESSAGE);
// jTletra.getText();
// String letraQualquer = jTletra.getText();
// jBconfirmaPalavraActionPerformed(java.awt.event.KeyEvent evt);
}
}
public void keyReleased(KeyEvent e)
{
}
public void keyTyped(KeyEvent e)
{
}
private void jTletraFocusGained(java.awt.event.FocusEvent evt) {
// TODO add your handling code here:
}
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
Ajuda adCli=new Ajuda(); adCli.setVisible(true);adCli.setLocationRelativeTo(null);
// jDdesktop.add(adCli);
// jDdesktop.getDesktopManager().activateFrame(adCli);
}
private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}
private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
public static void main(String args[]) {
//esolher palavra automatico
//escolhe palavra automaticamente...
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Forca_1().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jBconfirmaPalavra;
private javax.swing.JButton jBescolhePalavra;
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLErrou;
private javax.swing.JLabel jLTamanho;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLderrotas;
private javax.swing.JLabel jLerros;
private javax.swing.JLabel jLletrasDitas;
private javax.swing.JLabel jLlugarLetra;
private javax.swing.JLabel jLpalavraCerta;
private javax.swing.JLabel jLpalavraCerta2;
private javax.swing.JLabel jLvitorias;
private javax.swing.JMenu jMenu1;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JMenuItem jMenuItem1;
private javax.swing.JMenuItem jMenuItem2;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTl1;
private javax.swing.JTextField jTl2;
private javax.swing.JTextField jTl3;
private javax.swing.JTextField jTl4;
private javax.swing.JTextField jTl5;
private javax.swing.JTextField jTletra;
// End of variables declaration
}
RECADO: vini(moderador) , fui no seu site de jogos, e nao consegui jogar os jogos, de problema… foi só aqui ? valeu.