source: 2011/23/tueesuih/Barricade/BARR1CADE.cs @ 2577

Revision 1800, 2.9 KB checked in by tueesuih, 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
9public class Peli : PhysicsGame
10{
11    Vector nopeusVasen = new Vector(-2000, 0);
12    Vector nopeusOikea = new Vector(2000, 0);
13    const int ruudunLeveys = 500;
14    const int ruudunKorkeus = 2000;
15
16    Image barricade = LoadImage("Barricade alus");
17
18    PhysicsObject alus;
19
20    public override void Begin()
21    {
22        LuoKentta();
23        AsetaOhjaimet();
24        LuoPalikka();
25        LuoPalikka2();
26        LisääSeinät();
27
28        // TODO: Kirjoita ohjelmakoodisi tähän
29    }
30    void LuoKentta()
31    {
32        Level.Width = 0.5;
33        Level.Height = 5;
34       
35
36        alus = new PhysicsObject(200, 200);
37        alus.Shape = Shape.Triangle;
38        alus.Restitution = 1.0;
39        alus.X = 50;
40        alus.Y = -30000;
41        AddCollisionHandler(alus, Tormays);
42        alus.Image = barricade;
43        Add(alus);
44
45        Level.BackgroundColor = Color.DarkGray;
46
47        Camera.Follow(alus);
48        Camera.Zoom(0.2);
49
50    }
51
52    void Tormays(PhysicsObject alus, PhysicsObject palikka)
53    {
54        Explosion rajahdys = new Explosion(60);
55        rajahdys.Position = alus.Position;
56        Add(rajahdys);
57
58        alus.Destroy();
59
60    }
61
62     void LisääSeinät()
63    {
64
65        TileMap ruudut = TileMap.FromFile("kentta.txt");
66        ruudut['='] = LuoPalikka;
67        ruudut['*'] = LuoPalikka2;
68        ruudut.Insert(ruudunLeveys, ruudunKorkeus);
69        ruudut.Insert(ruudunLeveys, ruudunKorkeus);
70        Add (alus);
71
72    }
73
74
75    void AsetaOhjaimet()
76    {
77        Keyboard.Listen(Key.Left, ButtonState.Down, AsetaNopeus, "Liikuta alusta vasemmalle", alus, nopeusVasen);
78        Keyboard.Listen(Key.Left, ButtonState.Released, AsetaNopeus, null, alus, Vector.Zero);
79        Keyboard.Listen(Key.Right, ButtonState.Down, AsetaNopeus, "Liikuta alusta oikealle", alus, nopeusOikea);
80        Keyboard.Listen(Key.Right, ButtonState.Released, AsetaNopeus, null, alus, Vector.Zero);
81        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu");
82
83
84    }
85
86    void AsetaNopeus(PhysicsObject alus, Vector nopeus)
87    {
88        //alus.Velocity = nopeus;
89       
90        alus.Hit(nopeus);
91        alus.Velocity = new Vector(nopeus.X, 3000);
92    }
93   
94
95    PhysicsObject LuoPalikka()
96    {
97            PhysicsObject palikka = PhysicsObject.CreateStaticObject(550, 1000);
98            palikka.Shape = Shape.Rectangle;
99            palikka.Color = Color.Black;
100            return palikka;
101       
102    }
103
104    PhysicsObject LuoPalikka2()
105    {
106        PhysicsObject palikka2 = PhysicsObject.CreateStaticObject(500, 10000);
107        palikka2.Shape = Shape.Rectangle;
108        palikka2.Color = Color.Black;
109        return palikka2;
110    }
111
112}
Note: See TracBrowser for help on using the repository browser.