source: 2017/30/MikkoH/Agario/Agario/Agario/Agario.cs @ 9184

Revision 9184, 1.6 KB checked in by mianhayr, 2 years ago (diff)
Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class Agario : PhysicsGame
10{
11    public override void Begin()
12    {
13        Window.Width = 800; Window.Height = 600; Level.Size = new Vector(10000, 10000);
14        Level.Background.Color = Color.Beige;
15
16        PhysicsObject p = new PhysicsObject(20, 20, Shape.Circle);
17        p.Color = Color.Black; p.IgnoresCollisionResponse = true;
18        Add(p); Camera.Follow(p);
19        AddCollisionHandler(p, (PhysicsObject p1, PhysicsObject p2) => { if (p1.Width > p2.Width) { double d = Math.Sqrt(p2.Width) / Math.PI; p1.Size += new Vector(d,d); p2.Destroy(); } else p.Destroy(); });
20       
21        // todo hiiri
22        Keyboard.Listen(Key.Up,    ButtonState.Down, () => { p.Velocity += new Vector(0, 25 / p.Width); }, null);
23        Keyboard.Listen(Key.Down,  ButtonState.Down, () => { p.Velocity += new Vector(0, -25 / p.Width); }, null);
24        Keyboard.Listen(Key.Left,  ButtonState.Down, () => { p.Velocity += new Vector(-25 / p.Width, 0); }, null);
25        Keyboard.Listen(Key.Right, ButtonState.Down, () => { p.Velocity += new Vector(25 / p.Width, 0); }, null);
26
27        for (int i = 0; i < 2000; i++)
28        {
29            double size = RandomGen.NextDouble(5, 75);
30            PhysicsObject b = PhysicsObject.CreateStaticObject(size, size, Shape.Circle);
31            b.Color = RandomGen.NextColor();
32            b.Position = RandomGen.NextVector(Level.Left, Level.Bottom, Level.Right, Level.Top);
33            Add(b);
34        }
35
36    }
37   
38}
Note: See TracBrowser for help on using the repository browser.