//////////////////////////////////////////////////////////////////////////////////////////////////// /// <summary> Client received main. </summary> /// /// <remarks> Brayden, 15/09/2018. </remarks> /// /// <param name="senderMain"> The sender main. </param> /// <param name="dataMain"> The data main. </param> //////////////////////////////////////////////////////////////////////////////////////////////////// void client_ReceivedMain(ClientMain senderMain, byte[] dataMain) { Invoke((MethodInvoker) delegate { if (txtAnswer.Text == Encoding.Default.GetString(dataMain)) { MessageBox.Show("Answer Is Correct!", "Correct!"); btnSend.Enabled = true; } else if (txtAnswer.Text != Encoding.Default.GetString(dataMain)) { int num; bool answer = int.TryParse(txtAnswer.Text, out num); nodeList.AddNode(new Node(num)); LinkList(); MessageBox.Show("Incorrect Answer!", "Incorrect!"); } }); values = new NodeProperties2(Convert.ToInt32(txtFirstNumber.Text), Convert.ToInt32(txtSecondNumber.Text), comboBoxOperator.Text, Convert.ToInt32(txtAnswer.Text)); BinaryTree(); btnSend.Enabled = true; txtFirstNumber.Text = ""; comboBoxOperator.Text = ""; txtSecondNumber.Text = ""; txtAnswer.Text = ""; }
//////////////////////////////////////////////////////////////////////////////////////////////////// /// <summary> Adds answerValue. </summary> /// /// <remarks> Brayden, 15/09/2018. </remarks> /// /// <param name="answerValue"> The answer value to add. </param> //////////////////////////////////////////////////////////////////////////////////////////////////// public void Add(NodeProperties2 answerValue) { if (top == null) { // Indicates the tree is empty top = new Nodes.BinaryTreeNode(answerValue); return; } BinaryTreeNode currentNode = top; bool insert = false; do { // If the inserted value is less than the current value if (answerValue.Answer < currentNode.value.Answer) { // Insert left if (currentNode.left == null) { // End node currentNode.left = new BinaryTreeNode(answerValue); insert = true; } else { // Move left currentNode = currentNode.left; } // If the inserted value is greater than or equal to current if (answerValue.Answer >= currentNode.value.Answer) { // Insert right if (currentNode.right == null) { // End node currentNode.right = new Nodes.BinaryTreeNode(answerValue); insert = true; } else { // Move right currentNode = currentNode.right; } } else { } } } while (!insert); }
//////////////////////////////////////////////////////////////////////////////////////////////////// /// <summary> Constructor. </summary> /// /// <remarks> Brayden, 15/09/2018. </remarks> /// /// <param name="answerValue"> The answer value to add. </param> //////////////////////////////////////////////////////////////////////////////////////////////////// public BinaryTree(NodeProperties2 answerValue) { top = new BinaryTreeNode(answerValue); }