예제 #1
0
    private void Init()
    {
        char[]   lettersToFilter       = challengeTypeString.ToCharArray();
        string[] lettersToFilterString = new string[lettersToFilter.Length];
        for (int i = 0; i < lettersToFilterString.Length; i++)
        {
            lettersToFilterString[i] = lettersToFilter[i].ToString();
        }

        WordsWithLetters wordsWithLetters = GetWords2(lettersToFilterString, (int)gameManager.LevelSelectedData.difficulty);

        string[] wordsFromXml   = wordsWithLetters.words;
        string[] lettersFromXml = wordsWithLetters.letters;

        int auxInt = 0;

        words = new List <WordInfo>();
        foreach (string s in wordsFromXml)
        {
            words.Add(new WordInfo(s, lettersFromXml[auxInt], gameManager.LevelSelectedData.difficulty));
            auxInt++;
        }

        foreach (PanelWord pw in panelB)
        {
            NewWordInPanel(pw);
            amountWords++;
        }
        panelsBloqued = 0;
        fails         = 0;
    }
예제 #2
0
    protected WordsWithLetters GetWords2(string[] keyChars, int currentLevel)
    {
        string fileName = "";

        for (int i = 0; i < keyChars.Length; i++)
        {
            fileName += keyChars[i].ToLower();
        }
        fileName += "/" + fileName + currentLevel + ".json";
        //string jsonList = GameFunctions.GetTextJson(fileName);
        string     jsonList        = System.IO.File.ReadAllText("Assets/Resources/" + fileName);
        TextObject freqWordsObject = JsonUtility.FromJson <TextObject>(jsonList);

        Debug.Log(jsonList);

        string[] preparedWords   = new string[freqWordsObject.entries.Length];
        string[] preparedLetters = new string[freqWordsObject.entries.Length];

        for (int i = 0; i < freqWordsObject.entries.Length; i++)
        {
            string unproccesedWord = freqWordsObject.entries[i];
            preparedWords[i]   = unproccesedWord.Substring(0, unproccesedWord.Length - 1);
            preparedLetters[i] = unproccesedWord.Substring(unproccesedWord.Length - 1);
            //preparedLetters[i] = freqWordsObject.entries[i].keyLetter.ToString();
        }

        WordsWithLetters wordsWithLetters = new WordsWithLetters(preparedWords, preparedLetters);

        return(wordsWithLetters);
    }
예제 #3
0
    protected WordsWithLetters GetWords2(string[] keyChars, int currentLevel)
    {
        string fileName = "";

        for (int i = 0; i < keyChars.Length; i++)
        {
            fileName += keyChars[i];
        }
        fileName += "/" + fileName.ToLower() + currentLevel;

        TextAsset jsonFile = Resources.Load <TextAsset>(fileName);
        //
        string jsonList = jsonFile.text;
        //
        TextObject freqWordsObject = JsonUtility.FromJson <TextObject>(jsonList);

        //Debug.Log(jsonList);

        string[] preparedWords   = new string[freqWordsObject.entries.Length];
        string[] preparedLetters = new string[freqWordsObject.entries.Length];

        for (int i = 0; i < freqWordsObject.entries.Length; i++)
        {
            string unproccesedWord = freqWordsObject.entries[i];
            preparedWords[i]   = unproccesedWord.Substring(0, unproccesedWord.Length - 1);
            preparedLetters[i] = unproccesedWord.Substring(unproccesedWord.Length - 1);
            //preparedLetters[i] = freqWordsObject.entries[i].keyLetter.ToString();
        }

        WordsWithLetters wordsWithLetters = new WordsWithLetters(preparedWords, preparedLetters);

        return(wordsWithLetters);
    }
