using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.Security.Cryptography.X509Certificates;
using UnityEngine;
using UnityEngine.UI;
public class LetterRandomiser : MonoBehaviour
{
public char[] characters;
public Text textbox;
public InputField mainInputField;
public string[] lines;
void Start()
{
char c = characters[Random.Range(0, characters.Length)];
char d = characters[Random.Range(0, characters.Length)];
textbox.text = c.ToString() + d.ToString();
lines = System.IO.File.ReadAllLines(@"C:\Users\lluc\Downloads\corncob_lowercase.txt");
}
void wordIsInFile(string word)
{
foreach (var item in lines)
{
if (word == item)
{
char c = characters[Random.Range(0, characters.Length)];
char d = characters[Random.Range(0, characters.Length)];
textbox.text = c.ToString() + d.ToString();
mainInputField.text = "";
}
else
{
mainInputField.text = "";
}
}
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Return) && mainInputField.text.Contains(textbox.text) == true)
{
wordIsInFile(mainInputField.text);
}
else if (Input.GetKeyDown(KeyCode.Return) && mainInputField.text.Contains(textbox.text) == false)
{
wordIsInFile(mainInputField.text);
}
}
}
我的问题:
我想让它让玩家必须猜测一个包含两个随机生成的字母的单词(显示在输入字段上方)。
然而到目前为止,玩家可以输入一个仅包含两个随机生成的字母中的一个的单词,并且程序仍然会接受他们的输入。
我不希望这种情况发生。我想对游戏进行编程,使其不接受玩家的输入,直到它们包含两个随机生成的字母,而不仅仅是一个。
例如,在我向您展示的图像中,我可以输入“joker”,它会接受输入并生成一组新的随机生成的字母。然而,joker 只有一个“j”而不是一个“z”,所以它不应该是正确的。唯一应该接受的词是同时包含 J 和 Z 的词,即 jazz