source: 2014/27/VesaL/OmaPeli/OmaPeli/OmaPeli/OmaPeli.cs @ 5326

Revision 5326, 3.4 KB checked in by Velumile, 8 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
9
10public class OmaPeli : PhysicsGame
11{
12    DoubleMeter elamaLaskuri;
13    Vector nopeusYlos = new Vector(0, 100);
14    Vector nopeusAlas = new Vector(0, -200);
15    Vector nopeusOikealle = new Vector(-100, 0);
16    Vector nopeusVasemmalle = new Vector(100, 0);
17    PhysicsObject evilmoon;
18   
19
20
21    public override void Begin()
22    {
23        SmoothTextures = false;
24        LuoKentta();
25        AsetaOhjaimet();
26        AloitaPeli();
27       
28    }
29   
30    void LuoKentta()
31    {
32        evilmoon = new PhysicsObject(90.0, 90.0);
33        evilmoon.Shape = Shape.Circle;
34        evilmoon.X = 0.0;
35        evilmoon.Y = 0.0;
36        evilmoon.Restitution = 1.0;
37        evilmoon.CanRotate = (false);
38        Add(evilmoon);
39
40
41       
42        evilmoon.Image = LoadImage ("EvilMoon");
43        IsPaused=true;
44
45       
46        Level.Background.CreateStars(10000);
47     
48       // Camera.FollowedObject = evilmoon;
49
50        Camera.ZoomToLevel();
51    }
52    const double EVILMOON_MIN_NOPEUS = 500;
53
54    protected override void Update(Time time)
55    {
56        if (evilmoon != null && Math.Abs(evilmoon.Velocity.X) < EVILMOON_MIN_NOPEUS)
57        {
58            evilmoon.Velocity = new Vector(evilmoon.Velocity.X * 1.1, evilmoon.Velocity.Y);
59        }
60        base.Update(time);
61    }
62
63   
64
65    void AloitaPeli()
66    {
67        Vector impulssi = new Vector(5.0, 0.0);
68        evilmoon.Hit(impulssi);
69    }
70
71    void AsetaOhjaimet()
72    {
73        Keyboard.Listen(Key.W, ButtonState.Down, AsetaNopeus, "evilmoon: Liikuta Kuuta ylös", evilmoon, nopeusYlos);
74       // Keyboard.Listen(Key.W, ButtonState.Released, AsetaNopeus, null, evilmoon, Vector.Zero);
75        Keyboard.Listen(Key.S, ButtonState.Down, AsetaNopeus, "evilmoon: Liikuta Kuuta alas", evilmoon, nopeusAlas);
76       // Keyboard.Listen(Key.S, ButtonState.Released, AsetaNopeus, null,evilmoon,Vector.Zero);
77         
78        Keyboard.Listen(Key.Q, ButtonState.Down, AsetaNopeus, null, evilmoon, Vector.Zero);
79
80        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "evilmoon: Liikuta Kuuta oikealle", evilmoon, nopeusOikealle);
81       // Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, evilmoon, Vector.Zero);
82
83        Keyboard.Listen(Key.D, ButtonState.Down, AsetaNopeus, "evilmoon: Liikuta Kuuta alas", evilmoon, nopeusVasemmalle);
84       // Keyboard.Listen(Key.D, ButtonState.Released, AsetaNopeus, null, evilmoon, Vector.Zero);
85
86        Keyboard.Listen(Key.P, ButtonState.Pressed, Pause, "Pysäyttää pelin");
87        //Keyboard.Listen(Key.P, ButtonState.Pressed,
88
89
90        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
91        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
92    }
93
94    void AsetaNopeus(PhysicsObject evilmoon, Vector nopeus)
95    {
96        evilmoon.Velocity = nopeus;
97    }
98
99    void LuoElamaLaskuri()
100{
101    elamaLaskuri = new DoubleMeter(10);
102    elamaLaskuri.MaxValue = 10;
103    elamaLaskuri.LowerLimit += ElamaLoppui;
104
105    ProgressBar elamaPalkki = new ProgressBar(150, 20);
106    elamaPalkki.X = Screen.Left + 150;
107    elamaPalkki.Y = Screen.Top - 20;
108    elamaPalkki.BindTo(elamaLaskuri);
109    Add(elamaPalkki);
110}
111
112void ElamaLoppui()
113{
114    MessageDisplay.Add("Elämät loppuivat, voi voi.");
115}
116
117   
118
119
120
121}
Note: See TracBrowser for help on using the repository browser.