source: 2015/24/MikeJ/FysiikkaPeli8/FysiikkaPeli8/FysiikkaPeli8/FysiikkaPeli8.cs @ 5995

Revision 5995, 3.8 KB checked in by mijarvin, 4 years ago (diff)

Stuffs

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class FysiikkaPeli8 : PhysicsGame
10{
11
12    Vector nopeusvasenmalle = new Vector(-100.0, 0.0);
13    Vector nopeusoikealle = new Vector(100.0, 0.0);
14    Vector nopeusalkaa = new Vector(0.0, 2500.0);
15
16    double maxNopeus = 100.0;
17
18    PhysicsObject rocket;
19
20    Image rocketpic = LoadImage("Rocketgame");
21
22
23    public override void Begin()
24    {
25        ClearAll();
26       
27        IsFullScreen = true;
28        luokentta();
29        Ohjaimet();
30
31        Camera.ZoomFactor = 2;
32        Camera.Follow(rocket);
33        Camera.FollowOffset = new Vector(0.0, Screen.Top - 100); 
34
35        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
36    }
37
38    void Luorocket(Vector paikka, double leveys, double korkeus)
39    {
40        rocket = new PhysicsObject(rocketpic);
41        rocket.Position = paikka;
42        rocket.Mass = 7;
43        rocket.CanRotate = false;
44        rocket.LinearDamping = 0.98;
45        //rocket.Color = Color.Aquamarine;
46        Add(rocket);
47
48        Timer rocketAika = new Timer();
49        rocketAika.Interval = 0.1;
50        rocketAika.Timeout += delegate
51        {
52            rocket.Move(new Vector(0, maxNopeus));       
53        };
54        rocketAika.Start();
55    }
56
57    void Ohjaimet()
58    {
59        Keyboard.Listen(Key.A, ButtonState.Down, Asetanopeus, "Pelaaja liikuta rocketia vasenmalle", rocket, nopeusvasenmalle);
60        Keyboard.Listen(Key.D, ButtonState.Down, Asetanopeus, "Pelaaja liikuta rocketia oikealle", rocket, nopeusoikealle);
61        //Keyboard.Listen(Key.Space, ButtonState.Up, Asetanopeus, "Pelaaja Aloitaa Pelin", rocket, nopeusalkaa);
62    }
63   
64
65    void Asetanopeus(PhysicsObject rocket, Vector nopeus)
66    {
67        rocket.Move(nopeus + new Vector(0, maxNopeus));
68    }
69
70    void luokentta()
71    {
72        Level.Background.CreateStars(500);
73
74        ColorTileMap ruudut = ColorTileMap.FromLevelAsset("kenttarel");
75        ruudut.SetTileMethod(Color.Black, LuoMeteoriiti);
76        ruudut.SetTileMethod(Color.Gold, seinät);
77        ruudut.SetTileMethod(Color.Red, Luokatto);
78        ruudut.SetTileMethod(Color.LightGray, Luorocket);
79
80        ruudut.Execute(20.0, 20.0);
81
82    }
83
84    void LuoMeteoriiti(Vector Meteoriiti, double leveys, double korkeus)
85    {
86        PhysicsObject Taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
87        Taso.Position = Meteoriiti;
88        Taso.Color = Color.DarkRed;
89        Add(Taso);
90
91        AddCollisionHandler(Taso, rocket, tormays);
92
93    }
94
95    void tormays(PhysicsObject tormaaja, PhysicsObject tormatty)
96    {
97        Explosion rajahdys = new Explosion(50000);
98        rajahdys.Position = rocket.Position;
99        Add(rajahdys);
100
101        rocket.Destroy();
102
103        Label Tekstikentta = new Label(600.0, 600.0, "You Lost GG");
104        Add(Tekstikentta);
105
106    }
107
108    void seinät(Vector seina, double leveys, double korkeus)
109    {
110        PhysicsObject seinat = PhysicsObject.CreateStaticObject(leveys, korkeus);
111        seinat.Position = seina;
112        seinat.Color = Color.Black;
113        Add(seinat);
114    }
115
116    void Luokatto(Vector katto, double leveys, double korkeus)
117    {
118        PhysicsObject kattot = PhysicsObject.CreateStaticObject(leveys, korkeus);
119        kattot.Position = katto;
120        kattot.Color = Color.BrightGreen;
121
122        //AddCollisionHandler(kattot, rocket, voitto);
123    }
124
125    //void voitto(PhysicsObject tormaaja, PhysicsObject Tormattty)
126    //{
127        //Explosion rajahdys = new Explosion(50000);
128        //rajahdys.Position = rocket.Position;
129        //Add(rajahdys);
130
131        //Label Tekstikentta = new Label(1000.0, 1000.0, "GRATZ, YOU WON");
132        //Add(Tekstikentta);
133    //}
134}
Note: See TracBrowser for help on using the repository browser.