vengo solicitando ayuda con un proyecto en el que llevo involucrado unos días,pero del que no consigo salir airoso.
Trato de crear una aplicación Java basada en el juego del ahorcado.
Su funcionamiento es,o debería ser el siguiente:
una interfaz muestra una imagen de la base del ahorcado,sin el hombrecillo.
En un Jtextfield se introduce la letra a probar,y esta se compara con un indexOf,con una de las presentes en la palabra final.
Si está,se añade a un label como recordatorio y se pasa a la siguiente letra,
en caso contrario se pasa a la siguiente imagen y se resta una vida,para así disponer de un contador.
cuando se terminan las vidas el juego acaba,si se consigue acertar todas las letras antes de terminar,se gana.
se que tiene fallos mi proyecto,pero no acierto a saber por qué falla mi main.
os paso el código :
Gracias adelantadas por la ayuda.
Código:
package Ahorcado;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class AhorcadoJuego extends JFrame implements ActionListener{
static String charIntroducido = "";
// imagenes de Ahorcado
static ImageIcon img1;
static ImageIcon img2;
static ImageIcon img3;
static ImageIcon img4;
static ImageIcon img5;
static ImageIcon img6;
static ImageIcon img7;
//imagen actual ahorcado
static int ImagenAhorcado;
JLabel lblImagenInicial;
JLabel Completa;
//Boton para comprobar
JButton btncomprobar;
String palabra = "Coche";
static int vidas;
//LetrasDichas
String letras = "";
JLabel lblDichas;
//Introducir letras
JTextField txtIntroducir;
char letra;
public AhorcadoJuego(){
super("Juego del Ahorcado");
setSize(600,600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
//1
lblDichas = new JLabel("Letras Dichas:");
//2
lblImagenInicial = new JLabel(img1 = new ImageIcon("ImgAhorcado/1.png"));
//3
txtIntroducir = new JTextField();
//4
btncomprobar = new JButton();
char letra = ((CharSequence) txtIntroducir).charAt(0);
// int intentos = 0;
//
// for (int i = 0; i <7; i++) {
//
//
//
// }
//
Completa = new JLabel(palabra);
//
// if(intentos >=1){
// Completa.setText("hey");
// }
//
//
setVisible(true);
add(lblDichas,BorderLayout.NORTH);
add(lblImagenInicial,BorderLayout.WEST);
add(txtIntroducir,BorderLayout.SOUTH);
add(btncomprobar,BorderLayout.EAST);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new AhorcadoJuego();
}
@Override
public void actionPerformed(ActionEvent evento) {
// TODO Auto-generated method stub
if(evento.getSource() == btncomprobar ){
}
String a="";
a = txtIntroducir.getText();
palabra.indexOf(a,5);
}
public void comparar() {
int contador = 1;
String a="";
a = txtIntroducir.getText();
palabra.indexOf(a,5);
while(contador < palabra.length())
{
if((letra == palabra.indexOf(a,5)))
{
contador++;
ImagenAhorcado=contador;
vidas--;
}
else
{
lblDichas.setText("letras Dichas:" + letra);
}
}
}
public int imagen(int vidas){
switch(7){
case 1: lblImagenInicial.setIcon(img7);
break;
case 2: lblImagenInicial.setIcon(img6);
break;
case 3: lblImagenInicial.setIcon(img5);
break;
case 4: lblImagenInicial.setIcon(img4);
break;
case 5: lblImagenInicial.setIcon(img3);
break;
case 6: lblImagenInicial.setIcon(img2);
break;
case 7: lblImagenInicial.setIcon(img1);
break;
//return
}
return vidas;
}
}
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class AhorcadoJuego extends JFrame implements ActionListener{
static String charIntroducido = "";
// imagenes de Ahorcado
static ImageIcon img1;
static ImageIcon img2;
static ImageIcon img3;
static ImageIcon img4;
static ImageIcon img5;
static ImageIcon img6;
static ImageIcon img7;
//imagen actual ahorcado
static int ImagenAhorcado;
JLabel lblImagenInicial;
JLabel Completa;
//Boton para comprobar
JButton btncomprobar;
String palabra = "Coche";
static int vidas;
//LetrasDichas
String letras = "";
JLabel lblDichas;
//Introducir letras
JTextField txtIntroducir;
char letra;
public AhorcadoJuego(){
super("Juego del Ahorcado");
setSize(600,600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
//1
lblDichas = new JLabel("Letras Dichas:");
//2
lblImagenInicial = new JLabel(img1 = new ImageIcon("ImgAhorcado/1.png"));
//3
txtIntroducir = new JTextField();
//4
btncomprobar = new JButton();
char letra = ((CharSequence) txtIntroducir).charAt(0);
// int intentos = 0;
//
// for (int i = 0; i <7; i++) {
//
//
//
// }
//
Completa = new JLabel(palabra);
//
// if(intentos >=1){
// Completa.setText("hey");
// }
//
//
setVisible(true);
add(lblDichas,BorderLayout.NORTH);
add(lblImagenInicial,BorderLayout.WEST);
add(txtIntroducir,BorderLayout.SOUTH);
add(btncomprobar,BorderLayout.EAST);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new AhorcadoJuego();
}
@Override
public void actionPerformed(ActionEvent evento) {
// TODO Auto-generated method stub
if(evento.getSource() == btncomprobar ){
}
String a="";
a = txtIntroducir.getText();
palabra.indexOf(a,5);
}
public void comparar() {
int contador = 1;
String a="";
a = txtIntroducir.getText();
palabra.indexOf(a,5);
while(contador < palabra.length())
{
if((letra == palabra.indexOf(a,5)))
{
contador++;
ImagenAhorcado=contador;
vidas--;
}
else
{
lblDichas.setText("letras Dichas:" + letra);
}
}
}
public int imagen(int vidas){
switch(7){
case 1: lblImagenInicial.setIcon(img7);
break;
case 2: lblImagenInicial.setIcon(img6);
break;
case 3: lblImagenInicial.setIcon(img5);
break;
case 4: lblImagenInicial.setIcon(img4);
break;
case 5: lblImagenInicial.setIcon(img3);
break;
case 6: lblImagenInicial.setIcon(img2);
break;
case 7: lblImagenInicial.setIcon(img1);
break;
//return
}
return vidas;
}
}