package de.nisble.droidsweeper.game; import java.io.Serializable; /** Helper that stores the position of a filed in a matrix.<br> * <p> * <b>Immutable: Members are public final and capitalized.</b> * <b></b> * </p> * @author Moritz Nisblé moritz.nisble@gmx.de */ public final class Position implements Serializable { private static final long serialVersionUID = 1L; /** The horizontal coordinate. */ public final int X; /** The vertical coordinate. */ public final int Y; /** Initialize with invalid coordinates (-1,-1). */ public Position() { X = -1; Y = -1; } /** Initialize with the given coordinates. * @param x The horizontal coordinate. * @param y The vertical coordinate. */ public Position(int x, int y) { X = x; Y = y; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + X; result = prime * result + Y; return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (!(obj instanceof Position)) return false; Position other = (Position) obj; if (X != other.X) return false; if (Y != other.Y) return false; return true; } @Override public String toString() { return "Position [X=" + X + ", Y=" + Y + "]"; } }