1

私は非常に単純化されたコインとカードゲームに基づいてこの割り当てを持っています。いくつかの完全なファイルといくつかの不完全なファイルが提供されます。私がやろうとしているのは、あるクラス(card.cs)から別のクラス(hand.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.

コードを押収せずに正確にどのように言うことはできません。

Cardcard変数に)を入れたら、次のToStringように呼び出します。

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