source: 2010/23/elalylon/Ball Wars/Peli.cs @ 569

Revision 569, 3.0 KB checked in by paaaanro, 13 years ago (diff)

Aloitin Ball Warsin tekemisen.

Line 
1using System;
2using Jypeli;
3using Jypeli.ScreenObjects;
4using Jypeli.Assets;
5
6
7namespace Ball_Wars
8{
9    class Tasohyppely : PhysicsGame
10    {
11        const double nopeus = 200;
12        const double hyppyVoima = 4000;
13
14        IntMeter pisteLaskuri;
15        ValueDisplay pisteNaytto;
16
17        PlatformCharacter pelaaja1;
18
19        protected override void Begin()
20        {
21            Level.Width = 2000;
22            Level.Height = 1000;
23
24            // Luodaan pistelaskuri
25            pisteLaskuri = new IntMeter(0);
26
27            // luodaan pistelaskunäyttö
28            pisteNaytto = new ValueDisplay();
29            pisteNaytto.Text = "Pisteitä: ";
30            pisteNaytto.X = Screen.RightSafe - 250;
31            pisteNaytto.Y = Screen.TopSafe - 50;
32            pisteNaytto.BindTo(pisteLaskuri);
33            Add(pisteNaytto);    // lisätään peliin
34
35            // Zoomataan lähemmäksi
36            Camera.ZoomFactor = 2.0;
37
38            Camera.StayInLevel = true;
39
40            luoKentta();
41
42        }
43
44        void luoKentta()
45        {
46            Level.CreateBorders();
47            Level.Background.CreateGradient(Color.Black, Color.Red);
48            Gravity = new Vector(0, -1000);
49           
50           
51            lisaaTaso(-200, -350);
52            lisaaTaso(0, -200);
53
54
55            lisaaPelaajat();
56            Camera.Follow(pelaaja1);
57            lisaaNappaimet();
58        }
59
60        void lisaaTaso(double x, double y)
61        {
62            PhysicsObject taso = PhysicsObject.CreateStaticObject(100, 30);
63            taso.Color = Color.Green;
64            taso.X = x;
65            taso.Y = y;
66            Add(taso);
67        }
68
69        void lisaaPelaajat()
70        {
71            pelaaja1 = new PlatformCharacter(40, 40);
72            pelaaja1.Mass = 10.0;
73            pelaaja1.Image = LoadImage("Hero");
74            pelaaja1.X = 0;
75            pelaaja1.Y = Level.Bottom + 120;
76
77            Add(pelaaja1);
78        }
79
80        void lisaaNappaimet()
81        {
82            Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
83            Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä");
84
85            Keyboard.Listen(Key.Left, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus);
86            Keyboard.Listen(Key.Right, ButtonState.Down, liikuta, "Liikkuu oikealle", pelaaja1, nopeus);
87            Keyboard.Listen(Key.Up, ButtonState.Pressed, hyppaa, "Hyppää", pelaaja1, hyppyVoima);
88        }
89
90
91        void liikuta(PlatformCharacter hahmo, double nopeus)
92        {
93            hahmo.Walk(nopeus);
94            if (nopeus < 0)
95            {
96            hahmo.Image = LoadImage("Hero2");
97            }
98            else if (nopeus > 0)
99            {
100                hahmo.Image = LoadImage("Hero");
101            }
102        }
103
104        void hyppaa(PlatformCharacter hahmo, double voima)
105        {
106            hahmo.Jump(voima);
107        }
108    }
109}
Note: See TracBrowser for help on using the repository browser.