📄 packofcards.java
字号:
package de.tsr.jsol.logic;
import java.util.*;
public class PackOfCards {
private Stack _cards;
private Stack _distributedCards;
public PackOfCards() {
_cards = new Stack();
_distributedCards = new Stack();
_cards.addElement( new Card( Card.HEARTS, Card.ACE ) );
_cards.addElement( new Card( Card.HEARTS, Card.TWO ) );
_cards.addElement( new Card( Card.HEARTS, Card.THREE ) );
_cards.addElement( new Card( Card.HEARTS, Card.FOUR ) );
_cards.addElement( new Card( Card.HEARTS, Card.FIVE ) );
_cards.addElement( new Card( Card.HEARTS, Card.SIX ) );
_cards.addElement( new Card( Card.HEARTS, Card.SEVEN ) );
_cards.addElement( new Card( Card.HEARTS, Card.EIGHT ) );
_cards.addElement( new Card( Card.HEARTS, Card.NINE ) );
_cards.addElement( new Card( Card.HEARTS, Card.TEN ) );
_cards.addElement( new Card( Card.HEARTS, Card.JACK ) );
_cards.addElement( new Card( Card.HEARTS, Card.QUEEN ) );
_cards.addElement( new Card( Card.HEARTS, Card.KING ) );
_cards.addElement( new Card( Card.SPADES, Card.ACE ) );
_cards.addElement( new Card( Card.SPADES, Card.TWO ) );
_cards.addElement( new Card( Card.SPADES, Card.THREE ) );
_cards.addElement( new Card( Card.SPADES, Card.FOUR ) );
_cards.addElement( new Card( Card.SPADES, Card.FIVE ) );
_cards.addElement( new Card( Card.SPADES, Card.SIX ) );
_cards.addElement( new Card( Card.SPADES, Card.SEVEN ) );
_cards.addElement( new Card( Card.SPADES, Card.EIGHT ) );
_cards.addElement( new Card( Card.SPADES, Card.NINE ) );
_cards.addElement( new Card( Card.SPADES, Card.TEN ) );
_cards.addElement( new Card( Card.SPADES, Card.JACK ) );
_cards.addElement( new Card( Card.SPADES, Card.QUEEN ) );
_cards.addElement( new Card( Card.SPADES, Card.KING ) );
_cards.addElement( new Card( Card.DIAMONDS, Card.ACE ) );
_cards.addElement( new Card( Card.DIAMONDS, Card.TWO ) );
_cards.addElement( new Card( Card.DIAMONDS, Card.THREE ) );
_cards.addElement( new Card( Card.DIAMONDS, Card.FOUR ) );
_cards.addElement( new Card( Card.DIAMONDS, Card.FIVE ) );
_cards.addElement( new Card( Card.DIAMONDS, Card.SIX ) );
_cards.addElement( new Card( Card.DIAMONDS, Card.SEVEN ) );
_cards.addElement( new Card( Card.DIAMONDS, Card.EIGHT ) );
_cards.addElement( new Card( Card.DIAMONDS, Card.NINE ) );
_cards.addElement( new Card( Card.DIAMONDS, Card.TEN ) );
_cards.addElement( new Card( Card.DIAMONDS, Card.JACK ) );
_cards.addElement( new Card( Card.DIAMONDS, Card.QUEEN ) );
_cards.addElement( new Card( Card.DIAMONDS, Card.KING ) );
_cards.addElement( new Card( Card.CLUBS, Card.ACE ) );
_cards.addElement( new Card( Card.CLUBS, Card.TWO ) );
_cards.addElement( new Card( Card.CLUBS, Card.THREE ) );
_cards.addElement( new Card( Card.CLUBS, Card.FOUR ) );
_cards.addElement( new Card( Card.CLUBS, Card.FIVE ) );
_cards.addElement( new Card( Card.CLUBS, Card.SIX ) );
_cards.addElement( new Card( Card.CLUBS, Card.SEVEN ) );
_cards.addElement( new Card( Card.CLUBS, Card.EIGHT ) );
_cards.addElement( new Card( Card.CLUBS, Card.NINE ) );
_cards.addElement( new Card( Card.CLUBS, Card.TEN ) );
_cards.addElement( new Card( Card.CLUBS, Card.JACK ) );
_cards.addElement( new Card( Card.CLUBS, Card.QUEEN ) );
_cards.addElement( new Card( Card.CLUBS, Card.KING ) );
}
public void Shuffle() {
Shuffle(5);
}
protected void Shuffle( int shuffleTimes ) {
for( int n = 0; n<shuffleTimes; n++) {
Stack order = new Stack();
Random r = new Random();
while( _cards.size() > 0 ) {
int rand = r.nextInt();
if( rand < 0 ) {
continue;
}
rand = rand % _cards.size();
Object o = _cards.elementAt( rand );
_cards.removeElement(o);
order.push( o );
}
_cards = order;
}
}
public boolean HasMoreCards() {
return ! _cards.empty();
}
public Card GetCard() {
return (Card)_cards.pop();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -