I'm recently learning C# but I've run into a problem.
public static void PlayGame(Kion Player1,Kion Player2)
{
bool Win = false;
Console.WriteLine ("Let us begin then");
Console.WriteLine ("Press Enter to roll the dice ");
Console.ReadLine ();
Console.WriteLine ();
Console.WriteLine ();
Random Dice = new Random();
while (Win == false)
{
int DiceResult = Dice.Next (1,6);
switch(DiceResult) ***control cannot fall-through from one case label to another error message here***
{
case 1:
case 4:
Console.WriteLine ("The attribute being played is Strength");
if ((Player1.Pride == "Kan") & (Player2.Pride == "Kan"))
Console.WriteLine ("You are both proud Kans, you match in combat and do not lose health");
else
Console.WriteLine ("Those who belong to the 'Kan' pride unleashes their claws");
if (Player1.Pride == "Kan")
{
Player2.LoseHealth();
int PlayerNumber = 2;
LoseHealthText(PlayerNumber, Player2);
}
else
if (Player2.Pride == "Kan")
{
Player1.LoseHealth ();
int PlayerNumber = 1;
LoseHealthText(PlayerNumber, Player1);
}
else
Console.WriteLine ("None belong to the Kan, you will all hide this turn");
break;
case 3:
case 6:
Console.WriteLine ("hello");
}
}
}
The code above cannot execute because the compiler reports an error of control cannot fall-through from case label to another
on the line where there is the switch(DiceResult)
statement.
Can someone help my identify where my mistake is?
Here you need a
break;
statement, like this:In
C#
, you can't create acase
option withoutbreak;
,return;
orthrow
statement. Please refer MSDN| for more information.