//Métodoo encargado de realizar las preguntas public void Reaction() { ptbBadFour.Visible = false; QuestionForm questionForm = new QuestionForm(GetQuestion()); questionForm.ShowDialog(); answerUser = questionForm.GetAnswer(); if (answerUser == true) { pointsUser += 10; player.SetPointsPlayer(pointsUser); lblPoints.Text = Convert.ToString(pointsUser); MessageBox.Show("¡Correcto!", "¡Respuesta correcta!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { if (player.GetLives() == 0) { this.Hide(); EndGameForm gameOver = new EndGameForm(this.player); moveUser.Enabled = false; moveUser.Stop(); InteractionDetection.Enabled = false; InteractionDetection.Stop(); gameOver.ShowDialog(); } pointsUser = pointsUser - 20; player.SetPointsPlayer(pointsUser); lives = lives - 1; player.SetLives(lives); moveUser.Enabled = false; moveUser.Stop(); InteractionDetection.Enabled = false; InteractionDetection.Stop(); this.Hide(); LevelTwoForm levelTwo = new LevelTwoForm(this.player, questions); levelTwo.ShowDialog(); } }
//Método que controla el movimiento del usuario. private void InteractionDetection_Tick_1(object sender, EventArgs e) { if (((ptbPlayer.Left + ptbPlayer.Width) == (ptbSoulOne.Left + ptbSoulOne.Width)) && ((ptbPlayer.Location.Y + ptbPlayer.Height + 4) == (ptbSoulOne.Location.Y + ptbSoulOne.Height)) && ptbSoulOne.Visible != false) { ptbSoulOne.Visible = false; CounterForPoints(); } else if (((ptbPlayer.Left + ptbPlayer.Width) == (pbtSoulTwo.Left + pbtSoulTwo.Width)) && ((player.GetCoordY() + ptbPlayer.Height) == (soulTwo.GetCoordY() + pbtSoulTwo.Height)) && pbtSoulTwo.Visible != false) { pbtSoulTwo.Visible = false; CounterForPoints(); } else if (((ptbPlayer.Left + ptbPlayer.Width) == (pbtSoulThree.Left + pbtSoulThree.Width)) && ((player.GetCoordY() + ptbPlayer.Height) == (soulThree.GetCoordY() + pbtSoulThree.Height)) && pbtSoulThree.Visible != false) { pbtSoulThree.Visible = false; CounterForPoints(); } else if (((ptbPlayer.Left + ptbPlayer.Width) == (pbtSoulFour.Left + pbtSoulFour.Width)) && ((player.GetCoordY() + ptbPlayer.Height) == (soulFour.GetCoordY() + pbtSoulFour.Height)) && pbtSoulFour.Visible != false) { pbtSoulFour.Visible = false; CounterForPoints(); } else if (((ptbPlayer.Left + ptbPlayer.Width) == (pbtSoulFive.Left + pbtSoulFive.Width)) && ((player.GetCoordY() + ptbPlayer.Height) == (soulFive.GetCoordY() + pbtSoulFive.Height)) && pbtSoulFive.Visible != false) { pbtSoulFive.Visible = false; CounterForPoints(); } else if (((ptbPlayer.Left + ptbPlayer.Width) == (pbtSoulSix.Left + pbtSoulSix.Width)) && ((player.GetCoordY() + ptbPlayer.Height) == (soulSix.GetCoordY() + pbtSoulSix.Height)) && pbtSoulSix.Visible != false) { pbtSoulSix.Visible = false; CounterForPoints(); } else if (((ptbPlayer.Left + ptbPlayer.Width) == (ptbPortal.Left + ptbPortal.Width)) && ((player.GetCoordY() + ptbPlayer.Height) == (portal.GetCoordY() + ptbPortal.Height))) { if (EvaluateRecolection() == true) { player.SetPointsPlayer(pointsUser + 50); moveUser.Enabled = false; moveUser.Stop(); InteractionDetection.Enabled = false; InteractionDetection.Stop(); this.Hide(); LevelFourForm levelFour = new LevelFourForm(this.player, this.questions); levelFour.ShowDialog(); } else { pointsUser = pointsUser - 5; lblPoints.Text = Convert.ToString(pointsUser); MessageBox.Show("¡Error!", "¡Aún no ha recolectado todas las almas!", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else if (((ptbPlayer.Left + ptbPlayer.Width) == (ptbBadFour.Left + ptbBadFour.Width)) && ((player.GetCoordY() + ptbPlayer.Height) == (badFour.GetCoordY() + ptbBadFour.Height))) { ptbBadFour.Visible = false; Reaction(); } else if (((ptbPlayer.Left + ptbPlayer.Width) == (ptbBadOne.Left + ptbBadOne.Width)) && ((player.GetCoordY() + ptbPlayer.Height) == (badOne.GetCoordY() + ptbBadOne.Height))) { ptbBadOne.Visible = false; Reaction(); } else if (((ptbPlayer.Left + ptbPlayer.Width) == (ptbBadTwo.Left + ptbBadTwo.Width)) && ((player.GetCoordY() + ptbPlayer.Height) == (badTwo.GetCoordY() + ptbBadTwo.Height))) { ptbBadTwo.Visible = false; Reaction(); } else if (((ptbPlayer.Left + ptbPlayer.Width) == (ptbBadThree.Left + ptbBadThree.Width)) && ((player.GetCoordY() + ptbPlayer.Height) == (badThree.GetCoordY() + ptbBadThree.Height))) { ptbBadThree.Visible = false; Reaction(); } }
//Método para verificar la interacción del jugador y las almas. private void InteractionDetection_Tick(object sender, EventArgs e) { if (((ptbPlayer.Left + ptbPlayer.Width) == (ptbSoulOne.Left + ptbSoulOne.Width)) && ((ptbPlayer.Location.Y + ptbPlayer.Height + 4) == (ptbSoulOne.Location.Y + ptbSoulOne.Height)) && ptbSoulOne.Visible != false) { ptbSoulOne.Visible = false; CounterForPoints(); } else if (((ptbPlayer.Left + ptbPlayer.Width) == (pbtSoulTwo.Left + pbtSoulTwo.Width)) && ((player.GetCoordY() + ptbPlayer.Height) == (soulTwo.GetCoordY() + pbtSoulTwo.Height)) && pbtSoulTwo.Visible != false) { pbtSoulTwo.Visible = false; CounterForPoints(); } else if (((ptbPlayer.Left + ptbPlayer.Width) == (pbtSoulThree.Left + pbtSoulThree.Width)) && ((player.GetCoordY() + ptbPlayer.Height) == (soulThree.GetCoordY() + pbtSoulThree.Height)) && pbtSoulThree.Visible != false) { pbtSoulThree.Visible = false; CounterForPoints(); } else if (((ptbPlayer.Left + ptbPlayer.Width) == (pbtSoulFour.Left + pbtSoulFour.Width)) && ((player.GetCoordY() + ptbPlayer.Height) == (soulFour.GetCoordY() + pbtSoulFour.Height)) && pbtSoulFour.Visible != false) { pbtSoulFour.Visible = false; CounterForPoints(); } else if (((ptbPlayer.Left + ptbPlayer.Width) == (pbtSoulFive.Left + pbtSoulFive.Width)) && ((player.GetCoordY() + ptbPlayer.Height) == (soulFive.GetCoordY() + pbtSoulFive.Height)) && pbtSoulFive.Visible != false) { pbtSoulFive.Visible = false; CounterForPoints(); } else if (((ptbPlayer.Left + ptbPlayer.Width) == (pbtSoulSix.Left + pbtSoulSix.Width)) && ((player.GetCoordY() + ptbPlayer.Height) == (soulSix.GetCoordY() + pbtSoulSix.Height)) && pbtSoulSix.Visible != false) { pbtSoulSix.Visible = false; CounterForPoints(); } else if (((ptbPlayer.Left + ptbPlayer.Width) == (ptbPortal.Left + ptbPortal.Width)) && ((player.GetCoordY() + ptbPlayer.Height) == (portal.GetCoordY() + ptbPortal.Height))) { if (EvaluateRecolection() == true) { player.SetPointsPlayer(pointsUser + 50); moveUser.Enabled = false; moveUser.Stop(); InteractionDetection.Enabled = false; InteractionDetection.Stop(); this.Hide(); LevelThreeeForm levelThree = new LevelThreeeForm(this.player, questions); levelThree.ShowDialog(); } else { pointsUser = pointsUser - 5; lblPoints.Text = Convert.ToString(pointsUser); MessageBox.Show("¡Error!", "¡Aún no ha recolectado todas las almas!", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else if (((ptbPlayer.Left + ptbPlayer.Width) == (ptbBadFour.Left + ptbBadFour.Width)) && ((player.GetCoordY() + ptbPlayer.Height) == (badFour.GetCoordY() + ptbBadFour.Height))) { ptbBadFour.Visible = false; QuestionForm questionForm = new QuestionForm(GetQuestion()); questionForm.ShowDialog(); answerUser = questionForm.GetAnswer(); if (answerUser == true) { pointsUser += 10; player.SetPointsPlayer(pointsUser); lblPoints.Text = Convert.ToString(pointsUser); MessageBox.Show("¡Correcto!", "¡Respuesta correcta!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { if (player.GetLives() == 0) { this.Hide(); EndGameForm gameOver = new EndGameForm(this.player); moveUser.Enabled = false; moveUser.Stop(); InteractionDetection.Enabled = false; InteractionDetection.Stop(); gameOver.ShowDialog(); } pointsUser = pointsUser - 20; player.SetPointsPlayer(pointsUser); lives = lives - 1; player.SetLives(lives); moveUser.Enabled = false; moveUser.Stop(); InteractionDetection.Enabled = false; InteractionDetection.Stop(); this.Hide(); LevelOneForm levelOne = new LevelOneForm(this.player, questions); levelOne.ShowDialog(); } } }