Advertisement
Guest User

Mondain

a guest
Sep 5th, 2010
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.50 KB | None | 0 0
  1. public class Card implements Serializable {
  2.  
  3.     private static final long serialVersionUID = 108374120L;
  4.  
  5.     public static final char CLUB = '\u2663';
  6.     public static final char DIAMOND = '\u2666';
  7.     public static final char HEART = '\u2665';
  8.     public static final char SPADE = '\u2660';
  9.    
  10.     /**
  11.      * @uml.property name="suit"
  12.      */
  13.     private String suit;
  14.  
  15.     /**
  16.      * @uml.property name="value"
  17.      */
  18.     private int value;
  19.  
  20.     /**
  21.      * @uml.property name="state"
  22.      */
  23.     private String state;
  24.    
  25.     public Card() {
  26.     }
  27.  
  28.     public Card(int value, String suit) {
  29.         this.value = value;
  30.         this.suit = suit;
  31.     }
  32.    
  33.     /**
  34.      * @return
  35.      * @uml.property name="suit"
  36.      */
  37.     public String getSuit() {
  38.         return suit;
  39.     }
  40.  
  41.     /**
  42.      * @param suit
  43.      * @uml.property name="suit"
  44.      */
  45.     public void setSuit(String suit) {
  46.         this.suit = suit;
  47.     }
  48.  
  49.     /**
  50.      * @return
  51.      * @uml.property name="value"
  52.      */
  53.     public int getValue() {
  54.         return value;
  55.     }
  56.  
  57.     /**
  58.      * @param value
  59.      * @uml.property name="value"
  60.      */
  61.     public void setValue(int value) {
  62.         this.value = value;
  63.     }
  64.  
  65.     /**
  66.      * @return
  67.      * @uml.property name="state"
  68.      */
  69.     public String getState() {
  70.         return state;
  71.     }
  72.  
  73.     /**
  74.      * @param state
  75.      * @uml.property name="state"
  76.      */
  77.     public void setState(String state) {
  78.         this.state = state;
  79.     }
  80.  
  81.     @Override
  82.     public int hashCode() {
  83.         final int prime = 31;
  84.         int result = 1;
  85.         result = prime * result + ((suit == null) ? 0 : suit.hashCode());
  86.         result = prime * result + (int) (value ^ (value >>> 32));
  87.         return result;
  88.     }
  89.  
  90.     @Override
  91.     public boolean equals(Object obj) {
  92.         if (this == obj)
  93.             return true;
  94.         if (obj == null)
  95.             return false;
  96.         if (getClass() != obj.getClass())
  97.             return false;
  98.         final Card other = (Card) obj;
  99.         if (suit == null) {
  100.             if (other.suit != null)
  101.                 return false;
  102.         } else if (!suit.equals(other.suit))
  103.             return false;
  104.         if (value != other.value)
  105.             return false;
  106.         return true;
  107.     }
  108.  
  109.     @Override
  110.     public String toString() {
  111.         StringBuilder sb = new StringBuilder(2);
  112.         switch(value) {
  113.             case 11:
  114.                 sb.append('J');
  115.                 break;
  116.             case 12:
  117.                 sb.append('Q');
  118.                 break;
  119.             case 13:
  120.                 sb.append('K');
  121.                 break;
  122.             case 14:
  123.                 sb.append('A');
  124.                 break;
  125.             default:
  126.                 sb.append(value);
  127.                 break;
  128.         }
  129.         if ("C".equals(suit)) {
  130.             sb.append(CLUB);
  131.         } else if ("D".equals(suit)) {
  132.             sb.append(DIAMOND);
  133.         } else if ("H".equals(suit)) {
  134.             sb.append(HEART);
  135.         } else if ("S".equals(suit)) {
  136.             sb.append(SPADE);
  137.         }
  138.         return sb.toString();      
  139.     }
  140.    
  141. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement