Tile.java :  » Game » settlers-of-catan » gameParts » Java Open Source

Java Open Source » Game » settlers of catan 
settlers of catan » gameParts » Tile.java
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;
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.