-Annie-

CardCompareTo

Jul 28th, 2016
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.77 KB | None | 0 0
  1. namespace CardCompareTo
  2. {
  3.     using System;
  4.     using System.Collections.Generic;
  5.  
  6.     public enum Suit
  7.     {
  8.         Clubs = 0,
  9.         Hearts = 26,
  10.         Diamonds = 13,
  11.         Spades = 39
  12.     }
  13.  
  14.     public enum Rank
  15.     {
  16.         Ace = 14,
  17.         Two = 2,
  18.         Three = 3,
  19.         Four = 4,
  20.         Five = 5,
  21.         Six = 6,
  22.         Seven = 7,
  23.         Eight = 8,
  24.         Nine = 9,
  25.         Ten = 10,
  26.         Jack = 11,
  27.         King = 12,
  28.         Queen = 13,
  29.     }
  30.  
  31.     public class Card : IComparable<Card>
  32.     {
  33.         private int power;
  34.  
  35.         Suit suit;
  36.         Rank rank;
  37.  
  38.         public int Power
  39.         {
  40.             get
  41.             {
  42.                 return (int)this.suit + (int)this.rank;
  43.             }
  44.         }
  45.  
  46.         public override string ToString()
  47.         {
  48.             return string.Format("Card name: {0} of {1}; Card power: {2}", this.rank, this.suit, Power);
  49.         }
  50.  
  51.         public int CompareTo(Card other)
  52.         {
  53.             return this.Power.CompareTo(other.Power);
  54.         }
  55.  
  56.         public Card(Suit suit, Rank rank)
  57.         {
  58.             this.suit = suit;
  59.             this.rank = rank;
  60.         }
  61.     }
  62.  
  63.     class Program
  64.     {
  65.         static void Main()
  66.         {
  67.             SortedSet<Card> cards = new SortedSet<Card>();
  68.  
  69.             for (int i = 0; i < 2; i++)
  70.             {
  71.                 string cardRank = Console.ReadLine();
  72.                 string cardSuit = Console.ReadLine();
  73.  
  74.                 Rank rank = (Rank)Enum.Parse(typeof(Rank), cardRank);
  75.                 Suit suit = (Suit)Enum.Parse(typeof(Suit), cardSuit);
  76.  
  77.                 var card = new Card(suit, rank);
  78.                 cards.Add(card);
  79.             }
  80.  
  81.             Console.WriteLine(cards.Max);
  82.         }
  83.     }
  84. }
Advertisement
Add Comment
Please, Sign In to add comment