0

ここに新しい C#er があります。コンソールRPGをやっています。変数をtxtファイルに書き込み、特定の時点で「ゲームを保存」または「ゲームをロード」と入力するとそれらをロードする保存およびロードメソッドを作成しました。LoadGame() メソッドを Main() 内のポイントにジャンプさせようとしています。コードの一部を書き直して if ステートメントを使用したり、goto を使用して LoadGame() を削除したりすることもできますが、LoadGame() を Main() の外に置いておくことをお勧めします。

基本的に私のコードは次のようになります。

    public static void LoadGame()

    {
        TextReader tr = new StreamReader("SavedGame.txt");

        string charnameload = tr.ReadLine();
        string hpload = tr.ReadLine();
        string hpmaxload = tr.ReadLine();
        string charattackload = tr.ReadLine();
        string charmanaload = tr.ReadLine();
        string charmanamaxload = tr.ReadLine();
        string charmanapowerload = tr.ReadLine();
        string spellsknownload = tr.ReadLine();
        string holyblastknownload = tr.ReadLine();
        string greaterhealknownload = tr.ReadLine();
        string goldload = tr.ReadLine();
        string expload = tr.ReadLine();
        string levelload = tr.ReadLine();
        string inventoryWeaponload = tr.ReadLine();
        string inventoryArmorload = tr.ReadLine();
        string inventoryshieldload = tr.ReadLine();
        string inventoryPotion1load = tr.ReadLine();
        string inventoryPotion2load = tr.ReadLine();
        string inventoryPotion3load = tr.ReadLine();
        string inventoryKey1load = tr.ReadLine();
        string inventoryKey2load = tr.ReadLine();
        string inventoryKey3load = tr.ReadLine();
        string inventoryKey4load = tr.ReadLine();
        string inventoryKey5load = tr.ReadLine();

        characterName = Convert.ToString(charnameload);
        hp = Convert.ToInt32(hpload);
        hpmax = Convert.ToInt32(hpmaxload);
        charattack = Convert.ToInt32(charattackload);
        charmana = Convert.ToInt32(charmanaload);
        charmanamax = Convert.ToInt32(charmanamaxload);
        charmanapower = Convert.ToInt32(charmanapowerload);
        spellsknown = Convert.ToInt32(spellsknownload);
        holyblastknown = Convert.ToInt32(holyblastknownload);
        greaterhealknown = Convert.ToInt32(greaterhealknownload);
        gold = Convert.ToInt32(goldload);
        exp = Convert.ToInt32(expload);
        level = Convert.ToInt32(levelload);
        inventoryWeapon = Convert.ToString(inventoryWeaponload);
        inventoryArmor = Convert.ToString(inventoryArmorload);
        inventoryshield = Convert.ToString(inventoryshieldload);
        inventoryPotion1 = Convert.ToString(inventoryPotion1load);
        inventoryPotion2 = Convert.ToString(inventoryPotion2load);
        inventoryPotion3 = Convert.ToString(inventoryPotion3load);
        inventoryKey1 = Convert.ToString(inventoryKey1load);
        inventoryKey2 = Convert.ToString(inventoryKey2load);
        inventoryKey3 = Convert.ToString(inventoryKey3load);
        inventoryKey4 = Convert.ToString(inventoryKey4load);
        inventoryKey5 = Convert.ToString(inventoryKey5load);

        tr.Close();
        CheckInventory();
        CheckSpell();

    //need statement here to skip to a point in Main()

    }

static void Main()
{
   //skip to somewhere in here
}
4

1 に答える 1

1

あなたは前後に考えています。実行したいメインのメソッドを呼び出します

例えば

static void Main()
{
    LoadGame();
}
于 2013-03-08T12:55:58.040 に答える