Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void main() {
- var deck = new Deck();
- print(deck);
- deck.removeCard('Diamonds', 'Ace');
- print(deck);
- }
- class Card {
- String rank;
- String suit;
- Card({this.suit, this.rank});
- toString() {
- return '$rank of $suit';
- }
- }
- class Deck {
- List<Card> cards = [];
- Deck() {
- var ranks = ['Ace', '2', '3', '4', '5', '6', '7', '8','9', 'J', 'Q', 'K'];
- var suits = ['Diamonds', 'Heards', 'Clubs', 'Spades'];
- for (var suit in suits){
- for (var rank in ranks){
- var card = new Card(
- suit: suit,
- rank: rank
- );
- cards.add(card);
- }
- }
- }
- toString() {
- return cards.toString();
- }
- shuffle() {
- cards.shuffle();
- }
- cardsWithSuit(String suit) {
- return cards.where((card) => card.suit == suit);
- }
- deal(int handSize) {
- var hand = cards.sublist(0, handSize);
- cards = cards.sublist(handSize);
- return hand;
- }
- removeCard(String suit, String rank) {
- cards.removeWhere((card) => (card.suit == suit && card.rank == rank));
- }
- }
Add Comment
Please, Sign In to add comment