source: 2011/31/DanH/Dragonfighter/Dragonfighter/Dragonfighter/Peli.cs @ 2519

Revision 2519, 4.1 KB checked in by daalhaat, 8 years ago (diff)

Talletus.

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9   public class Peli : PhysicsGame
10{
11    const double nopeus = 200;
12    const double hyppyNopeus = 1000;
13    const int RUUDUN_KOKO = 40;
14
15    PlatformCharacter pelaaja1;
16    PlatformCharacter pelaaja2;
17    Image Dragon = LoadImage("StanceGood");
18
19    Image paikallaanVasemmalle = LoadImage("StanceGood");
20    Image paikallaanOikealle;
21
22       
23      Image[] kavelyVasemmalle = LoadImages("JuoksuOikein");
24   
25      Image[] kavelyOikealle;
26
27
28      DoubleMeter pelaaja1Elama;
29
30
31
32
33       
34       
35       
36       
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51      public override void Begin()
52    {
53        pelaaja1Elama = new DoubleMeter( 100 );
54        pelaaja1Elama.MaxValue = 100;
55
56        paikallaanOikealle = Image.Mirror(paikallaanVasemmalle);
57        kavelyOikealle = Image.Mirror(kavelyVasemmalle);
58
59
60       
61
62        Gravity = new Vector(0, -1000);
63
64        luoKentta();
65        lisaaNappaimet();
66
67        IsFullScreen = true;
68
69        Camera.ZoomFactor = 1.2;
70        Camera.ZoomToLevel();
71
72    }
73
74    void luoKentta()
75    {
76
77       
78 
79       
80        TileMap kentta = TileMap.FromFile("kentta1.txt");
81        kentta.SetTileMethod('#', lisaaTaso);
82       ;
83        kentta.SetTileMethod('N', lisaaPelaaja);
84        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
85        Level.CreateBorders();
86        Level.Background.CreateGradient(Color.White, Color.Blue);
87
88
89    }
90
91    void lisaaTaso(Vector paikka, double leveys, double korkeus)
92    {
93        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
94        taso.Position = paikka;
95        taso.Color = Color.Green;
96        Add(taso);
97    }
98
99   
100   
101
102    void lisaaPelaaja(Vector paikka, double leveys, double korkeus)
103    {
104        pelaaja1 = new PlatformCharacter (leveys, korkeus);
105        pelaaja1.Position = paikka;
106        pelaaja1.Mass = 4.0;
107        pelaaja1.Image = Dragon;
108
109        pelaaja1.LeftIdleAnimation = new Animation(paikallaanVasemmalle);
110        pelaaja1.RightIdleAnimation = new Animation(paikallaanOikealle);
111
112
113        pelaaja1.LeftWalkingAnimation = new Animation(kavelyVasemmalle);
114        pelaaja1.RightWalkingAnimation = new Animation(kavelyOikealle);
115
116        BarGauge pelaaja1ElamaPalkki = new BarGauge(20, Screen.Width / 3);
117        pelaaja1ElamaPalkki.X = Screen.Left + Screen.Width / 5;
118        pelaaja1ElamaPalkki.Y = Screen.Top - 40;
119        pelaaja1ElamaPalkki.Angle = Angle.FromDegrees(90);
120        pelaaja1ElamaPalkki.BindTo(pelaaja1Elama);
121        pelaaja1ElamaPalkki.Color = Color.Black;
122        pelaaja1ElamaPalkki.BarColor = Color.Red;
123        Add(pelaaja1ElamaPalkki);
124
125 
126                   
127        Add(pelaaja1);
128    }
129
130
131
132    void lisaaPelaaja2(Vector paikka, double leveys, double korkeus)
133    {
134
135
136
137
138    }
139
140       
141
142    void lisaaNappaimet()
143    {
144        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
145        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä");
146
147        Keyboard.Listen(Key.Left, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus);
148        Keyboard.Listen(Key.Right, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus);
149        Keyboard.Listen(Key.Up, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
150
151        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
152
153        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus);
154        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus);
155        ControllerOne.Listen(Button.A, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
156    }
157
158    void liikuta(PlatformCharacter hahmo, double nopeus)
159    {
160        hahmo.Walk(nopeus);
161    }
162
163    void hyppaa(PlatformCharacter hahmo, double nopeus)
164    {
165        hahmo.Jump(nopeus);
166    }
167
168
169
170
171 
172
173   
174}
Note: See TracBrowser for help on using the repository browser.