package gameParts;
import java.io.Serializable;
import java.util.EnumSet;
import java.util.Iterator;
public class Tile implements Serializable {
private static final long serialVersionUID = 7056329756150292684L;
private TileType mType;
private int mDiceNum;
private char mTileLetter;
public Tile(TileType t) {
setType(t);
}
protected Tile(TileType type, int diceNum, char tileLetter) {
setType(type);
mDiceNum = diceNum;
mTileLetter = tileLetter;
}
@Override
public boolean equals(Object obj) {
Tile tile = null;
try {
tile = (Tile) obj;
} catch (Exception e) {
return false;
}
if (
(tile == null) ||
(mType != tile.mType) ||
(mDiceNum != tile.mDiceNum) ||
(mTileLetter != tile.mTileLetter)
) {
return false;
}
return true;
}
@Override
public Object clone() throws CloneNotSupportedException {
return new Tile(mType, mDiceNum, mTileLetter);
}
/**
* @param mType
* the mType to set
*/
public void setType(TileType type) {
mType = type;
}
/**
* @return the mType
*/
public TileType getType() {
return mType;
}
/**
* @param mDiceNum
* the mDiceNum to set
*/
public void setDiceNum(int diceNum) {
mDiceNum = diceNum;
}
/**
* @return the mDiceNum
*/
public int getDiceNum() {
return mDiceNum;
}
public enum TileType {
FOREST,
MEADOW,
FIELD,
MOUNTAIN,
HILL,
DESERT
}
public static Iterator<TileType> getTileTypesIterator() {
return EnumSet.allOf(TileType.class).iterator();
}
/**
*
* @return
*/
public char getTileLetter() {
return mTileLetter;
}
/**
*
* @param letter
*/
public void setTileLetter(char letter)
{
mTileLetter = letter;
}
public String toString()
{
String str = "Tile: " + getTileLetter() + ", Type: " + getType() + ", Dice Number: " + getDiceNum();
return str;
}
}
|