Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ch.epfl.javass.jass;
- import ch.epfl.javass.jass.Card.Color;;
- public final class TurnState {
- public long pkScore;
- public int pkTrick;
- public long pkUnplayedCards;
- private TurnState(long pkScore,long pkUnplayedCards,int pkTrick) {
- this.pkScore = pkScore;
- this.pkTrick = pkTrick;
- this.pkUnplayedCards = pkUnplayedCards;
- }
- public static TurnState initial(Color trump, Score score, PlayerId firstPlayer) {
- return ofPackedComponents(score.packed(), PackedCardSet.ALL_CARDS, PackedTrick.firstEmpty(trump, firstPlayer));
- }
- public static TurnState ofPackedComponents(long pkScore, long pkUnplayedCards, int pkTrick) {
- if (PackedScore.isValid(pkScore) && PackedCardSet.isValid(pkUnplayedCards) && PackedTrick.isValid(pkTrick)) {
- return new TurnState(pkScore,pkUnplayedCards,pkTrick);
- }
- else {
- throw new IllegalArgumentException();
- }
- }
- public long packedScore() {
- return pkScore;
- }
- public long packedUnplayedCards() {
- return pkUnplayedCards;
- }
- public long packedTrick() {
- return pkTrick;
- }
- public Score score() {
- return Score.ofPacked(pkScore);
- }
- public CardSet unplayedCards() {
- return CardSet.ofPacked(pkUnplayedCards);
- }
- public Trick trick() {
- return Trick.ofPacked(pkTrick);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement