Skip to content
Snippets Groups Projects

Esimerkki pelin lopettamisesta

  • Clone with SSH
  • Clone with HTTPS
  • Embed
  • Share
    The snippet can be accessed without any authentication.
    Authored by Denis Zhidkikh

    Peli loppuu (mennään alkuvalikkoon, kun painetaan Esc).

    peli.cs 1.79 KiB
    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();
        }
    }
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Finish editing this message first!
    Please register or to comment