elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Ahorcado Java con Gui
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ahorcado Java con Gui  (Leído 3,645 veces)
VicInFlames

Desconectado Desconectado

Mensajes: 12


Entiendo....hum


Ver Perfil
Ahorcado Java con Gui
« en: 25 Mayo 2015, 11:09 am »

Muy buenas a todos,
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;




}
}


En línea

0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: Ahorcado Java con Gui
« Respuesta #1 en: 25 Mayo 2015, 20:07 pm »

El error que te lanza está aquí:
Código
  1. char letra = ((CharSequence) txtIntroducir).charAt(0);

No puedes hacer una conversión de esta manera:

Código
  1. (CharSequence) txtIntroducir)
  2.  

tampoco tiene sentido que tomes el primer carácter en ese momento porque la TextField ni siquiera tiene texto, tendrías que pedir el primer carácter después de presionar el botón "probar".

luego verificas si hay al menos un carácter y lo conviertes a char así:

Código
  1.  char letra;
  2.  
  3.  if( txtIntroducir.getText().length() > 0 )
  4.       letra = txtIntroducir.getText().charAt(0);
  5.  


También veo un error aquí:
Código
  1.  if(evento.getSource() == btncomprobar ){
  2.  
  3.  }
  4.  
  5.  String a="";
  6.  a = txtIntroducir.getText();
  7.   palabra.indexOf(a,5);
  8.  
  9.  

No se supone que el código tiene que estar dentro del condicional ?, sino entonces para qué pones el condicional?.

A parte de eso esta linea no tiene sentido:
Código
  1. palabra.indexOf(a,5); //MAL
  2. int indice = palabra.indexOf(a,5); //BIEN
  3.  

El metodo indexOf retorna un valor, pero tú no cachas ese valor con ninguna variable

Luego:

Código
  1. if((letra == palabra.indexOf(a,5)))

indexOf retorna un int no un char

Saludos   ;D


« Última modificación: 25 Mayo 2015, 20:12 pm por 0xFer » En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
VicInFlames

Desconectado Desconectado

Mensajes: 12


Entiendo....hum


Ver Perfil
Re: Ahorcado Java con Gui
« Respuesta #2 en: 4 Junio 2015, 11:51 am »

Muchas Gracias! Conseguí salir airoso del problema tras replantearmelo! ^^
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
C# el ahorcado
.NET (C#, VB.NET, ASP)
Err... 7 15,337 Último mensaje 10 Enero 2011, 15:24 pm
por Khronos14
Juego del ahorcado C#
.NET (C#, VB.NET, ASP)
treblatp 3 12,612 Último mensaje 3 Febrero 2011, 20:18 pm
por Khronos14
ahorcado
Programación C/C++
[JudasTeam]-BUG 8 5,388 Último mensaje 18 Junio 2011, 03:54 am
por BlackZeroX
ahorcado en c
Programación C/C++
chivis cristian 1 2,907 Último mensaje 11 Diciembre 2011, 20:26 pm
por [L]ord [R]NA
ahorcado
Programación C/C++
flony 1 1,599 Último mensaje 19 Agosto 2013, 21:08 pm
por eferion
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines