Juego del ahorcado en Java

Descarga gratis el código fuente completo del juego del ahorcado en java netbeans, programación, lenguaje, algoritmo, pseudocódigo, base de datos, .java

Juego del ahorcado en Java

Clásico juego de ahorcado, pero mejorado y con premios agradables.

Juego del ahorcado en Java

Características

Funcional

90 palabras a adivinar

20 imágenes de premio

Mejorado

Basado en un código de Internet. Al adivinar la palabra, muestra una imagen agradable.

Requisitos

Conocimientos elementales en Java de escritorio. 
IDE Netbeans. 
Imágenes JPG.

Versión actual

1.1510 estable

Información técnica

Editor: Raúl García.
Nombre del proyecto: Juego del Ahorcado.
Versión actual: 1.15.10.
Descripción: Clásico juego de ahorcado, pero mejorado y con premios agradables. Basado en un código de Internet.

Lenguaje de desarrollo: Java.
Estado actual: En desarrollo. Versión estable.

Temas: Computación y programación en general.

Intentos máximos: Dimensión de la palabra dividido entre 2, y redondeado a un número por debajo.

Descarga gratuita

Nombre: JuegoAhorcado1-1510.jar
Tamaño: 2.40 MB (2,519,040 bytes)​
CRC-32: f0de122d
MD5: 412543cc716efd28711f19a8b90250ba
SHA-1: 02d61009b64c5dd956ab07ec0c18602953a8baf4​

Compatible con cualquier versión de JAVA de PC en Windows, Linux, Mac, etc.
Incluye la última versión estable del proyecto compilado.

Historial de versiones estables

JUEGO DEL AHORCADO 1.1510

JUEGO DEL AHORCADO 1.1407

JUEGO DEL AHORCADO 1.1310

JUEGO DEL AHORCADO 1.1309

Galería de capturas

Juego del ahorcado en Java

Código fuente

Código fuente de la última versión estable. Incluye paquete del proyecto completo: librerías, clases, imágenes, comentarios, etc.

Contenido del archivo «Juego.java»

Encuentra a continuación el contenido de una clase de todo el proyecto completo, con el objetivo de identificar algunas características principales.

import javax.swing.JLabel; 
import javax.swing.JOptionPane; 
import javax.swing.JTextField; 
 
public class Juego { 
    JTextField jt; 
    JLabel lb; 
    JLabel lb2; 
    private boolean play =false; 
    private String[] diccionario = {"INGENIERIA", "INGENIERO", "MANUAL", "METODO", 
        "PROCESO", "DATOS", "PROGRAMA", "INFORMATICA", "COMPUTACION", "COMPUTADORA", 
        "FORMATEO", "RAM", "MEMORIA", "DISCO", "USB", "RED", "WIFI", "INTELIGENCIA", 
        "MOUSE", "TECLADO", "PANTALLA", "CODIGO", "LINUX", "WINDOWS", "SIMULACION", 
        "METODOLOGIA", "KERNEL", "SISTEMA", "OPERACION", "GRAFICACION", "ALGORITMICA", 
        "MATEMATICAS", "CALCULO", "ALGEBRA", "ESTRUCTURA", "DIAGRAMA", "CLASE", 
        "OBJETO", "FUNCION", "LIBRERIA", "PLANTILLA", "EJECUTABLE", "COMANDO", 
        "ERROR", "TERMINAL", "PILA", "PROGRAMADOR", "LICENCIA", "COMPUTO", "PROCESADOR", 
        "LENGUAJE", "PROGRAMACION", "HERRAMIENTAS", "INTERNET", "EJECUTAR", "PROYECTO", 
        "METODO", "METRICA", "SOFTWARE", "ADMINISTRACION", "VENTANA", "MANTENIMIENTO", 
        "ENSAMBLADOR", "PRUEBA", "VERSION", "DEMOSTRACION", "CICLO", "CONDICION", 
        "INSTRUCCION", "BYTE", "BIT", "BUG", "ROLLOVER", "BIOS", "CPU", "ROM", 
        "COBOL", "FORTRAN", "LAN", "WAN", "CANAL", "COMPILADOR", "FUENTE",  
        "EJECUTABLE", "APLICACION", "KILOBYTE", "MEGABYTE", "INDUSTRIA", "SIMBOLO", 
        "MICROSD"}; //90 
     
    private char[] palabra_secreta; 
    private char[] palabra; 
     
