public void Init()
{
Table = new Table();
Robot = new Arm();
Puck = new Puck();
#region Physical Defaults
Table.Height = 1.987; //198.7 cm, or 8 feet
Table.Width = 0.965;
Line Left_Side = new Line(new PointD(0, 0), new Angle(90, AngleType.Degrees));
Line Right_Side = new Line(new PointD(Table.Width, 0), new Angle(90, AngleType.Degrees));
Line Light_Side = new Line(new PointD(0, Table.Height), new Angle(0.001, AngleType.Degrees));
Line Dark_Side = new Line(new PointD(0, 0), new Angle(0.001, AngleType.Degrees));
Table.Walls.Add(Left_Side); Table.Walls.Add(Right_Side); Table.Walls.Add(Light_Side); Table.Walls.Add(Dark_Side);
Table.Friction = 0.000250 / 1000;
Table.Goal_Width = .26; //26 cm
Arc arc_test = new Arc(new PointD(Table.Width, Table.Height / 2), 0.4175);
Table.Arcs.Add(arc_test);
Arc arc_test2 = new Arc(new PointD(0, Table.Height / 2), Table.Width);
Table.Arcs.Add(arc_test2);
Robot.Arm_Length = .3; //30 cm
Robot.Arm_Angle = new Angle(90, AngleType.Degrees);
Robot.Forearm_Length = .3;
Robot.Forearm_Angle = new Angle(90, AngleType.Degrees);
Puck.Weight = 18; //18 grams
Puck.Radius = 0.03175; //The diameter of a standard hockey puck is 6.35 cm
Puck.Location = new PointD(Table.Width / 2, Table.Height / 2);
Puck.Velocity.Direction = new Angle(((double)(new Random()).Next(0, 36000) / 100.0), AngleType.Degrees);
//Puck.Velocity.Speed = 10.30 / 1000;
#endregion
//Timer
Updated = OnUpdated;
tm.Interval = (1000 * 1000) / 60;
tm.MicroTimerElapsed += Tm_MicroTimerElapsed;
tm.Start();
}