source: 2017/30/SamuliR/SpeedFloat/SpeedFloat/SpeedFloat/SpeedFloat.cs @ 9136

Revision 9136, 4.1 KB checked in by npo17_57, 2 years ago (diff)

Reunat, räjähdys ja pistelaskuri lisätty.

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class SpeedFloat : PhysicsGame                                                              // Ennätys 126
10{
11    PhysicsObject timantti;
12
13    public override void Begin()
14    {
15        LuoPistelaskuri();
16
17        Level.Height = Window.Height;
18
19        Level.Width = 1000000;
20
21        Level.Background.Color = Color.Black;
22
23        Level.Background.CreateStars();
24
25        timantti = new PhysicsObject(50.0, 50.0);
26        timantti.IgnoresCollisionResponse = true;
27        timantti.Color = Color.Aqua;
28        timantti.Shape = Shape.Diamond;
29        Add(timantti);
30        Camera.StayInLevel = true;
31        PhysicsObject alareuna = Level.CreateBottomBorder();
32        PhysicsObject ylareuna = Level.CreateTopBorder();
33        alareuna.Tag = ylareuna.Tag = "reuna";
34        Camera.Follow(timantti);
35        AddCollisionHandler(timantti, CollisionHandler.ExplodeBoth(1200, true));
36        AddCollisionHandler(timantti, delegate (PhysicsObject p1, PhysicsObject p2)
37        {
38            Timer.SingleShot(3.0, delegate
39            { ClearAll(); Begin(); });
40        });
41        //AddCollisionHandler(timantti, "reuna", delegate (PhysicsObject p1, PhysicsObject p2) { ClearAll(); Begin(); });
42        // Camera.Follow(timantti);
43
44        Keyboard.Listen(Key.Space, ButtonState.Pressed, Pause, "Pysäyttää pelin");
45
46        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Lopeta peli");
47
48        LiikutaPelaajaa(new Vector(49999, 0));
49
50        Keyboard.Listen(Key.A, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, 1000));
51        Keyboard.Listen(Key.D, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -1000));
52
53        Timer ajastin = new Timer();
54        ajastin.Interval = 0.7;
55        ajastin.Timeout += LisaaAsteroideja;
56        ajastin.Start();
57
58        //Timer ajastin2 = new Timer();
59        //ajastin2.Interval = 1.0;
60        //ajastin2.Timeout += reuna;
61        //ajastin2.Start();
62
63
64    }
65
66    void LisaaAsteroideja()
67    {
68       
69        PhysicsObject este = new PhysicsObject(80.0, 90.0);
70        este.MakeStatic();
71        este.X = timantti.X + 1000.0;
72        double randomiluku = RandomGen.NextDouble(-250.0, 250.0);
73        este.Y = timantti.Y + randomiluku;
74        este.LifetimeLeft = TimeSpan.FromSeconds(60);
75        este.Color = Color.DarkRed;
76        Add(este);
77    }
78
79
80
81    void LiikutaPelaajaa(Vector vektori)
82    {
83
84        timantti.Push(vektori);
85
86    }
87
88    void LuoKentta()
89    {
90        ColorTileMap ruudut = ColorTileMap.FromLevelAsset("Kuvataso");
91
92           // ruudut.SetTileMethod(Color.Black, LuoKentta);
93
94        ruudut.Execute(20, 20);
95
96
97    }
98
99void LuoTaso(Vector paikka, double leveys, double korkeus)
100{
101    PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
102    taso.Position = paikka;
103    // taso.Image = groundImage;
104    taso.CollisionIgnoreGroup = 1;
105    Add(taso);
106
107}
108
109    //void reuna()
110
111    //{
112    //    PhysicsObject reuna = new PhysicsObject(80.0, 90.0);
113    //    reuna.MakeStatic();
114    //    reuna.X = timantti.X + 1000.0;
115
116    //    reuna.Y = timantti.Y + sijainti;
117    //    reuna.LifetimeLeft = TimeSpan.FromSeconds(60);
118    //    reuna.Color = Color.DarkRed;
119    //    Add(reuna);
120    //}
121
122    IntMeter pisteLaskuri;
123
124    void LuoPistelaskuri()
125    {
126        pisteLaskuri = new IntMeter(0);
127
128        Label pisteNaytto = new Label();
129        pisteNaytto.X = Screen.Left + 100;
130        pisteNaytto.Y = Screen.Top - 100;
131        pisteNaytto.TextColor = Color.Black;
132        pisteNaytto.Color = Color.White;
133
134        pisteNaytto.BindTo(pisteLaskuri);
135        Add(pisteNaytto);
136
137        Timer.SingleShot(1.3, delegate {
138            Timer lisaysajastin = new Timer();
139            lisaysajastin.Interval = 0.7;
140            lisaysajastin.Timeout += delegate { pisteLaskuri.AddValue(1); };
141            lisaysajastin.Start();
142
143        });
144       
145
146        pisteLaskuri.MaxValue = 999;
147    }
148
149}
Note: See TracBrowser for help on using the repository browser.