source: 2017/30/MikkoH/Sq/Sq/Sq/Sq.cs @ 9240

Revision 9240, 1.5 KB checked in by mianhayr, 4 years ago (diff)
Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4
5public class Sq : PhysicsGame
6{
7    List<Vector> ps = new List<Vector>();
8    double x, y, z, a, fac = Math.Pow(2, -10);
9
10    public override void Begin()
11    {
12        Window.Width = 1200; Window.Height = 800;
13        Level.Background.Color = Color.Black;
14
15        for (int i = -300; i < 300; i += 10) ps.Add(new Vector(-300, i));
16        for (int i = -300; i < 300; i += 10) ps.Add(new Vector(i, 300));
17        for (int i = 300; i > -300; i -= 10) ps.Add(new Vector(300, i));
18        for (int i = 300; i > -300; i -= 10) ps.Add(new Vector(i, -300));
19    }
20
21    protected override void Paint(Canvas c)
22    {
23        c.BrushColor = Color.Red;
24        for (int i = 0; i < ps.Count; i++)
25            c.DrawLine(ps[i % ps.Count], ps[(i + ps.Count / 4) % ps.Count]);
26
27        if (ps[0].X > -300) fac = Math.Pow(2, -10);
28        if (ps[ps.Count-1].X < -300) fac = -Math.Pow(2, -10);
29
30        for (int i = 0; i < ps.Count/4; i++) ps[i] = new Vector(ps[i].X + (x -= fac), ps[i].Y + (y -= fac));
31        for (int i = ps.Count / 4 * 3; i < ps.Count; i++) ps[i] = new Vector(ps[i].X + (x -= fac), ps[i].Y + (y -= fac));
32        for (int i = ps.Count / 4; i < ps.Count / 2; i++) ps[i] = new Vector(ps[i].X + (z += fac) % 50, ps[i].Y + (a += fac) % 50);
33        for (int i = ps.Count / 2; i < ps.Count / 4 * 3; i++) ps[i] = new Vector(ps[i].X + (z += fac) % 50, ps[i].Y + (a += fac) % 50);
34
35        base.Paint(c);
36    }
37}
Note: See TracBrowser for help on using the repository browser.