⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mjcard.java

📁 麻将程序
💻 JAVA
字号:
package com.newpalm.game.mj.share;

/**
 *
 * To change the template for this generated type comment go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 * @author liyamin
 */
public class MJCard
    implements Comparable, Cloneable {

  private static final String[] number = {
      "一", "二", "三", "四", "五", "六", "七", "八", "九"};
  private static final String[] feng = {
      "东风", "南风", "西风", "北风"};
  private static final String[] zfb = {
      "红中", "发财", "白板"};
  private static final String[] type = {
      "筒", "索", "万"};

//	private static final String[] number =
//		{ "1", "2", "3", "4", "5", "6", "7", "8", "9" };
//	private static final String[] feng = { "1D", "2D", "3D", "4D" };
//	private static final String[] zfb = { "1E", "2E", "3E" };
//	private static final String[] type = {"A", "B", "C"};

  public static final int POINT_DONG = 0;
  public static final int POINT_NAN = 1;
  public static final int POINT_XI = 2;
  public static final int POINT_BEI = 3;
  public static final int POINT_ZHONG = 0;
  public static final int POINT_FA = 1;
  public static final int POINT_BAI = 2;

  public final static int TYPE_BIN = 0;
  public final static int TYPE_SUO = 1;
  public final static int TYPE_WAN = 2;
  public final static int TYPE_FENG = 3;
  public final static int TYPE_ZFB = 4;

  private int id;

  public MJCard(int id) {
    this.id = id;
  }

  /**
   *@see java.lang.Object#Object()
   */
  public MJCard(int type, int point) {
    if (type < TYPE_FENG) {
      id = type * 9 + point;
    }
    else if (type == TYPE_FENG) {
      id = 27 + point;
    }
    else if (type == TYPE_ZFB) {
      id = 31 + point;
    }
  }

  /**
   * @return
   */
  public int getPoint() {
    if (id < 27) {
      return id % 9;
    }
    else if (id < 31) {
      return id - 27;
    }
    else {
      return id - 31;
    }

  }

  /**
   * @return
   */
  public int getType() {
    if (id < 27) {
      return id / 9;
    }
    else if (id < 31) {
      return TYPE_FENG;
    }
    else {
      return TYPE_ZFB;
    }
  }

  /* (non-Javadoc)
   * @see java.lang.Comparable#compareTo(java.lang.Object)
   */
  public int compareTo(Object o) {
    int ret = this.getId() - ( (MJCard) o).getId();
    return (ret == 0) ? (this.hashCode() - o.hashCode()) : ret;
  }

  /**
   * @return
   */
  public int getId() {
    return id;
  }

  public boolean isZiCard() {
    return (getType() == TYPE_FENG || getType() == TYPE_ZFB);
  }

  /* (non-Javadoc)
   * @see java.lang.Object#toString()
   */
  public String toString() {
    String str = "";
    switch (getType()) {
      case MJCard.TYPE_FENG:
        str = feng[getPoint()];
        break;
      case MJCard.TYPE_ZFB:
        str = zfb[getPoint()];
        break;
      case MJCard.TYPE_BIN:
        str = number[getPoint()] + type[getType()];
        break;
      case MJCard.TYPE_WAN:
        str = number[getPoint()] + type[getType()];
        break;
      case MJCard.TYPE_SUO:
        str = number[getPoint()] + type[getType()];
        break;
    }

    return str;
  }

  /* (non-Javadoc)
   * @see java.lang.Object#equals(java.lang.Object)
   */
  public boolean equals(Object obj) {
    if (! (obj instanceof MJCard)) {
      return false;
    }
    return (id == ( (MJCard) obj).getId());
  }

  /* (non-Javadoc)
   * @see java.lang.Object#clone()
   */
  public Object clone() {
    return new MJCard(getId());
  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -