domingo, 20 de marzo de 2016

Diseña una clase Palabra,una clase Ahorcado y una clase Main




CLASE PALABRA:

//Paquete de trabajo
package es.unex.cum.edi.sesion4;

//Clase Palabra
public class Palabra {
     //Atributos
     private String texto;
     private int longitud;
     private String pista;


//Constructor por defecto
public Palabra(){
     texto="";
     longitud=0;
     pista="";
    
}
//Constructor parametrizado
public Palabra(String texto,String pista){
     this.texto=texto;
     longitud=texto.length();
     this.pista=pista;
}
//Getters
//Get de texto
public String getTexto(){
     return texto;
}
//Get de longitud
public int getLongitud(){
     return longitud;
}
//Get de pista
public String getPista(){
     return pista;
}
//Setters
//Set de texto
public void  setTexto(String texto){
     this.texto=texto;
}
//Set de longitud
public void setLongitud(int longitud){
     this.longitud=longitud;
}
//Set de pista
public void setPista(String pista){
     this.pista=pista;
}

//toString()
public String toString(){
     String cadena="Texto:"+texto+"Longitud:"+longitud+"Pista:"+pista;
     return cadena;
}
//equals()
public boolean equals(Palabra p){
if((texto.equals(p.texto)&&(longitud==p.longitud)&&pista.equals(p.pista))){
         return true;
     }
     else {
         return false;
     }
}

}

CLASE AHORCADO:

package es.unex.cum.edi.sesion4;

import java.util.*;

public class Ahorcado {
     //Un vector lista en el que en cada posicion habra una palabra
     private Palabra[] lista;
     //Seleccionada es una palabra
     private Palabra seleccionada;
     private int intentos;
     private int maximo;
     private int cont;


//Constructor por defecto
public Ahorcado(){
     lista=new Palabra [5];
     seleccionada=new Palabra();
     intentos=0;
     maximo=0;
    
}

//Constructor parametrizado
public Ahorcado(int intentos,int maximo){
     this.intentos=intentos;
     this.maximo=maximo;
     lista=new Palabra [5];
     seleccionada=new Palabra();
    
    
}
//Getters
public Palabra[] getLista(){
     return lista;
}
public Palabra getSeleccionada(){
     return seleccionada;
}
public int getIntentos(){
     return intentos;
}
public int getMaximo(){
     return maximo;
}
//Setters
public void setLista(Palabra[] lista){
     this.lista=lista;
}
public void setSeleccionada(Palabra seleccionada){
     this.seleccionada=seleccionada;
}
public void setIntentos(int intentos){
     this.intentos=intentos;
}
public void setMaximo(int maximo){
     this.maximo=maximo;
}
//toString()
public String toString(){
     String cadena="Tengo una lista de palabras:"+lista.toString()+"y tengo seleccionada la palabra:"+seleccionada.toString()+"Intentos"+intentos+"Maximo:"+maximo;
     return cadena;
}
//equals
// para el atributo private(que es un vector) Palabra[] lista, usare Arrays.equals(lista,a.lista)
//para el atributo private(que es una palabra llamada seleccionada) Palabra seleccionada, usare this.seleccionada.equals(a.seleccionada)
//Los enteros se comparan en el equals con: this.intentos==a.intentos y this.maximo==a.maximo
public boolean equals(Object o){
     //Hacemos el upcasting a la clase derivada"Ahorcado"
     Ahorcado a=(Ahorcado)o;
    
     return Arrays.equals(lista,a.lista)&&this.seleccionada.equals(a.seleccionada)&&(this.intentos==a.intentos)&&(this.maximo==a.maximo);
}
//addPalabra()
public void addPalabra(Palabra p){
     //Buscamos un hueco donde insertar la palabra
     int i;
     //For para recorrer el vector lista
     for(i=0;i<lista.length;i++){
         //Si el espacio del vector esta vacion añado una palabra
         if(lista[i]==null){
              //Se le asigna el nuevo objeto p de palabra  a las posiciones del vector
              lista[i]=p;
              break;
         }
     }
     //If para comprobar que si la posicion donde se quiere añadir es igual
     //a el limite del vector, ya no se puede añadir ninguna palabra mas
     if (i==lista.length){
         System.out.println("Error,no hay sitio para añadir la palabra");
     }
}

}

CLASE MAIN:

No hay comentarios:

Publicar un comentario