Пример #1
0
 void Start()
 {
     allActiveGameObjects = new List <GameObject>();
     parent          = null;
     prevMoveLeft    = false;
     prevMoveRight   = false;
     current         = null;
     questionBox     = GameObject.Find("QuestionField");
     questionButton  = GameObject.Find("SubmitQuestion");
     yesButton       = GameObject.Find("YesButton");
     noButton        = GameObject.Find("NoButton");
     questionTextBox = GameObject.Find("QuestionText");
     questionText    = questionTextBox.GetComponent <Text>();
     resetButton     = GameObject.Find("Reset");
     startOverButton = GameObject.Find("StartOver");
     nameField       = GameObject.Find("NameField");
     submitName      = GameObject.Find("SubmitName");
     promptTextBox   = GameObject.Find("PromptText");
     promptText      = promptTextBox.GetComponent <Text>();
     addYesButton    = GameObject.Find("AddYesButton");
     addNoButton     = GameObject.Find("AddNoButton");
     saveButton      = GameObject.Find("SaveGame");
     mainButton      = GameObject.Find("MainMenu");
     saveName        = GameObject.Find("SaveName");
     submitSave      = GameObject.Find("SubmitSave");
     loadGameName    = GameObject.Find("LoadGameName");
     loadGameButton  = GameObject.Find("LoadGameButton");
     loadGameName.SetActive(true);
     loadGameButton.SetActive(true);
     questionTextBox.SetActive(false);
     noButton.SetActive(false);
     yesButton.SetActive(false);
     questionButton.SetActive(false);
     questionBox.SetActive(false);
     resetButton.SetActive(false);
     startOverButton.SetActive(false);
     nameField.SetActive(false);
     submitName.SetActive(false);
     promptTextBox.SetActive(false);
     addYesButton.SetActive(false);
     addNoButton.SetActive(false);
     submitSave.SetActive(false);
     saveName.SetActive(false);
 }
Пример #2
0
 void Start()
 {
     allActiveGameObjects = new List <GameObject>();
     gameTree             = new GameTree();
     parent            = null;
     started           = true;
     prevMoveLeft      = false;
     prevMoveRight     = false;
     current           = new PeopleNode("Elvis Presley");
     questionBox       = GameObject.Find("QuestionField");
     questionButton    = GameObject.Find("SubmitQuestion");
     yesButton         = GameObject.Find("YesButton");
     noButton          = GameObject.Find("NoButton");
     questionTextBox   = GameObject.Find("QuestionText");
     questionText      = questionTextBox.GetComponent <Text>();
     resetButton       = GameObject.Find("Reset");
     startOverButton   = GameObject.Find("StartOver");
     nameField         = GameObject.Find("NameField");
     submitName        = GameObject.Find("SubmitName");
     promptTextBox     = GameObject.Find("PromptText");
     promptText        = promptTextBox.GetComponent <Text>();
     addYesButton      = GameObject.Find("AddYesButton");
     addNoButton       = GameObject.Find("AddNoButton");
     saveButton        = GameObject.Find("SaveGame");
     mainButton        = GameObject.Find("MainMenu");
     saveName          = GameObject.Find("SaveName");
     submitSave        = GameObject.Find("SubmitSave");
     questionText.text = "Think of a person...\n" + current.AskQuestion();
     questionTextBox.SetActive(true);
     noButton.SetActive(true);
     yesButton.SetActive(true);
     questionButton.SetActive(false);
     questionBox.SetActive(false);
     resetButton.SetActive(false);
     startOverButton.SetActive(false);
     nameField.SetActive(false);
     submitName.SetActive(false);
     promptTextBox.SetActive(false);
     addYesButton.SetActive(false);
     addNoButton.SetActive(false);
     submitSave.SetActive(false);
     saveName.SetActive(false);
 }
Пример #3
0
    public void WritePreOrderTraversal(string fileName)
    {
        string       path   = "Assets/Resources/" + fileName + ".txt";
        StreamWriter writer = new StreamWriter(path, true);

        if (root == null)
        {
            return;
        }
        Stack <PeopleNode> stck = new Stack <PeopleNode>();

        stck.Push(root);
        while (stck.Count > 0)
        {
            PeopleNode current = stck.Peek();
            if (current.isLeafNode)
            {
                writer.WriteLine("*" + current.content);
            }
            else
            {
                writer.WriteLine(current.content);
            }
            stck.Pop();

            if (current.noNode != null)
            {
                stck.Push(current.noNode);
            }
            if (current.yesNode != null)
            {
                stck.Push(current.yesNode);
            }
        }
        writer.Close();
    }
Пример #4
0
    public GameTree(string fileName)
    {
        List <string>      preorderList = FileToList(fileName);
        Stack <PeopleNode> stck         = new Stack <PeopleNode>();
        PeopleNode         current      = new PeopleNode(preorderList[0]);
        GameTree           gameTree     = new GameTree(current);

        stck.Push(current);
        bool flag = false;

        for (int i = 1; i < preorderList.Count; i++)
        {
            bool used_val = false;
            char temp     = preorderList[i][0];
            if (preorderList[i][0] == '*')
            {
                if (current.yesNode == null)
                {
                    current.yesNode = new PeopleNode(preorderList[i].Substring(1));
                }
                else if (current.noNode == null)
                {
                    current.noNode = new PeopleNode(preorderList[i].Substring(1));
                }
                else
                {
                    while (stck.Count > 0 && used_val == false)
                    {
                        current = stck.Peek();
                        stck.Pop();
                        if (current.yesNode == null)
                        {
                            current.yesNode = new PeopleNode(preorderList[i].Substring(1));
                            used_val        = true;
                        }
                        else if (current.noNode == null)
                        {
                            current.noNode = new PeopleNode(preorderList[i].Substring(1));
                            used_val       = true;
                        }
                    }
                    if (stck.Count > 0)
                    {
                        if (flag == true)
                        {
                            stck.Push(current);
                            flag = false;
                        }
                        current = stck.Peek();
                    }
                }
            }
            else
            {
                if (current.yesNode == null)
                {
                    current.yesNode = new PeopleNode(preorderList[i]);
                    current         = current.MoveLeft();
                    stck.Push(current);
                    flag = false;
                }
                else if (current.noNode == null)
                {
                    current.noNode = new PeopleNode(preorderList[i]);
                    current        = current.MoveRight();
                    stck.Push(current);
                    flag = false;
                }
                else
                {
                    while (stck.Count > 0 && used_val == false)
                    {
                        current = stck.Peek();
                        if (current.yesNode == null)
                        {
                            current.yesNode = new PeopleNode(preorderList[i]);
                            stck.Push(current.yesNode);
                            used_val = true;
                            current  = stck.Peek();
                        }
                        else if (current.noNode == null)
                        {
                            current.noNode = new PeopleNode(preorderList[i]);
                            stck.Push(current.noNode);
                            used_val = true;
                            current  = stck.Peek();
                        }
                        else
                        {
                            stck.Pop();
                        }
                    }
                    flag = true;
                }
            }
        }
        root = gameTree.root;
    }
Пример #5
0
 public GameTree(PeopleNode rootNode)
 {
     root = rootNode;
 }