source: 2010/27/heikriin/CrabsAndShrimps/Peli.cs @ 1194

Revision 1152, 2.9 KB checked in by paaaanro, 10 years ago (diff)

Hahmot liikkumaan, Iskut kesken.

Line 
1using System;
2using Jypeli;
3using Jypeli.Widgets;
4using Jypeli.Assets;
5
6public class Peli : PhysicsGame
7{
8    const double nopeus = 200;
9    const double hyppyVoima = 4000;
10    PlatformCharacter katkis;
11    PlatformCharacter rapu;
12
13    protected override void Begin()
14    {
15        AloitaPeli();
16        luoKentta();
17        LisaaLaskurit();
18
19        katkis = new PlatformCharacter(220.0, 220.0);
20        Add(katkis);
21        katkis.Mass = 4.0;
22        katkis.X = 380.0;
23        katkis.Y = -250.0;
24
25        rapu = new PlatformCharacter(300.0, 300.0);
26        Add(rapu);
27        rapu.Mass = 4.0;
28        rapu.X = -380.0;
29        rapu.Y = -200.0;
30
31        Level.CreateBorders(false);
32        Level.BackgroundColor = Color.Black;
33
34        Camera.ZoomToLevel();
35       
36        Gravity = new Vector(0.0, -800.0);
37        lisaaNappaimet();
38    }
39
40    void lisaaNappaimet()
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", katkis, -100.0);
46        Keyboard.Listen(Key.Right, ButtonState.Down, liikuta, "Liikkuu oikealle", katkis, 100.0);
47        Keyboard.Listen(Key.Up, ButtonState.Pressed, hyppaa, "Hyppää", katkis, hyppyVoima);
48        Keyboard.Listen(Key.M, ButtonState.Pressed, katkisiskee, "Paistinpannu", katkis, 100.0);
49
50        Keyboard.Listen(Key.A, ButtonState.Down, liikuta, "Liikkuu vasemmalle", rapu, -100.0);
51        Keyboard.Listen(Key.D, ButtonState.Down, liikuta, "Liikkuu oikealle", rapu, 100.0);
52        Keyboard.Listen(Key.W, ButtonState.Pressed, hyppaa, "Hyppää", rapu, hyppyVoima);
53    }
54
55    void liikuta(PlatformCharacter hahmo, double nopeus)
56    {
57        hahmo.Walk(nopeus);
58    }
59
60    void hyppaa(PlatformCharacter hahmo, double voima)
61    {
62        hahmo.Jump(voima);
63    }
64
65    void luoKentta()
66    {
67        Level.CreateBorders();
68        Level.Background.CreateGradient(Color.White, Color.SkyBlue);
69    }
70
71    void AloitaPeli()
72    { }
73
74    void LisaaLaskurit()
75    {
76        LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0);
77        LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0);
78
79    }
80
81    IntMeter LuoPisteLaskuri(double x, double y)
82    {
83        IntMeter laskuri = new IntMeter(0);
84        laskuri.MaxValue = 10;
85        Label naytto = new Label();
86        naytto.BindTo(laskuri);
87        naytto.X = x;
88        naytto.Y = y;
89        naytto.TextColor = Color.White;
90        Add(naytto);
91        return laskuri;
92    }
93
94    void katkisiskee(PlatformCharacter katkis, PlatformCharacter rapu)
95    {
96        if (katkis == rapu)
97        {
98            katkis.Value -= 1;
99        }
100        else if (rapu == katkis)
101        {
102            rapu.Value -= 1;
103        }
104    }
105
106
107
108}
Note: See TracBrowser for help on using the repository browser.