Ejemplo n.º 1
0
        // After each tick of the timer, the following occurs
        private void timer1_Tick(object sender, EventArgs e)
        {
            // Two bools are declared to store the values outputted from the IsWinner method
            bool Bob_Winner, Shelly_Winner;

            // The position of both animals/objects is updated (using the method in the class)
            Bob.UpdatePosition();
            Shelly.UpdatePosition();

            // The picture boxes are refreshed
            pbTortoiseTrack.Invalidate();
            pbHareTrack.Invalidate();

            // The IsWinner methods are run, to check and see if anyone has reached the end of the race
            Bob_Winner    = Bob.IsWinner();
            Shelly_Winner = Shelly.IsWinner();

            // If both animals have reached the end of the race, the following occurs
            if (Bob_Winner == true && Shelly_Winner == true)
            {
                // The timer stops, the declaration of the tie is reported to the user (using the list box)
                timer1.Stop();
                lb_output.Items.Add("It's a tie!");

                // The scores for each animal are updated
                Bob.iScore      = Bob.iScore + 1;
                Shelly.iScore   = Shelly.iScore + 1;
                btnPlay.Enabled = false;
            }
            // If bob the Hare wins, the following occurs
            else if (Bob_Winner == true)
            {
                // The timer stops, the win is outputted to the user, and the score is updated
                timer1.Stop();
                lb_output.Items.Add("The hare wins!");
                Bob.iScore      = Bob.iScore + 1;
                btnPlay.Enabled = false;
            }

            // If the tortiose Shelly wins, the following occurs
            else if (Shelly_Winner == true)
            {
                // The timer stops, the win is outputted to the user, and the score is updated
                timer1.Stop();
                lb_output.Items.Add("The tortoise wins!");
                Shelly.iScore   = Shelly.iScore + 1;
                btnPlay.Enabled = false;
            }

            // If Bob and Shelly are at the same position in the race, the following occurs
            if (Bob.get_position() == Shelly.get_position())
            {
                // The status us outputted to the user, and the sound player is used to play a sound
                lb_output.Items.Add("OUCH!");
                ouchSoundPlayer.Play();
            }

            // If either animals reaches the end of the race, the following occurs
            if (Bob.get_position() == 70 || Shelly.get_position() == 70)
            {
                // The buttons (Reset & Clear) are enabled, while the rest are disabled
                btnPause.Enabled = false;
                btnPlay.Enabled  = false;
                btnReset.Enabled = true;
                btnClear.Enabled = true;
            }

            // The scoreboard is updated
            lblHareScore.Text     = Bob.iScore.ToString();
            lblTortoiseScore.Text = Shelly.iScore.ToString();
        }