ユーザーが選択できるようにスイッチを使用しようとしています。しかし、スイッチのデフォルトが実行されると、たとえば、実行されたデフォルトよりも1時間遅れてWriteLineが "room3"から印刷されます。デフォルトは2回実行され、 "room3"のWriteLineは3回実行されます。C#ステートメントを複製する?
イムは単なる私の学校でクラスのための独自のアドベンチャーゲームを選んで作成しようと、私はこの1つを考え出す助けが必要です。イムも、C#にはかなり新しいので
事前に助けをありがとう!
public static void sword()
{
Console.WriteLine ("The lights turn on and your in a similar room to your " +
"cell just alot bigger. What would you like to do?");
Console.WriteLine ("1) Look around");
Console.WriteLine ("2) Kick something");
Console.WriteLine ("3) Go back towards your cell");
swordChoice();
}
public static void swordChoice()
{
string userValue = Console.ReadLine();
//Broken because when the default comes up it
//will print the “room3” line multiple times.
switch (userValue) {
case "1":
Console.WriteLine ("You start looking around but theres not much to see.");
Console.ReadLine();
Console.WriteLine ("You start heading back towards your cell.");
Console.ReadLine();
break;
case "2":
Console.WriteLine ("Thats pointless get your head in the game.");
Console.ReadLine();
goto default;
case "3":
Console.WriteLine ("You start heading back towards your cell.");
Console.ReadLine();
break;
default:
Console.WriteLine ("Well you cant do nothing, Please choose 1, 2 or 3");
swordChoice();
break;
}
room3();
}
public static void room3()
{
Console.WriteLine ("You made it back.");
Console.ReadLine();
//More dialouge here
}
デバッガでコードを実行して、何をしているのかを確認します。 – Servy
は 'room3();'としてしばしばswordChoice'が実行されます 'として実行されますが、ないように頻繁にdefault'をが – UnholySheep
今日ヒットした'としてあなたはあなたのためにそれを行うには、インターネットを求めることなく、小さなプログラムをデバッグする方法を学ぶ一日です。生涯続く貴重なスキルです。 :-) https://ericlippert.com/2014/03/05/how-to-debug-small-programs/ –