Javascript 在统一字母游戏中结束游戏

Javascript 在统一字母游戏中结束游戏,javascript,c#,unity3d,game-development,Javascript,C#,Unity3d,Game Development,我是编程新手,我跟随了一段视频,讲述了如何在unity中创建一个字母游戏,在屏幕上显示一个字母,当选择其中5个字母时,它会移动到下一个字母。 我面临的问题是,在字母Z之后的各种角色的游戏仍在继续 当玩家完成字母Z后,我如何让游戏结束,而不是继续玩其他角色 下面是我的代码: 游戏控制器: using System.Collections.Generic; using System.Linq; using UnityEngine; public class GameController : Mon

我是编程新手,我跟随了一段视频,讲述了如何在unity中创建一个字母游戏,在屏幕上显示一个字母,当选择其中5个字母时,它会移动到下一个字母。 我面临的问题是,在字母Z之后的各种角色的游戏仍在继续

当玩家完成字母Z后,我如何让游戏结束,而不是继续玩其他角色

下面是我的代码:

游戏控制器:

using System.Collections.Generic;
using System.Linq;
using UnityEngine;

public class GameController : MonoBehaviour
{

    public char Letter = 'a';
    
    int _correctAnswers = 5;
    int _correctClicks;
    

    void OnEnable()
    {
        GenerateBoard();
        UpdateDiplayLetters();
    }

    void GenerateBoard()
    {
        var clickables = FindObjectsOfType<ClickableLetter>();

        List<char> charsList = new List<char>();

        for (int i = 0; i < _correctAnswers; i++)
            charsList.Add(Letter);

        for (int i = _correctAnswers; i < clickables.Length; i++)
        {
            var chosenLetter = ChooseInvalidRandomLetter();
            charsList.Add(chosenLetter);
        }

        charsList = charsList
            .OrderBy(t => UnityEngine.Random.Range(0, 10000))
            .ToList();

        for (int i = 0; i < clickables.Length; i++)
        {
            clickables[i].SetLetter(charsList[i]);
        }

        FindObjectOfType<RemainingCounterText>().SetRemaining(_correctAnswers - _correctClicks);
    }

    internal void HandleCorrectLetterClick(bool upperCase)
    {

        _correctClicks++;
        FindObjectOfType<RemainingCounterText>().SetRemaining(_correctAnswers - _correctClicks);
        if (_correctClicks >= _correctAnswers)
        {
            Letter++;
            UpdateDiplayLetters();
            _correctClicks = 0;
            GenerateBoard();
        }
    }


    private void UpdateDiplayLetters()
    {
        foreach (var displayletter in FindObjectsOfType<DisplayLetter>())
        {
            displayletter.SetLetter(Letter);
        }
    }

    private char ChooseInvalidRandomLetter()
    {
        int a = UnityEngine.Random.Range(0, 26);
        var randomLetter = (char)('a' + a);
        while (randomLetter == Letter)
        {
            a = UnityEngine.Random.Range(0, 26);
            randomLetter = (char)('a' + a);
        }
        return randomLetter;
    }
}

使用System.Collections.Generic;
使用System.Linq;
使用UnityEngine;
公共类游戏控制器:单行为
{
公共字符字母='a';
int _=5;
int_;
void OnEnable()
{
生成板();
UpdatedPlayLetters();
}
无效生成板()
{
var clickables=FindObjectsOfType();
列表字符列表=新列表();
对于(int i=0;i<\u;i++)
charsList.Add(字母);
for(int i=_correctAnswers;iUnityEngine.Random.Range(0,10000))
.ToList();
对于(int i=0;i=\u correctAnswers)
{
字母++;
UpdatedPlayLetters();
_修正系数=0;
生成板();
}
}
私有void updateDisplayLetters()
{
foreach(FindObjectsOfType()中的变量displayletter)
{
displayletter.SetLetter(字母);
}
}
私有字符选择InvalidAndomletter()
{
int a=单位发动机随机范围(0,26);
var randomLetter=(char)('a'+a);
while(随机字母==字母)
{
a=单位发动机随机范围(0,26);
随机字母=(字符)('a'+a);
}
回信;
}
}

非常感谢您的帮助

如果我没弄错你的问题,你可以在
Letter='z'
重新启动场景,或者移动到另一个场景,上面写着“你完成了游戏,现在可以关闭游戏”,或者只是禁用场景中除游戏结束文本或类似内容之外的所有内容

我希望这个答案是有用的,祝你好运