package aima.core.environment.hidato; import aima.core.agent.impl.DynamicAction; /** * La clase accion representa las acciones del dominio. * Pueden incluirse atributos y/o metodos auxiliares para poder representar las acciones o bien utilizar el nombre de la accion. */ public class Accion extends DynamicAction{ public String nombre; public int x; public int y; public int valor; /** * Crea la accion a partir de su nombre */ public Accion(String name, int x, int y, int valor) { super(name); this.x = x; this.y = y; this.valor = valor; this.nombre = name; } @Override public String toString() { return this.nombre; } @Override public int hashCode() { final int prime = 31; int result = super.hashCode(); result = prime * result + ((nombre == null) ? 0 : nombre.hashCode()); result = prime * result + valor; result = prime * result + x; result = prime * result + y; return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (!super.equals(obj)) return false; if (getClass() != obj.getClass()) return false; Accion other = (Accion) obj; if (nombre == null) { if (other.nombre != null) return false; } else if (!nombre.equals(other.nombre)) return false; if (valor != other.valor) return false; if (x != other.x) return false; if (y != other.y) return false; return true; } }