public LooseWindowViewModel(clsControl _objGC, clsQuestion _qtnTmp)
 {
     objGC            = _objGC;
     qtnTmp           = _qtnTmp;
     blnNotOpenMain   = false;
     lblQuestion      = "What was the animal you \n thought about?";
     blnAnimalThought = false;
 }
Esempio n. 2
0
        public void SawIfTheLastQuestionInRootIsMonkey()
        {
            newControl = new clsControl();

            string expected = "Monkey";

            clsQuestion result = newControl.GetQuestionByIndex(newControl.lstRootQuestion.Count - 1);

            Assert.AreEqual(result.AnimalName, expected, "The questions are no Equals");
        }
Esempio n. 3
0
        public void GetQuestionByIndexTest()
        {
            newControl = new clsControl();

            string expected = "Live in water";

            clsQuestion result = newControl.GetQuestionByIndex(0);

            Assert.AreEqual(result.Characteristic, expected, "The questions are no Equals");
        }
 public void OnClick()
 {
     if (!string.IsNullOrEmpty(txtPlaceText))
     {
         if (!blnAnimalThought)
         {
             strTmpAnimalName = txtPlaceText;
             blnAnimalThought = true;
             txtPlaceText     = "";
             lblQuestion      = string.Format("A {0} _______ but {1} does not (Fill it with \n an animal trait, like \"Lives in water\")", strTmpAnimalName, qtnTmp.AnimalName);
         }
         else
         {
             strTmpAnimalCharacteristics = txtPlaceText;
             if (qtnTmp.AnimalName == "Monkey")
             {
                 qtnNewQuestion = new clsQuestion(strTmpAnimalName, strTmpAnimalCharacteristics, true);
                 objGC.PlaceQuestionInRoot(qtnNewQuestion);
             }
             else
             {
                 qtnNewQuestion = new clsQuestion(strTmpAnimalName, strTmpAnimalCharacteristics, false);
                 if (objGC.LastState)
                 {
                     qtnTmp.NextPositiveQuestion = qtnNewQuestion;
                 }
                 else
                 {
                     qtnTmp.NextNegativeQuestion = qtnNewQuestion;
                 }
             }
             blnNotOpenMain = true;
             looseWindow.Close();
         }
     }
     else
     {
         if (string.IsNullOrEmpty(strTmpAnimalName))
         {
             lblQuestion = "We need an Answer, what was the animal you \n thought about?";
         }
         else
         {
             lblQuestion = string.Format("We need and Answer: A {0} _______ but {1} \n does not (Fill it with an animal trait, like \n \"Lives in water\")", strTmpAnimalName, qtnTmp.AnimalName);
         }
     }
 }
Esempio n. 5
0
        public void SetQuestionInRoot()
        {
            clsQuestion newQuestion = new clsQuestion("Touro", "Tem Chifre", false);

            newControl = new clsControl();

            newControl.PlaceQuestionInRoot(newQuestion);

            string expected = "Monkey";

            clsQuestion result = newControl.GetQuestionByIndex(newControl.lstRootQuestion.Count - 1);

            Assert.AreEqual(result.AnimalName, expected, "The questions are no Equals");

            expected = "Touro";
            result   = newControl.GetQuestionByIndex(newControl.lstRootQuestion.Count - 2);

            Assert.AreEqual(result.AnimalName, expected, "The questions are no Equals");
        }
Esempio n. 6
0
        /// <summary>
        /// Comprueba si la respuesta dada para la pregunta dada es correcta
        /// </summary>
        /// <param name="question">La pregunta a comprobar</param>
        /// <param name="answer">La respuesta que se desea comprobar si es correcta o no</param>
        /// <param name="questionNumber">número de la pregunta (necesario en el cliente)</param>
        public void comprobarPregunta(clsQuestion question, String answer, int questionNumber)
        {
            clsQuestion questionInstanceOfTheGame;

            //Obtiene la partida del cliente que llamo a este método
            clsPartida partida = partidas.getMatchByConnectionID(Context.ConnectionId);

            //Si el cliente está en una partida
            if (partida != null)
            {
                //Si es la respuesta correcta
                if (question.correct_answer == answer)
                {
                    //isCorrect = true;

                    //Si el cliente que llamo al método es el jugador 1, le suma la pregunta acertada e indica que ya ha contestado y que la respuesta es correcta
                    if (partida.Jugador1.ConnectionID.Equals(Context.ConnectionId))
                    {
                        partida.Jugador1.PreguntasAcertadas++;
                        partida.jugador1HaContestado        = true;
                        partida.jugador1EsRespuestaCorrecta = true;
                    }
                    else //Si no, significa que el cliente que llamó al método es el jugador2
                    {
                        partida.Jugador2.PreguntasAcertadas++;
                        partida.jugador2HaContestado        = true;
                        partida.jugador2EsRespuestaCorrecta = true;
                    }
                }
                else //Si no es la respuesta correcta
                {
                    //isCorrect = false;

                    //Si el cliente que llamó al método es el jugador1, le suma la pregunta fallada e indica que el jugador1 ha contestado y que la respuesta no es correcta
                    if (partida.Jugador1.ConnectionID.Equals(Context.ConnectionId))
                    {
                        partida.Jugador1.PreguntasFalladas++;
                        partida.jugador1HaContestado        = true;
                        partida.jugador1EsRespuestaCorrecta = false;
                    }
                    else //Si no, significa que el cliente que llamó al método es el jugador2
                    {
                        partida.Jugador2.PreguntasFalladas++;
                        partida.jugador2HaContestado        = true;
                        partida.jugador2EsRespuestaCorrecta = false;
                    }
                }

                //Si ambos jugadores han contestado
                if (partida.jugador1HaContestado && partida.jugador2HaContestado)
                {
                    questionInstanceOfTheGame = partida.Preguntas.Find(p => p.question == question.question);

                    if (questionInstanceOfTheGame != null)
                    {
                        questionInstanceOfTheGame.alreadyPlayed = true;
                    }

                    //Indica de nuevo que todavía no han contestado (para la proxima vez que se llame a este método)
                    partida.jugador1HaContestado = false;
                    partida.jugador2HaContestado = false;


                    //Informa a los clientes indicando tanto si su respuesta es correcta o no como la de su rival.
                    Clients.Client(partida.Jugador1.ConnectionID).sendIsCorrect(partida.jugador1EsRespuestaCorrecta, questionNumber);
                    Clients.Client(partida.Jugador2.ConnectionID).sendRivalIsCorrect(partida.jugador1EsRespuestaCorrecta, questionNumber);

                    Clients.Client(partida.Jugador2.ConnectionID).sendIsCorrect(partida.jugador2EsRespuestaCorrecta, questionNumber);
                    Clients.Client(partida.Jugador1.ConnectionID).sendRivalIsCorrect(partida.jugador2EsRespuestaCorrecta, questionNumber);
                }

                //Clients.Caller.sendIsCorrect(isCorrect);
            }
            else //Si el cliente no está en una partida, le indica que la partida no existe (puede darse cuando uno de los dos clientes ha salido de la partida, ya que la partida desaparece)
            {
                Clients.Caller.laPartidaNoExiste();
            }
        }