import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.border.TitledBorder;
public class Ahorcado extends JApplet implements ActionListener,KeyListener,WindowListener{
JMenuItem reiniciar,salir;
String[] palabras=new String[3];
JLabel[] label=new JLabel[6];
char[] palabra_secreta=null;
char[] cad_palabra=null;
JComboBox combo=null;
JButton aceptar=null;
int fallos=0;
boolean coinciden=false;
String cad_intentos="";
Image im;
public void init(){
this.setLayout(null);
this.setSize(500,320);
//this.setTitle("Juego del Ahorcado");
im=Toolkit.getDefaultToolkit().getImage("imagenes/icono.gif");
//this.setIconImage(im);
//im=new ImageIcon("imagenes/icono.gif");
//im=getImage(getDocumentBase(),"imagenes/icono.gif");
JMenuBar barraMenu=new JMenuBar();
JMenu menu1=new JMenu("Menú");
reiniciar=new JMenuItem("Reiniciar");
reiniciar.addActionListener(this);
menu1.add(reiniciar);
salir=new JMenuItem("Salir");
salir.addActionListener(this);
menu1.add(salir);
barraMenu.add(menu1);
this.setJMenuBar(barraMenu);
label[0]=new JLabel();
label[0].setFont(new Font("Comic Sans MS",Font.BOLD,20));
label[0].setHorizontalAlignment(JLabel.CENTER);
TitledBorder tb=new TitledBorder("Palabra:");
label[0].setBorder(tb);
label[0].setBounds(10,10,210,60);
this.add(label[0]);
label[1]=new JLabel();
label[1].setHorizontalAlignment(JLabel.CENTER);
tb=new TitledBorder("Intentos:");
label[1].setBorder(tb);
label[1].setBounds(10,10+60,210,60);
this.add(label[1]);
label[2]=new JLabel();
label[2].setHorizontalAlignment(JLabel.CENTER);
tb=new TitledBorder("Letras:");
label[2].setBorder(tb);
label[2].setBounds(10,10+60*2,210,60);
this.add(label[2]);
label[3]=new JLabel();
label[3].setHorizontalAlignment(JLabel.LEFT);
label[3].setText("Seleciona Letra->Aceptar");
tb=new TitledBorder("Mensajes:");
label[3].setBorder(tb);
label[3].setBounds(10,10+60*3,210,60);
this.add(label[3]);
label[4]=new JLabel();
label[4].setBounds(250,17,250,230);
label[4].setIcon(new ImageIcon("imagenes/1.gif"));
this.add(label[4]);
palabras[0]="PATINETE";
palabras[1]="CHUPETE";
palabras[2]="ALCORNOQUE";
String[] list={"A","B","C","D","E","F","G","H","I","J","K","L","M", "N","Ñ","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
combo=new JComboBox(list);
combo.setBounds(30,155,40,20);
this.add(combo);
aceptar=new JButton("Aceptar");
aceptar.addActionListener(this);
aceptar.setBounds(100,155,80,21);
this.add(aceptar);
seleccionarPalabra();
}
/*public void paint(Graphics g){
g.drawImage(im,1500,1500,this);
}*/
private void seleccionarPalabra(){
int pos=(int)(Math.random()*palabras.length);
palabra_secreta=palabras[pos].toCharArray();
cad_palabra=new char[palabra_secreta.length];
for(int i=0;i<palabra_secreta.length;i++){
cad_palabra[i]='-';
}
label[0].setText(String.valueOf(cad_palabra));
}
private void procesarLetra(){
String letra_seleccionada=null;
letra_seleccionada=(String)combo.getSelectedItem();
label[3].setText(letra_seleccionada);
if(letraRepetida(letra_seleccionada.charAt(0))==true){
label[3].setText("Esa letra ya salio...");
}else{
cad_intentos=cad_intentos+letra_seleccionada;
label[1].setText(cad_intentos);
boolean intento_fallido=true;
for(int i=0;i<palabra_secreta.length;i++){
if(letra_seleccionada.charAt(0)==palabra_secreta[i]){
intento_fallido=false;
cad_palabra[i]=palabra_secreta[i];
label[0].setText(String.valueOf(cad_palabra));
}
}
if(intento_fallido==true){
fallos++;
label[4].setIcon(new ImageIcon("imagenes/"+(fallos+1)+".gif"));
}
if(String.valueOf(palabra_secreta).equals(String.valueOf(cad_palabra))){
coinciden=true;
label[03].setText("¡¡¡Has acertado!!!");
aceptar.setEnabled(false);
}else if(fallos==6){
label[03].setText("Demasiados intentos fallidos...");
aceptar.setEnabled(false);
}
}
}
private boolean letraRepetida(char l){
for(int i=0;i<cad_intentos.length();i++){
if(l==cad_intentos.toCharArray()[i]){
return true;
}
}
return false;
}
private void reiniciarJuego(){
if(aceptar.isEnabled()==false){
aceptar.setEnabled(true);
}
fallos=0;
coinciden=false;
cad_intentos="";
palabra_secreta=null;
cad_palabra=null;
label[0].setText(null);
label[1].setText(null);
label[3].setText("Seleciona Letra->Aceptar");
label[4].setIcon(new ImageIcon("imagenes/1.gif"));
seleccionarPalabra();
}
@Override
public void actionPerformed(ActionEvent arg0){
// TODO Auto-generated method stub
Object control=arg0.getSource();
if(control instanceof JButton){
String etiqueta_control=arg0.getActionCommand();
if(etiqueta_control.equals("Aceptar")){
if((coinciden==false)&&(fallos<6)){
procesarLetra();
}
}
}
if(control instanceof JMenuItem){
if(control.equals(reiniciar)){
reiniciarJuego();
}
if(control.equals(salir)){
System.exit(0);
}
}
}
@Override
public void windowActivated(WindowEvent arg0){
// TODO Auto-generated method stub
}
@Override
public void windowClosed(WindowEvent arg0){
// TODO Auto-generated method stub
}
@Override
public void windowClosing(WindowEvent arg0){
// TODO Auto-generated method stub
System.exit(0);
}
@Override
public void windowDeactivated(WindowEvent arg0){
// TODO Auto-generated method stub
}
@Override
public void windowDeiconified(WindowEvent arg0){
// TODO Auto-generated method stub
}
@Override
public void windowIconified(WindowEvent arg0){
// TODO Auto-generated method stub
}
@Override
public void windowOpened(WindowEvent arg0){
// TODO Auto-generated method stub
}
@Override
public void keyPressed(KeyEvent e){
// TODO Auto-generated method stub
}
@Override
public void keyReleased(KeyEvent e){
// TODO Auto-generated method stub
}
@Override
public void keyTyped(KeyEvent e){
// TODO Auto-generated method stub
}
}