Exemplo n.º 1
0
        private void btnLaunch_Click(object sender, EventArgs e)
        {
            double vInitial, vX, alcance, alturaMax;

            Cannonball cannon = new Cannonball();

            cannon.X = 30.0;
            cannon.Y = 20.0;



            cannon.Angulo        = 34;
            lblResultAngulo.Text = String.Format("{0} º", cannon.Angulo.ToString("0.##"));



            cannon.InicialVelocity();
            lblResultV0.Text = String.Format("{0} m/s", cannon.V0.ToString("0.###"));


            cannon.TimeTotal   = cannon.TimeOfMovement(cannon.V0);
            lblResultTime.Text = String.Format("{0} s", cannon.TimeTotal.ToString("0.##"));



            vX                = cannon.VelocityX();
            alturaMax         = cannon.MaxHeigth(cannon.V0);
            alcance           = cannon.Maxlength(cannon.TimeTotal, cannon.V0);
            lblResultX.Text   = String.Format("{0} m/s", vX.ToString("0.##"));
            lbAlturaMax.Text  = String.Format("{0} m", alturaMax.ToString("0.##"));
            lbAlcanceMax.Text = String.Format("{0} m", alcance.ToString("0.##"));

            DrawVelocityY(cannon.TimeTotal, cannon, vX);
        }
Exemplo n.º 2
0
        private void btnLaunch_Click(object sender, EventArgs e)
        {
            double     vX, alcance, alturaMax;
            bool       flag = false;
            Cannonball cannon = new Cannonball();
            double     x, y, angulo, yfinal;

            //userTxtBxPosX.Text = "800";
            //userTxtBxPosY.Text = "800";
            //userTxtBxAngulo.Text = "46";
            Double.TryParse(userTxtBxPosX.Text, out x);
            Double.TryParse(userTxtBxPosY.Text, out y);
            Double.TryParse(userTxtBxAngulo.Text, out angulo);

            if (x > 0 && y > 0 && angulo > 0)
            {
                if (x <= 1000 && y <= 1000 && angulo <= 90)
                {
                    if (cannon.VerificaY(y, angulo, x, out yfinal))
                    {
                        cannon.VerificaY(y, angulo, x, out yfinal);
                        cannon.X      = x;
                        cannon.Y      = yfinal;
                        cannon.Angulo = angulo;
                    }
                    else
                    {
                        MessageBox.Show("Valores para Y estavam incorretos!\nValores foram actualizados!");
                        cannon.VerificaY(y, angulo, x, out yfinal);
                        cannon.X      = x;
                        cannon.Y      = yfinal;
                        cannon.Angulo = angulo;
                    }



                    lblResultAngulo.Text = String.Format("{0} º", cannon.Angulo.ToString("0.##"));



                    cannon.InicialVelocity();
                    lblResultV0.Text = String.Format("{0} m/s", cannon.V0.ToString("0.###"));


                    cannon.TimeTotal   = cannon.TimeOfMovement(cannon.V0);
                    lblResultTime.Text = String.Format("{0} s", cannon.TimeTotal.ToString("0.##"));



                    vX = cannon.VelocityX();

                    alturaMax = cannon.MaxHeigth(cannon.V0);

                    alcance = cannon.Maxlength(cannon.TimeTotal, cannon.V0);
                    //MessageBox.Show("X:" + cannon.X + "\nY:" + cannon.Y);
                    lblResultX.Text   = String.Format("{0} m/s", vX.ToString("0.##"));
                    lbAlturaMax.Text  = String.Format("{0} m", alturaMax.ToString("0.##"));
                    lbAlcanceMax.Text = String.Format("{0} m", alcance.ToString("0.##"));
                    if (alcance > 1000)
                    {
                        flag = true;
                    }

                    DrawVelocityY(cannon.TimeTotal, cannon, vX, flag, alcance, alturaMax);
                }
                else
                {
                    MessageBox.Show("Valores máximos:\nX:1000\nY:1000\nAngulo:90º");
                }
            }
            else
            {
                MessageBox.Show("Preencha todos os campos!");
            }
        }