C# 只使用一次循环

C# 只使用一次循环,c#,C#,我正在制作一个有不同帮助选项的琐事游戏,但是用户只能使用一次。 我知道我需要一个bool变量来实现这一点,但我不知道怎么做 50/50帮助的示例 else if (key_pressed.Equals("1")) { char c; string erradas = ""; for (int i = 1; i <= 4; i++) {

我正在制作一个有不同帮助选项的琐事游戏,但是用户只能使用一次。 我知道我需要一个bool变量来实现这一点,但我不知道怎么做

50/50帮助的示例

 else if (key_pressed.Equals("1"))
            {
                char c;
                string erradas = "";

                for (int i = 1; i <= 4; i++)
                {
                    if (!levels[current_level][x][i].Equals(resp))
                    {
                        c = (char)(i + 64); 
                        erradas = erradas + c;
                    }
                    else
                    { 
                        c = (char)(i + 64); 
                        respostas = respostas + c;
                    }
                }
                ajuda_used = true;
                respostas = respostas + HELP5050(erradas); 
                continue;
             }

 public static string HELP5050(string opcoes)
    {
        Random rand = new Random();
        int r = rand.Next(0, 2);
        return (opcoes.ElementAt(r).ToString());
    }
else如果(按下键等于(“1”))
{
字符c;
字符串erradas=“”;

对于(inti=1;i这是您想要的吗?这将确保每个类实例/应用程序运行时只访问一次内部作用域(如果主函数中有)

bool bonusUsed = false;

if(!bonusUsed)
{
    // do your thing
    bonusUsed = true;
}
根据您的情况,我想按下
键.Equals(“1”)
应该会调用50/50帮助。所以

bool fiftyFiftyUsed = false;

...

else if (key_pressed.Equals("1"))
{
     if(fiftyFiftyUsed)
     {
         Console.WriteLine("You have already used this help.");
         continue;
     }

     char c;
     string erradas = "";

     for (int i = 1; i <= 4; i++)
     {
         if (!levels[current_level][x][i].Equals(resp))
         {
             c = (char)(i + 64); 
             erradas = erradas + c;
         }
         else
         { 
             c = (char)(i + 64); 
             respostas = respostas + c;
         }
     }
     ajuda_used = true;
     respostas = respostas + HELP5050(erradas); 
     continue;
     fiftyFiftyUsed = true; // <-- and do not forget to set this
 }
bool fiftyUsed=false;
...
否则,如果(按下按键等于(“1”))
{
如果(使用了五分之五)
{
WriteLine(“您已经使用了此帮助。”);
继续;
}
字符c;
字符串erradas=“”;

对于(int i=1;我将只运行此循环一次?编辑。我试图实现此功能。但我可以再次使用此帮助。谢谢,我将立即尝试此功能。非常感谢。我可以问您另一件事吗?现在,当我单击“1”时,帮助不会显示,但我如何使其显示为:“您已经使用此帮助。请尝试其他帮助”