source: 2017/31/AaroP/FysiikkaPeli1/FysiikkaPeli1/FysiikkaPeli1/FysiikkaPeli1.cs @ 9392

Revision 9392, 3.9 KB checked in by npo17_75, 2 years ago (diff)

sain hetikun päähän osuu joku niin se räjähtää

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 FysiikkaPeli1 : PhysicsGame
11{
12    PhysicsObject Kuukavelia;
13    //PhysicsObject vasenReuna;
14    Image taustakuva = LoadImage("nature");
15    Image ukkelikuva = LoadImage("Motorbike");
16    PhysicsObject paa;
17    //
18    public override void Begin()
19    {
20
21        Luoalkuvalikko();
22
23
24
25     
26
27
28
29
30
31
32     
33
34       
35    }
36    void LiikutaKuukaveliaa(Vector vektori)
37    {
38        Kuukavelia.Push(vektori);
39        Gravity = new Vector(20.0, -200.0);
40 
41       
42    }
43     void LuoKentta()
44    {
45        //vasenReuna = Level.CreateLeftBorder();
46
47    }
48    void Aloitapeli()
49    {
50        Level.Width = 5000;
51        Level.Background.Image = taustakuva;
52        Level.Background.FitToLevel();
53
54        Kuukavelia = new PhysicsObject(60, 30);
55        Kuukavelia.Image = ukkelikuva;
56        //Kuukavelia.Shape = Shape.Circle;
57        //Kuukavelia.Color = Color.Fuchsia;
58        Add(Kuukavelia);
59        Kuukavelia.Mass = 2.0;
60        Kuukavelia.Tag = "pelaaja";
61        paa = new PhysicsObject(10, 10);
62        paa.Shape = Shape.Circle;
63        paa.CanRotate = false;
64        paa.IsVisible = false;
65        AddCollisionHandler(paa, PaaTormaa);
66        Add(paa);
67        // ax = new AxleJoint(Kuukavelia, paa);
68        //Time time = new Time();
69        //ax.Object2.Update(time);
70        // ax.Object2.Update();
71        //Add(ax);
72
73        //Surface.CreateLeft(Level);
74
75        Camera.Zoom(2.0);
76        Camera.Follow(Kuukavelia);
77
78        LuoKentta();
79
80        //IsPaused = true;
81        //Keyboard.Listen(Key.e, ButtonState.Pressed, Pause, "Pysäyttää pelin");
82
83        GameObject taustapilvet = new GameObject(Screen.Width, Screen.Height);
84        taustapilvet.Image = taustakuva;
85        Add(taustapilvet, -1);
86        Layers[-1].RelativeTransition = new Vector(0.5, 0.5);
87
88        //Surface alaReuna = Surface.CreateBottom(Level, 30, 100, 40, 10);
89        //Add(alaReuna);
90        Surface alareuna2 = Surface.CreateBottom(Level, 35, 200, 20, 140);
91        Add(alareuna2);
92
93
94
95        //Surface.CreateLeft(Level);
96
97        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
98
99        Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaKuukaveliaa, null, new Vector(-1000, 0));
100        Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaKuukaveliaa, null, new Vector(1000, 0));
101        //Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaKuukaveliaa, null, new Vector(0, 1000));
102        Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaKuukaveliaa, null, new Vector(0, -1000));
103
104        Keyboard.Listen(Key.W, ButtonState.Pressed, Luoalkuvalikko, null);
105
106    }
107    protected override void Update(Time time)
108    {
109        if (paa != null && Kuukavelia != null)
110        {
111
112            paa.Position = Kuukavelia.Position + (Kuukavelia.Angle + Angle.FromDegrees(50)).GetVector() * (Kuukavelia.Height / 2);
113        }
114       
115
116        base.Update(time);
117
118    }
119    void PaaTormaa(PhysicsObject paa, PhysicsObject kohde)
120    {
121        if (kohde.Tag == "pelaaja") return;
122        MessageDisplay.Add("BOOOM! you die");
123        Explosion rajahdys = new Explosion(111);
124        rajahdys.Position = paa.Position;
125        Add(rajahdys);
126        paa.Destroy();
127        Kuukavelia.Destroy();
128        rajahdys.Speed = 500.0;
129        rajahdys.Force = 1000.0;
130        Timer.SingleShot(1.0, Luoalkuvalikko);
131    }
132
133    void Luoalkuvalikko()
134    {
135        ClearAll();
136        MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko",
137 "Aloita peli", "Lopeta");
138
139        alkuValikko.AddItemHandler(0, Aloitapeli);
140        alkuValikko.AddItemHandler(1, Exit);
141        alkuValikko.Color = Color.GreenYellow;
142        Add(alkuValikko);
143        alkuValikko BackGroundColor = Color(Black);
144
145    }
146
147}
148
149
Note: See TracBrowser for help on using the repository browser.