public static void CheckIfAnagram(string w1, string w2)
        {
            var checker = new CheckWords();

            if (checker.IsAnagram(w1, w2))
            {
                Console.WriteLine(w1 + " and " + w2 + " are anagrams.");
            }
            else
            {
                Console.WriteLine(w1 + " and " + w2 + " are not anagrams.");
            }
        }
コード例 #2
0
ファイル: Client.cs プロジェクト: acanelma/VRstorytellers
    IEnumerator RequestURL(string url)
    {
        if (IsVerbose)
        {
            Debug.Log("loading from web...");
        }

        WWW www = new WWW(url);

        float elapsedTime = 0.0f;

        while (!www.isDone)
        {
            elapsedTime += Time.deltaTime;
            if (elapsedTime >= 10.0f)
            {
                break;
            }
            yield return(null);
        }
        if (!www.isDone || !string.IsNullOrEmpty(www.error))
        {
            //      Debug.LogError("Error: " + www.error);
            yield break;
        }
        var jsonResponse = www.text;

        if (IsVerbose)
        {
            print(jsonResponse);
        }

        onJsonSuccessful.Invoke();
        var dict  = Json.Deserialize(jsonResponse) as Dictionary <string, object>;
        var story = (Dictionary <string, object>)dict["Story"];

        List <string> storyObjects = new List <string>();

        foreach (object item in (List <object>)story["ObjectArray"])
        {
            storyObjects.Add(item.ToString());
        }
        string CorrectLocation = "";

        // TODO: Move to diffrent json object
        for (int i = 0; i < storyObjects.Count; i++)
        {
            if (CheckWords.StringContains(storyObjects[i], "desert", StringComparison.CurrentCultureIgnoreCase))
            {
                CorrectLocation = "Desert";
                storyObjects.Remove(storyObjects[i]);
                break;
            }
            if (CheckWords.StringContains(storyObjects[i], "forest", StringComparison.CurrentCultureIgnoreCase))
            {
                CorrectLocation = "Forest";
                storyObjects.Remove(storyObjects[i]);
                break;
            }
            if (CheckWords.StringContains(storyObjects[i], "house", StringComparison.CurrentCultureIgnoreCase))
            {
                CorrectLocation = "House";
                storyObjects.Remove(storyObjects[i]);
                break;
            }
        }
        if (string.IsNullOrEmpty(CorrectLocation))
        {
            jsonGrab = null;
            yield return(jsonGrab);

            onStoryNotFound.Invoke();
        }
        else
        {
            string _setting = "Day";
            if (CheckWords.StringContains(story["Description"] as string, "day", StringComparison.CurrentCultureIgnoreCase))
            {
                _setting = "Day";
            }
            else if (CheckWords.StringContains(story["Description"] as string, "night", StringComparison.CurrentCultureIgnoreCase))
            {
                _setting = "Night";
            }

            //TODO: Add more emotions and adjust current spelling to match Watson API
            string mood = Story.ConvertMood(story["Mood"] as string);

            if (storyObjects == null && IsVerbose)
            {
                Debug.LogWarning("No Story Objects found");
            }

            if (storyObjects != null && sceneObjects == null && IsVerbose)
            {
                Debug.LogWarning("No Scene Objects found in Main Controller");
            }
            List <GameObject> objectList = new List <GameObject>();
            if (storyObjects != null && sceneObjects != null)
            {
                foreach (string objectName in storyObjects)
                {
                    var item = sceneObjects.Find(e => e.name.Equals(objectName, StringComparison.CurrentCultureIgnoreCase));
                    if (item != null)
                    {
                        objectList.Add(item);
                    }
                }

                if (currentStory != null &&
                    (currentStory.sceneObjects.Count == objectList.Count && currentStory.sceneObjects[0] == objectList[0]) &&
                    currentStory.location.Equals(CorrectLocation) && currentStory.mood == mood && currentStory.setting.Equals(_setting))
                {
                    jsonGrab = null;
                    yield return(jsonGrab);
                }
                else
                {
                    ////Why was it Passed
                    //if (currentStory != null) {
                    //    Debug.Log(currentStory.sceneObjects.Count == objectList.Count);
                    //    Debug.Log(currentStory.sceneObjects[0] == objectList[0]);
                    //    Debug.Log(currentStory.location.Equals(CorrectLocation));
                    //    Debug.Log(currentStory.mood == mood);
                    //}
                    if (currentStory != null)
                    {
                        Debug.Log(currentStory.setting.Equals(_setting));
                    }

                    string setting = "Day";
                    if (CheckWords.StringContains(story["Description"] as string, "day", StringComparison.CurrentCultureIgnoreCase))
                    {
                        setting = "Day";
                    }
                    else if (CheckWords.StringContains(story["Description"] as string, "night", StringComparison.CurrentCultureIgnoreCase))
                    {
                        setting = "Night";
                    }
                    currentStory = new Story(story["Description"] as string, 0, mood, CorrectLocation, setting, objectList);
                    onCreatedStory.Invoke(currentStory);
                    jsonGrab = null;
                }
            }
        }
    }