示例#1
0
        public static Card Create(int cardValue)
        {
            if (cardValue == Constants.JokerValue)
            {
                var joker = new Card(Constants.JokerACode, cardValue, Suite.Joker);
                return(joker);
            }

            Suite cardSuite = (cardValue % 13) switch
            {
                0 => Suite.Club,
                1 => cardValue == 13 ? Suite.Club : Suite.Diamond,
                3 => cardValue == 26 ? Suite.Diamond : Suite.Heart,
                4 => cardValue == 39 ? Suite.Heart : Suite.Spade,
                _ => throw new InvalidOperationException($"Card value {cardValue} is too large to compute suite.")
            };

            var value     = cardValue - (int)cardSuite;
            var valueCode = Constants.CardCodes[value];
            var suiteCode = char.ToUpperInvariant(cardSuite.ToString().First());

            var card = new Card($"{valueCode}{suiteCode}", cardValue, cardSuite);

            return(card);
        }
示例#2
0
 static void Main()
 {
    HotelRoom aRoom = new HotelRoom(234);
    SingleRoom aSingle = new SingleRoom(135); 
    Suite aSuite = new Suite(453);
    Console.WriteLine(aRoom.ToString());
    Console.WriteLine(aSingle.ToString());
    Console.WriteLine(aSuite.ToString();
 }
示例#3
0
    public static void TenFour()
    {
        HotelRoom  aRoom   = new HotelRoom(234);
        SingleRoom aSingle = new SingleRoom(135);
        Suite      aSuite  = new Suite(453);

        WriteLine(aRoom.ToString());
        WriteLine(aSingle.ToString());
        WriteLine(aSuite.ToString());//add )
        System.Console.ReadLine();
    }
示例#4
0
 public override string ToString()
 {
     return(IsHidden ? "back1" : Suite.ToString()[0].ToString() + Rank.GetRankString());
 }
示例#5
0
 public override string ToString()
 {
     return(value.ToString() + " of " + suite.ToString() + "s");
 }
示例#6
0
 public void the_title_is_the_suite_string()
 {
     ClassUnderTest.Title.ShouldEqual(suite.ToString());
 }
示例#7
0
 public string ShortName()
 {
     return(type.ToString().Substring(1) + suite.ToString().Substring(0, 1));
 }
示例#8
0
 public override string ToString() => NamedValue + ' ' + Suite.ToString();
示例#9
0
 public override string ToString()
 {
     return(Value.ToString() + " of " + Suite.ToString());
 }