1

我有这个基于硬币和纸牌游戏的任务,非常简单。我们得到了一些完整的和一些不完整的文件。我想做的是从另一个类(hand.cs)中的一个类(card.cs)调用一个方法(实际上是一个字符串)。

这是 card.cs 中的字符串方法:

public string ToString(bool shortFormat, bool displaySuit)
    {
        string returnString;

        // Describe the FaceValue.
        FaceValue faceValue = GetFaceValue();
        string faceValueAsString = faceValue.ToString();
        if (shortFormat) {
            if (faceValue <= FaceValue.Ten) {
                faceValueAsString = (faceValue - FaceValue.Two + 2).ToString();
            } else {
                faceValueAsString = faceValueAsString.Substring(0, 1);
            }
        }

        returnString = faceValueAsString;

        // Describe the Suit.
        if (displaySuit) {
            string suit = GetSuit().ToString();
            if (shortFormat) {
                suit = suit.Substring(0, 1);
                returnString += suit;
            } else {
                returnString += " of " + suit;
            }
        }

        return returnString;
    }

并来自 hand.cs(仅限 ToString 字符串/方法,此文件中还有其他函数用于处理创建手牌(列出名为牌的牌)并向其添加牌。)

/// <summary>
    /// Outputs the hand of cards.
    /// See the ToString method in the Card class for a description of 
    /// the two parameters: shortFormat and displaySuit.
    /// Pre: true
    /// Post: Displayed the hand of cards.
    /// </summary>
    public void DisplayHand(bool shortFormat, bool displaySuit) {

        //
        //**************** CODE NEEDS TO BE ADDED**********************
        // Should be able to call the ToString method in the Card class,
        // as part of this.
        //

    } // end DisplayHand

它们是我为作业获得的未经编辑的文件。我想知道的是如何使用TwoString(shortFormat, displaySuit)in DisplayHand(shortFormat, displaySuit)。在某个阶段,我有一个单独的列表来放入字符串值,但它后来被删除,试图将文件恢复为原始文件。我不太确定这将如何在游戏的后期使用,但我想我是否可以让它与列表一起运行,然后将列表更改为字符串或数组,或者以后可以很容易地完成的任何事情。一旦我知道如何调用这个字符串,我应该能够修改我必须调用的所有其他字符串和整数的代码。

4

1 回答 1

4

你需要Card打电话ToString。我假设你会这样做:

foreach (Card card in this.Cards) { ... } // Loop through cards in this hand.

如果没有看到代码,我无法确切地告诉你。

一旦你有一个Card(在card变量中),ToString像这样调用:

string str = card.ToString(true, true);
于 2012-06-04T18:41:29.090 回答