牌手评估器数组的结构

本文关键字:结构 数组 评估器 | 更新日期: 2023-09-27 18:10:42

对于一个任务,我被要求如下:

编写一个计算一手牌的程序。显示手并打印出它是什么类型。手的等级从高到低排列如下。对牌使用一个结构,对手牌使用一个结构数组。你应该为每一种类型的手写一个方法,如果手符合这个条件返回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];

外部文本文件已经分配给我们使用,看起来像这样:

C 13 H 13 D 13 C 10 H 10

我已经设法将文本文件读到我的程序中,但我不确定该怎么做。结构数组应该是这样的:

(c13)(h13)(d13)(c10)(h10)

不太确定如何将文本行从文件转移到这种类型的格式,任何帮助都是感激的,干杯:)

牌手评估器数组的结构

试试这个

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 };
        }
    }
}