0

私はフラッシュを決定する方法を持っています、ただいくつかの意見が欲しいです。ポーカーのハンド配列を調べ、スーツを比較し、カードが一致するたびにカウントし、4の場合はtrueを返します。これを行うためのより効率的な方法はありますか?

public boolean isFlush(PlayingCard[] hand)
    {
        int suitCounter = 0;

        for(int i = 0; i < 1 ; i++)
        {
            for(int j = 1 ; j < hand.length ; j++ )
            {
                if(hand[i].getSuit() == hand[j].getSuit())
                    suitCounter++;
            }
        }

        return (suitCounter == 4);
    }
4

1 に答える 1

2
public boolean isFlush(PlayingCard[] hand) {
  Suit s = hand[0].getSuit();

  for(PlayingCard c : hand)
    if(c.getSuit() != s)
      return false;

  return true;
}

何もカウントする必要はありfalseません。何かが一致しない場合は単に戻ります。

于 2012-05-18T02:44:04.993 に答える