예제 #4
0
    protected WordsWithLetters GetWords(string[] keyChars)
    {
        List <string> wordsToUse   = new List <string>(10000);
        List <string> lettersToUse = new List <string>(10000);

        // Get the alphabetical lists
        for (int i = 97; i < 123; i++)
        {
            char     nextChar    = (char)i;
            string[] nextSubList = GameFunctions.GetTextJson(nextChar.ToString());
            // Recorring the list (nexSublist)
            for (int j = 0; j < nextSubList.Length; j++)
            {
                // Check with the key chars
                for (int k = 0; k < keyChars.Length; k++)
                {
                    if (nextSubList[j].Contains(keyChars[k]) || nextSubList[j].Contains(keyChars[k].ToLower()))
                    {
                        wordsToUse.Add(nextSubList[j]);
                        lettersToUse.Add(keyChars[k]);
                    }
                }
            }
        }

        // TODO: Añadir filtro de las palabras que puedan causar confusión
        //for(int i = 0; i < wordsToUse.Count; i++)
        //{
        //    for (int j = 1; j < wordsToUse.Count; j++)
        //    {

        //    }
        //}

        string[] preparedWords   = wordsToUse.ToArray();
        string[] preparedLetters = lettersToUse.ToArray();

        WordsWithLetters wordsWithLetters = new WordsWithLetters(preparedWords, preparedLetters);

        return(wordsWithLetters);
    }
예제 #5
0
    /// <summary>
    ///
    /// </summary>
    protected void GetAndCreateWords()
    {
        //string[] wordsFromXml = GameFunctions.GetTextXML(challengeTypeString, "WORDS", "word");
        //string[] lettersFromXml = GameFunctions.GetTextXML(challengeTypeString, "LETTERS", "letter");

        char[]   lettersToFilter       = challengeTypeString.ToCharArray();
        string[] lettersToFilterString = new string[lettersToFilter.Length];
        for (int i = 0; i < lettersToFilterString.Length; i++)
        {
            lettersToFilterString[i] = lettersToFilter[i].ToString();
        }
        Debug.Log(lettersToFilterString[0]);
        //WordsWithLetters wordsWithLetters = GetWords(lettersToFilterString);
        //WordsWithLetters wordsWithLetters = GetWords2(lettersToFilterString, (int)gameManager.infoType[ChallengeType.ZCS].Difficulty);
        WordsWithLetters wordsWithLetters = GetWords2(lettersToFilterString, 10);

        string[] wordsToUse = wordsWithLetters.words;

        string[] lettersToUse = wordsWithLetters.letters;

        int auxInt = 0;

        wordObjects   = new List <WordInfo>();
        wordsInScreen = new Queue <WordInfo>(4);
        foreach (string s in wordsToUse)
        {
            WordInfo aux = Instantiate(wordPrefab).GetComponent <WordInfo>();
            aux.Word   = s;
            aux.Letter = lettersToUse[auxInt];
            aux.GetComponent <TextMesh>().text = aux.Word;
            aux.gameObject.SetActive(false);
            wordObjects.Add(aux);
            auxInt++;
        }

        AddWordInScreen();
    }
예제 #6
0
    /// <summary>
    ///
    /// </summary>
    protected void GetAndCreateWords()
    {
        char[]   lettersToFilter       = challengeTypeString.ToCharArray();
        string[] lettersToFilterString = new string[lettersToFilter.Length];
        for (int i = 0; i < lettersToFilterString.Length; i++)
        {
            lettersToFilterString[i] = lettersToFilter[i].ToString();
        }
        // Debug.Log(lettersToFilterString[0]);
        //WordsWithLetters wordsWithLetters = GetWords(lettersToFilterString);
        //WordsWithLetters wordsWithLetters = GetWords2(lettersToFilterString, (int)gameManager.infoType[ChallengeType.ZCS].Difficulty);
        WordsWithLetters wordsWithLetters = GetWords2(lettersToFilterString, 10);

        string[] wordsToUse = wordsWithLetters.words;

        string[] lettersToUse = wordsWithLetters.letters;

        int auxInt = 0;

        wordObjects   = new List <WordInfo>();
        wordsInScreen = new Queue <WordInfo>(4);
        foreach (string s in wordsToUse)
        {
            WordInfo aux = Instantiate(wordPrefab).GetComponent <WordInfo>();
            //WordInfo aux = Instantiate(wordPrefab, new Vector3(0, 10, 0), Quaternion.identity).GetComponent<WordInfo>();
            aux.Word   = s;
            aux.Points = 10;
            aux.Letter = lettersToUse[auxInt];
            aux.GetComponent <TextMesh>().text = aux.Word;
            aux.gameObject.SetActive(false);
            wordObjects.Add(aux);
            auxInt++;
        }

        AddWordInScreen();
    }