void frame_KeyPressDown(Element sender, KeyEventArgs e) { switch (e.InterestingKeys[0]) { case Keys.F: factive = !factive; if (factive) { foreach (var ball in PE.ActiveBodies) { if (rand.Next(5) == 0) { PE.AddBoundForceField(new BoundForceField(ball, 20, DefaultForces.StrongAttractor)); //PE.AddBoundForceField(new BoundForceField(ball, 20, DefaultForces.WeakAttractor)); } if (rand.Next(50) == 0) { //PE.AddBoundForceField(new BoundForceField(ball, 100, DefaultForces.StrongAttractor)); //PE.AddBoundForceField(new BoundForceField(ball, 20, DefaultForces.WeakAttractor)); } } } else { PE.bffields.Clear(); } break; case Keys.L: var c0 = new CircleBody(30, 300, new Vector2((new System.Random()).Next(0, (int)winSize.Width - 60), winSize.Height)); c0.Velocity = -1000 * Vector2.UnitY; PE.ActiveBodies.Add(c0); break; case Keys.D: dactive = !dactive; if (dactive) { PE.AddUniversalForce(DefaultForces.LinearDrag); } else { PE.RemoveUniversalForce(DefaultForces.LinearDrag); } break; case Keys.G: gactive = !gactive; if (gactive) { PE.AddUniversalForce(DefaultForces.Gravity); } else { PE.RemoveUniversalForce(DefaultForces.Gravity); } break; default: break; } printStat(); }