using System; using System.Collections.Generic; using Jypeli; using Jypeli.Assets; using Jypeli.Controls; using Jypeli.Widgets; public class ClearAllTest : PhysicsGame { public override void Begin() { NaytaAlkuValikko(); } void NaytaAlkuValikko() { ClearAll(); MultiSelectWindow msw = new MultiSelectWindow("Minun paras peli", "Aloita peli", "Lopeta peli"); msw.AddItemHandler(0, NaytaPeli); msw.AddItemHandler(1, Exit); Add(msw); } void NaytaPeli() { // ClearAll tyhjentää KAIKEN: näppäimistöasettelut, oliot, painovoimat, IntMeterit, jne // Siispä peli voidaan alustaa ihan tyhjästä ClearAll(); Gravity = new Vector(0, 0); Timer.CreateAndStart(0.5, delegate { Vector randomPosition = RandomGen.NextVector(Level.BoundingRect); Vector randomDirection = RandomGen.NextVector(1, 10000); double r = RandomGen.NextDouble(1, 100); PhysicsObject ball = new PhysicsObject(r * 2, r * 2, Shape.Circle); ball.Position = randomPosition; ball.Color = RandomGen.NextColor(); Add(ball); ball.Push(randomDirection); }); Keyboard.ListenWSAD(ButtonState.Down, delegate(Vector suunta) { Gravity += 10 * suunta; }, "Liikuta painovoimaa"); // Pelissä Esc poistuu alkuvalikkoon, eli lopettaa pelin // Vaihtoehtoisesti kutusu ConfirmExit tai Exit sulkeakseen koko peli Keyboard.Listen(Key.Escape, ButtonState.Pressed, NaytaAlkuValikko, "Poistu alkuvalikkoon"); Camera.ZoomToLevel(); } }