source: 2010/31/ossakama/Erskan kostoretki/Peli.cs @ 1608

Revision 1608, 2.6 KB checked in by ossakama, 10 years ago (diff)

taso valmis, erska valmis, aseet erskalle valmis,kuvia tehty.

Line 
1using System;
2using Jypeli;
3using Jypeli.Widgets;
4using Jypeli.Assets;
5
6
7class Tasohyppely : PhysicsGame
8{
9    const int ruudunLeveys = 50;
10    const int ruudunKorkeus = 50;
11
12    const double nopeus = 200;
13    const double hyppyVoima = 5000;
14
15    PlatformCharacter erska;
16
17    protected override void Begin()
18    {
19        LuoKentta();
20
21        HeitaKranaatti();
22
23        Gravity = new Vector(0, -1000);
24
25        luoKentta();
26        lisaaNappaimet();
27
28        Camera.Follow(erska);
29        Camera.ZoomFactor = 2.0;
30        Camera.StayInLevel = true;
31    }
32
33    void luoKentta()
34    {
35        Level.CreateBorders();
36        Level.BackgroundColor = Color.White;
37
38    }
39    void lisaaNappaimet()
40
41    {
42        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
43        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä");
44
45        Keyboard.Listen(Key.Left, ButtonState.Down, liikuta, "Liikkuu vasemmalle", erska, -nopeus);
46        Keyboard.Listen(Key.Right, ButtonState.Down, liikuta, "Liikkuu oikealle", erska, nopeus);
47        Keyboard.Listen(Key.Up, ButtonState.Pressed, hyppaa, "Hyppää", erska, hyppyVoima);
48        Keyboard.Listen(Key.Space, ButtonState.Down, erska.Weapon.Use, "Ammu");
49        Keyboard.Listen(Key.G, ButtonState.Down, HeitaKranaatti, "kranaatti");
50
51    }
52
53    void liikuta(PlatformCharacter hahmo, double nopeus)
54    {
55        hahmo.Walk(nopeus);
56    }
57
58    void hyppaa(PlatformCharacter hahmo, double voima)
59    {
60        hahmo.Jump(voima);
61    }
62    void LuoKentta()
63    {
64        TileMap ruudut = TileMap.FromFile("kentta.txt");
65        ruudut['='] = LuoPalikka;
66        ruudut['1'] = LuoErska;
67        ruudut.Insert(ruudunLeveys, ruudunKorkeus);
68    }
69    PhysicsObject LuoPalikka()
70    {
71        PhysicsObject palikka = PhysicsObject.CreateStaticObject(50.0, 50.0);
72        palikka.Image = LoadImage("palikka");
73        return palikka;
74    }
75    PlatformCharacter LuoErska()
76    {
77        erska = new PlatformCharacter(90, 120);
78        erska.Mass = 4.0;
79        erska.Image = LoadImage("erska");
80        erska.X = 0;
81        erska.Y = Level.Bottom + 120;
82        erska.Weapon = new LaserGun(80, 20);
83        erska.Weapon.Y -= 15;
84
85        return erska;
86    }
87    void HeitaKranaatti()
88    {
89        ClusterGrenade kranaatti = new ClusterGrenade(4.0, 4 );
90        kranaatti.X = erska.X + 10;
91        kranaatti.Y = erska.Y + 10;
92        Add(kranaatti);
93        Vector heittoVoima = Vector.FromLengthAndAngle(4000, Angle.Degrees(45));
94        kranaatti.Hit(heittoVoima);
95        kranaatti.NumberOfClusters = 5;
96
97    }
98
99}
Note: See TracBrowser for help on using the repository browser.