source: 2010/27/jomiilri/Duel/Peli.cs @ 1154

Revision 1154, 3.1 KB checked in by jomiilri, 11 years ago (diff)

Hahmojen tekstuurit lisätty ja ohjaus tehty

Line 
1using System;
2using Jypeli;
3using Jypeli.Widgets;
4using Jypeli.Assets;
5
6public class Peli : PhysicsGame
7{
8    PhysicsObject p1;
9    PhysicsObject p2;
10
11    double tyontovoima = 400;
12    const int ruudunLeveys = 32;
13    const int ruudunKorkeus = 32;
14
15    protected override void Begin()
16    {
17        LuoKentta();
18        AloitaPeli();
19        IsFullScreen = true;
20        p1 = LuoHahmo1();
21        p1.LinearDamping = 0.95;
22        Add(p1);
23       
24        p2 = LuoHahmo2();
25        p2.LinearDamping = 0.95;
26        Add(p2);
27        LuoOhjaimet();
28    }
29
30    void AloitaPeli()
31    {
32        GameObject alareuna = Level.CreateBottomBorder();
33        GameObject ylareuna = Level.CreateTopBorder();
34        alareuna.Image = LoadImage("tausta1");
35        ylareuna.Image = LoadImage("tausta1");
36
37        Level.Background.Image = LoadImage("taustakuva1");
38        Level.Background.FitToLevel();
39
40        Camera.ZoomToLevel();
41    }
42   
43    void LuoKentta()
44    {
45        TileMap ruudut = TileMap.FromFile("TextFile1.txt");
46        ruudut['I'] = LuoSeina;
47        ruudut.Insert(ruudunLeveys, ruudunKorkeus);
48    }
49
50    PhysicsObject LuoSeina()
51    {
52        PhysicsObject seina = PhysicsObject.CreateStaticObject(32.0, 32.0);
53        seina.Shape = Shapes.Rectangle;
54        seina.Image = LoadImage("tausta1");
55
56        return seina;
57    }
58
59    PhysicsObject LuoHahmo1()
60    {
61        PhysicsObject ukko = new PhysicsObject (32, 32);
62        ukko.Image = LoadImage("pelaaja1");
63        return ukko;
64    }
65
66    PhysicsObject LuoHahmo2()
67    {
68        PhysicsObject ukko = new PhysicsObject(32, 32);
69        ukko.Image = LoadImage("pelaaja2");
70        return ukko;
71    }
72
73    void LiikutaPelaajaa(PhysicsObject pelaaja)
74    {
75        Vector tyonto = Vector.FromLengthAndAngle(tyontovoima, pelaaja.Angle);
76        pelaaja.Push(tyonto);
77    }
78
79    void LiikutaPelaajaaTaakse(PhysicsObject pelaaja)
80    {
81        Vector taakse = Vector.FromLengthAndAngle(-tyontovoima, pelaaja.Angle);
82        pelaaja.Push(taakse);
83    }
84
85    void LuoOhjaimet()
86    {
87        Keyboard.Listen(Key.Left, ButtonState.Down, KaannaPelaajaa, null, 3, p1);
88        Keyboard.Listen(Key.Right, ButtonState.Down, KaannaPelaajaa, null, -3, p1);
89        Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, null, p1);
90        Keyboard.Listen(Key.Up, ButtonState.Released, PysaytaPelaaja, null, p1);
91        Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaaTaakse, null, p1);
92
93        Keyboard.Listen(Key.A, ButtonState.Down, KaannaPelaajaa, null, 3, p2);
94        Keyboard.Listen(Key.D, ButtonState.Down, KaannaPelaajaa, null, -3, p2);
95        Keyboard.Listen(Key.W, ButtonState.Down, LiikutaPelaajaa, null, p2);
96        Keyboard.Listen(Key.W, ButtonState.Released, PysaytaPelaaja, null, p2);
97        Keyboard.Listen(Key.S, ButtonState.Down, LiikutaPelaajaaTaakse, null, p2);
98    }
99
100    void KaannaPelaajaa(int kulma, PhysicsObject pelaaja)
101    {
102        pelaaja.Angle += Angle.Degrees(kulma);
103    }
104
105    void PysaytaPelaaja(PhysicsObject pelaaja)
106    {
107        pelaaja.Stop();
108    }
109
110}
Note: See TracBrowser for help on using the repository browser.