You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xamarin.Forms Entry猜谜功能故障排查:成功提示不显示及3次尝试逻辑异常

问题分析与修复方案

嘿,我帮你揪出代码里的两个关键问题,这就是为啥成功提示出不来、次数限制也没生效的原因:

1. 计数器每次都被重置,次数限制完全失效

你把int CompteurEnigme = 0;放在了Entry_Completed方法内部,每次用户提交答案,这个计数器都会被重新设为0。也就是说,用户答多少次,计数器永远都是从0开始——既不会累计错误次数,也触发不了3次答错的剧情,甚至会干扰答对的判断逻辑。

2. While循环逻辑错误,无法正确处理单次提交

Entry_Completed是用户提交一次答案就触发一次的方法,你用了while循环,这就导致:

  • 如果用户第一次答错,循环会直接连续弹出3次错误提示(因为计数器在循环里快速增加到3),根本不给用户重新输入的机会;
  • 如果用户答对了,虽然while不会执行,但因为计数器每次重置,看似没问题,但如果用户是第二次答对,逻辑也不会识别到之前的错误次数。

修正后的完整代码

第一步:把计数器移到类的成员变量,保存错误次数

先在你的页面类里定义计数器(放在方法外面,作为类的成员):

// 放在页面类的顶部,作为成员变量
private int _compteurEnigme = 0;

第二步:重构Entry_Completed方法的逻辑

去掉while循环,改成单次判断的逻辑——因为每次提交只需要处理当前的答案:

public void Entry_Completed(object sender, EventArgs e)
{
    // 先处理输入,Trim去掉前后空格避免误判
    var reponseEnigme01 = Enigme01.Text?.Trim();
    string soluce1 = "chaussette";

    // 优先判断是否答对
    if (string.Equals(reponseEnigme01, soluce1, StringComparison.OrdinalIgnoreCase))
    {
        Reponse04.Text = "Bravo, vous avez donné la bonne réponse et la porte s'ouvre.";
        Reponse04.IsVisible = true;
        Enigme01.IsEnabled = false; // 答对后禁用输入,防止重复提交
        return; // 直接返回,不执行后面的错误逻辑
    }

    // 答错的情况,累计次数
    _compteurEnigme++;
    if (_compteurEnigme >= 3)
    {
        Reponse04.TextColor = Color.DarkRed;
        Reponse04.Text = "A force de cogiter pour trouver la réponse, vous ne voyez pas les gardes arriver. Ils vous attrapent et finisser ainsi votre carrière d'aventurier dans une geôle.";
        Reponse04.IsVisible = true;
        Enigme01.IsEnabled = false; // 用完3次机会后禁用输入
    }
    else
    {
        // 提示剩余次数,更友好
        DisplayAlert("Info:", $"Mauvaise réponse, il vous reste {3 - _compteurEnigme} essais.", "ok");
    }
}

额外优化说明

  • 给输入内容加了Trim(),避免用户输入前后空格导致判断错误;
  • 用StringComparison.OrdinalIgnoreCase做比较,让答案不区分大小写(如果不需要可以删掉这个参数);
  • 答对或用完次数后禁用输入框,防止用户重复提交无效内容。

这样修改后,就能完美实现你的需求:

  • 累计错误次数,最多允许3次尝试;
  • 答错时清晰提示剩余次数;
  • 答对时正常显示成功剧情;
  • 用完次数或答对后,输入框自动禁用,避免无效操作。

内容的提问来源于stack exchange,提问作者Julien

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 22:37:35