slime.poker
クラス Card

java.lang.Object
  上位を拡張 slime.poker.Card
すべての実装されたインタフェース:
java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<Card>

public class Card
extends java.lang.Object
implements java.lang.Cloneable, java.lang.Comparable<Card>, java.io.Serializable

トランプのカードを表すクラスです。

バージョン:
1.1, 2004/11/20
作成者:
slime
関連項目:
直列化された形式

入れ子のクラスの概要
static class Card.Rank
          ランクの定義。
static class Card.Suit
          スートの定義。
 
コンストラクタの概要
Card()
          コンストラクタ。
Card(Card.Suit suit, Card.Rank rank)
          コンストラクタ。
 
メソッドの概要
 java.lang.Object clone()
          このカードと同じカードを表すオブジェクトを返します。
 int compareTo(Card card)
          カードの大小を比較します。
 boolean equals(java.lang.Object obj)
          カードが等しいかどうかを返します。
static java.util.List<Card> getNewDeck(boolean useJoker)
          カード1組を返します。
static Card[] getRandomCards(int cardCount, boolean useJoker)
          指定された枚数の無作為に選ばれたカードを返します。
 Card.Rank getRank()
          ランクを返します。
 Card.Suit getSuit()
          スートを返します。
 int hashCode()
          ハッシュコードを返します。
 boolean isJoker()
          ジョーカーかどうかを返します。
 boolean isLowQualified(Card.Rank lowQualifiedUpperBound)
          このカードがローと判定されるかどうかを返します。
 java.lang.String toString()
          このカードを表す文字列を返します。
 
クラス java.lang.Object から継承されたメソッド
finalize, getClass, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

Card

public Card(Card.Suit suit,
            Card.Rank rank)
コンストラクタ。
ジョーカーではないインスタンスを返します。

パラメータ:
suit - スート
rank - ランク

Card

public Card()
コンストラクタ。
ジョーカーのインスタンスを返します。

メソッドの詳細

getNewDeck

public static java.util.List<Card> getNewDeck(boolean useJoker)
カード1組を返します。
カードはシャッフルされた状態になっています。
このメソッドはカードの枚数が多いときは getRandomCards よりも高速に結果を返します。
カードの枚数を n とすると、実験結果では、
n <= 24 のとき、 getRandomCards < getNewDeck
n >= 25 のとき、 getRandomCards > getNewDeck
となりました。

パラメータ:
useJoker - ジョーカーを使うかどうか
戻り値:
カード1組
関連項目:
getRandomCards(int, boolean)

getRandomCards

public static Card[] getRandomCards(int cardCount,
                                    boolean useJoker)
指定された枚数の無作為に選ばれたカードを返します。
このメソッドはカードの枚数が少ないときは getNewDeck よりも高速に結果を返します。
カードの枚数を n とすると、実験結果では、
n <= 24 のとき、 getRandomCards < getNewDeck
n >= 25 のとき、 getRandomCards > getNewDeck
となりました。

パラメータ:
cardCount - カード枚数
useJoker - ジョーカーを使うかどうか
戻り値:
無作為に選ばれたカード、cardCount の値が不正なときはnull
関連項目:
getNewDeck(boolean)

getSuit

public Card.Suit getSuit()
スートを返します。

戻り値:
スート

getRank

public Card.Rank getRank()
ランクを返します。

戻り値:
ランク

isJoker

public boolean isJoker()
ジョーカーかどうかを返します。

戻り値:
ジョーカーかどうか

isLowQualified

public boolean isLowQualified(Card.Rank lowQualifiedUpperBound)
このカードがローと判定されるかどうかを返します。

パラメータ:
lowQualifiedUpperBound - ローと判定される上限値
戻り値:
ローと判定されるかどうか

equals

public boolean equals(java.lang.Object obj)
カードが等しいかどうかを返します。

オーバーライド:
クラス java.lang.Object 内の equals
パラメータ:
obj - 比較対象のカード
戻り値:
カードが等しいかどうか

compareTo

public int compareTo(Card card)
カードの大小を比較します。

定義:
インタフェース java.lang.Comparable<Card> 内の compareTo
パラメータ:
card - 比較対象のカード
戻り値:
このカードの方が大きい場合は 1 、等しい場合は 0 、小さい場合は -1

toString

public java.lang.String toString()
このカードを表す文字列を返します。

オーバーライド:
クラス java.lang.Object 内の toString
戻り値:
このカードを表す文字列

clone

public java.lang.Object clone()
このカードと同じカードを表すオブジェクトを返します。

オーバーライド:
クラス java.lang.Object 内の clone
戻り値:
このカードと同じカードを表すオブジェクト

hashCode

public int hashCode()
ハッシュコードを返します。

オーバーライド:
クラス java.lang.Object 内の hashCode
戻り値:
ハッシュコード