    int intentos = 0; 
    boolean cambios=false; 
     
    public Juego(){} 
     
    public Juego(JTextField texto, JLabel emo, JLabel emo2){ 
        System.out.print("Palabra secreta: "); 
        this.palabra_secreta = Random().toCharArray();         
        String s=""; 
        //llena un string con "_"  
        for(int i=0;i<=this.palabra_secreta.length-1;i++){ 
          s = s + "_"; 
          System.out.print(this.palabra_secreta[i]); //no haga trampa 
        }       
        System.out.print("\n\n"); 
         
        //convierte este en un array 
        this.palabra = s.toCharArray();         
         
        this.jt=texto; 
        this.lb= emo; 
        this.lb2= emo2; 
         
        jt.setText(s); 
        lb.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icon/emo0.jpg")));  
        lb2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icon/ahorcado_0.jpg")));  
        JOptionPane.showMessageDialog(null,"¡HEY! \n\t Tienes " + this.palabra_secreta.length + " letras y " + (this.palabra_secreta.length/2) + " intentos"); 
        this.play=true; 
    } 
 
    //evalua el juego de acuerdo a los caracteres que se le pase 
    public void evaluar(char word){ 
        if(play){ 
        String p=""; 
        //controla que aun se pueda jugar 
        if(this.intentos==this.palabra_secreta.length/2){  
           lb2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icon/ahorcado_6.jpg"))); 
            
            String s=""; 
            //llena un string con "_"  
            for(int i=0;i<=this.palabra_secreta.length-1;i++){ 
            s = s + this.palabra_secreta[i]; //no haga trampa 
        }       
           JOptionPane.showMessageDialog(null,"¡PERDISTE, LOSER! \n\n\t La palabra secreta era: " + s); 
        }   
        else{      
           //evalua caracter por caracter 
           for(int j=0;j<=this.palabra_secreta.length-1;j++){ 
             //si el caracter se encuentra en la palabra secreta             
             if(this.palabra_secreta[j]==word){                 
                this.palabra[j]= word;//se asigna para que se pueda ver en pantalla 
                this.cambios=true; 
             }           
             p = p + this.palabra[j]; 
           }//fin for 
           //si no se produjo ningun cambio, quiere decir que el jugador se equivoco 
           if(this.cambios==false){ 
             this.intentos+=1; //se incrementa             
             lb.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icon/emo"+this.intentos+".jpg")));  
             lb2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icon/ahorcado_"+this.intentos+".jpg")));               
             if(this.intentos<(this.palabra_secreta.length/2)){ 
                JOptionPane.showMessageDialog(null,"¡HEY, LOSER! \n\n\t Te quedan " + ((this.palabra_secreta.length/2)-this.intentos) + " intentos más"); 
             }              
           }else{ 
               this.cambios=false;                
           } 
           this.jt.setText(p); 
           //comprobamos el estado del juego 
           gano();            
         }         
       } 
    } 
     
    private void gano(){ 
        boolean win=false; 
        for(int i=0;i<=this.palabra_secreta.length-1;i++){ 
            if(this.palabra[i]==this.palabra_secreta[i]){             
                win=true; 
            }else{ 
                win=false; 
                break; 
            } 
        } 
        if(win){              
             JOptionPane.showMessageDialog(null,"¡GANASTE, ERES UN NERD! \n\n\t Enviando tu premio..."); 
             int premio=(int)(Math.random()*20); 
             lb2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icon/win"+ premio + ".jpg"))); 
        }        
    } 
     
    private String Random(){    
        int num = (int)(Math.random()*(diccionario.length));    
        return diccionario[num]; 
    } 
} 

Apoya el proyecto 

Si deseas apoyar este y otros proyectos, envía tu donativo a través de PayPal.

Licencia de uso

El proyecto está desarrollado y distribuido bajo la siguiente licencia.

Licencia Creative Commons
Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-CompartirIgual 4.0 Internacional.

Soporte

Si encuentras errores, deseas una mejora, tienes dudas y necesitas ayuda, no dudes describirlo aquí en los comentarios.

0 Comments

Deja una respuesta

Avatar placeholder

Tu dirección de correo electrónico no será publicada.

WeCreativez WhatsApp Support
¡Bienvenido! Nuestro servicio de atención está listo pata atender tus mensajes vía WhatsApp.
👋 Soy Raúl y es un placer poder asistirte hoy. ¿Cómo puedo ayudar? 😊