Wednesday, March 27, 2019

Udemy-3: Sublist









void main() {
  var deck = new Deck();

  print(deck);
  print('');
  print(deck.deal(5));
  print('');
  print(deck);
}

class Deck {
  List<Card> cards = [];
  Deck() {
   
    var ranks = ['ACE', 'TWO', 'THREE', 'FOUR', 'FIVE'];
    var suits = ['DIAMONDS', 'HEARTS', 'CLUBS', 'SPADES'];

    for (var rank in ranks) {
      for (var suit in suits) {
//         print("rank: $rank & suit: $suit");
        var card = new Card(rank, suit);
        cards.add(card);
      }
     
    }
  }
 
      toString() {
      return cards.toString();
    }
 
  shuffle(){
    cards.shuffle();
  }
 
  cardsWithSuits(String suit){
    return cards.where((card) => card.suit == suit );
  }
 
  deal(int handSize){
    var hand = cards.sublist(0, handSize);
   
    cards = cards.sublist(handSize);
   
    return hand;
  }
 
 
}

class Card{
  String rank;
  String suit;
  Card(this.rank, this.suit);
 
  toString(){
    return "$rank of $suit";
  }
}

No comments:

Post a Comment