扑克手评估器结构数组

时间:2015-09-01 19:55:43

标签: c# poker

对于一项任务,我被问到如下:

编写一个评估单个扑克牌手的程序。显示指针并打印出它的类型。下面列出了从最高排名到最低排名的手牌。 使用卡的结构和手的结构数组。你应该为每种类型的手写一个方法,如果手适合那个标准,则返回true,如果不符合,则返回false 您将使用的结构应如下所示:

public struct card 
{    
    public char suit; // 'C', 'D', 'H', 'S' - for clubs, diamonds, hearts, and spades    
    public int value; //2-14 – for 2-10,Jack, Queen, King, Ace 
};   

struct card hand[5];

我们已经为我们分配了外部txt文件,如下所示:

C 13 H 13 D 13 C 10 H 10

我已经设法将文本文件读入我的程序,但我不确定该怎么做。结构数组如下:

(C 13)(H 13)(D 13)(C 10)(H 10)

不太确定如何将文件行从文件转移到这种格式,任何帮助表示赞赏,欢呼:)

1 个答案:

答案 0 :(得分:1)

试试这个

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;

namespace ConsoleApplication45
{
    class Program
    {
        static void Main(string[] args)
        {
            List<Card> cards = new List<Card>();
            string input = "C 13 H 13 D 13 C 10 H 10";
            string[] inputArray = input.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);

            for(int i = 0; i < 10; i += 2)
            {
                Card newCard = new Card();
                newCard.suit = inputArray[i][0];
                newCard.value = int.Parse(inputArray[i + 1]);
                cards.Add(newCard);
            }

            foreach (Card card in cards)
            {
                Console.WriteLine("Suit {0}, Rank {1}", card.suit, card.value.ToString());
            }
            Console.ReadLine();


        }
        public struct Card
        {
            public char suit; // 'C', 'D', 'H', 'S' - for clubs, diamonds, hearts, and spades    
            public int value; //2-14 – for 2-10,Jack, Queen, King, Ace };
        }
    }

}