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