source: 2015/30/CamillaT/YouCombat/YouCombat/YouCombat/YouCombat.cs @ 6982

Revision 6982, 6.8 KB checked in by picakrty, 8 years ago (diff)

Animaatoita vielä puuttuu Miisasin hyppy. Pelissä hiomista myös.

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class YouCombat : PhysicsGame
10{
11
12    Ihminen rauski;
13    Ihminen miisas;
14    //PlatformCharacter soikku;
15
16    Image tubecon      = LoadImage("TubeCombat - tausta");
17    Image rauskinKuva  = LoadImage("TubeCombat - Rauski");
18    Image miisasinKuva = LoadImage("TubeCombat - Miisas");
19    Image soikunKuva   = LoadImage("TubeCombat - Soikku");
20
21    Ihminen pelaaja1;
22    Ihminen pelaaja2;
23
24    double nopeus      = 400.0;
25    double hyppynopeus = 800.0;
26
27    Animation rauskinHyokkays;
28    Animation rauskinHyppy;
29    Animation rauskiinaHyokkays;
30    Animation rauskinKavely;
31
32    public override void Begin()
33    {
34        // TODO Maisema valmis. Hahmoille hyppy ja hyökkäys animaatiot??? Nosta alarajaa! Menuvalikko ja musiikki!
35                 LuoKentta();
36                    Hahmot();
37              PeliMusiikit();
38        HahmojenAnimaatiot();
39           pelaaja1 = rauski;
40           pelaaja2 = miisas;
41            HahmojenOhjaus();
42
43    }
44
45    void LuoKentta()
46    {
47        Level.Width  = Screen.Width;
48        Level.Height = Screen.Height;
49
50        GameObject tausta = new GameObject(Level.Width, Level.Height);
51        tausta.Image      = tubecon;
52        Add(tausta, -3);
53
54        Surface alaReuna = Surface.CreateBottom(Level);
55        Add(alaReuna);
56
57        Level.CreateBorders();
58
59        alaReuna.Y = Level.Bottom + 50;
60        alaReuna.Color = Color.Transparent;
61
62        Gravity = new Vector(0.0, -700.0);
63    }
64
65    void Hahmot()
66    {
67        rauski   = new Ihminen(270, 450);
68        miisas   = new Ihminen(270, 450);
69        //soikku = new PlatformCharacter(270, 450);
70        //herba  = new PlatformCharacter (270, 450);
71
72        rauski.X   = 560.00;
73        rauski.Y   = -200.0;
74
75        miisas.X   = -650.00;
76        miisas.Y   = -200.0;
77
78        //soikku.X = -500.00;
79        //soikku.Y = -200.0;
80
81        //herba.X  = 0.0
82        //herba.Y  = 0.0
83
84        rauski.Image   = rauskinKuva;
85        miisas.Image   = miisasinKuva;
86        //soikku.Image = soikunKuva;
87        //herba.Image  = herbanKuva;
88
89          Add(rauski);
90          Add(miisas);
91        //Add(soikku);
92         //Add(herba);
93
94    }
95
96
97    void HahmojenAnimaatiot()
98    {
99       rauskinHyppy            = LoadAnimation("RauskiHyppy");
100       rauskinHyokkays         = LoadAnimation("RauskiHyokkays");
101       rauskiinaHyokkays       = LoadAnimation("RauskiinaHyokkays");
102       rauskinKavely           = LoadAnimation("Rauski");
103       rauski.AnimWalk         = rauskinKavely;
104       rauski.AnimIdle         = new Animation (rauskinKuva);
105       rauski.AnimJump         = rauskinHyppy;
106       
107       
108   
109     Animation miisaksenKavely = LoadAnimation("Miisas");
110        miisas.AnimWalk        = miisaksenKavely;
111        miisas.AnimWalk.FPS    = 5;
112        miisas.AnimIdle        = new Animation(miisasinKuva);
113        //miisas.AnimIdle
114       
115       
116        //Miisasken hyppy ja Ulti.
117
118    }
119
120
121
122    void HahmojenOhjaus()
123    {
124        Keyboard.Listen(Key.A, ButtonState.Down,     Liikuta,  "Liiku Vasemmalle", pelaaja1, -nopeus);
125        Keyboard.Listen(Key.W, ButtonState.Pressed,  Hyppaa,   "Hyppy Ylos",   pelaaja1, hyppynopeus);
126        Keyboard.Listen(Key.D, ButtonState.Down,     Liikuta,  "Liiku Oikealle",    pelaaja1, nopeus);
127        Keyboard.Listen(Key.S, ButtonState.Pressed,  Hyokkaus, "Hyokkaa Eteen",   pelaaja1, pelaaja2);
128        Keyboard.Listen(Key.E, ButtonState.Pressed, RauskiinaHyokkays,  "Hyokkaa Eteen",   pelaaja1, pelaaja2);
129
130        Keyboard.Listen(Key.Left, ButtonState.Down,  Liikuta,  "Liiku Vasemmalle", pelaaja2, -nopeus);
131        Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa,   "Hyppy Ylos",   pelaaja2, hyppynopeus);
132        Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta,  "Liiku Oikealle",    pelaaja2, nopeus);
133
134        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
135
136        //Koita saada toimii. Luo menuValikko -_-"
137       
138
139    }
140
141    void Hyppaa(PlatformCharacter pelaaja, double suunta)
142    {
143        pelaaja.Jump           (suunta);
144       
145    }
146
147    void Liikuta(PlatformCharacter pelaaja, double suunta)
148    {
149        pelaaja.Walk(suunta);
150    }
151
152    void Hyokkaus(PlatformCharacter pelaaja, Ihminen hyokkayksenKohde)
153    {
154        pelaaja.AnimIdle = rauskinHyokkays;
155        pelaaja.AnimIdle.StopOnLastFrame = true;
156
157        // Tässä Lisätään tavallinen animaatio päälle kun hyökkäys on ohi.
158        pelaaja.AnimIdle.Played += delegate
159        {
160            pelaaja.AnimIdle = new Animation(rauskinKuva);
161            hyokkayksenKohde.OtaVahinkoa();
162
163
164        };
165
166    }
167
168
169    void RauskiinaHyokkays(PlatformCharacter pelaaja, Ihminen hyokkayksenKohde)
170    {
171        pelaaja.AnimIdle = rauskiinaHyokkays;
172        pelaaja.AnimIdle.StopOnLastFrame = true;
173
174        // Tässä Lisätään tavallinen animaatio päälle kun hyökkäys on ohi.
175        pelaaja.AnimIdle.Played += delegate
176        {
177            pelaaja.AnimIdle = new Animation(rauskinKuva);
178            hyokkayksenKohde.OtaVahinkoa();
179
180
181        };
182
183    }
184
185    void VihollinenKuolee()
186    {
187
188        miisas.Destroy();
189
190        //Tännekki Elämää
191    }
192
193    void PeliMusiikit()
194    {
195        MediaPlayer.Play("TaustaMusa");
196
197        MediaPlayer.IsRepeating = true;
198    }
199    void MenuJaPause()
200    {
201        Keyboard.Listen(Key.P, ButtonState.Pressed, Pause, "Pysäyttää pelin");
202
203    }
204
205   
206}
207
208
209class Ihminen : PlatformCharacter
210    {
211        private IntMeter elamaLaskuri = new IntMeter(3, 0, 3);
212        public IntMeter ElamaLaskuri { get { return elamaLaskuri; } }
213
214        public Ihminen (double leveys, double korkeus)
215            : base(leveys, korkeus)
216        {
217            elamaLaskuri.LowerLimit += delegate { this.Destroy(); };
218        }
219
220
221       
222 
223
224       public void OtaVahinkoa()
225        {
226            //  AddCollisionHandler(pelaaja1, Pelaaja1Tormasi);
227            elamaLaskuri.Value--;
228
229        }
230    }
231
232public class Peli : PhysicsGame
233{
234    DoubleMeter elamaLaskuri;
235
236    public override void Begin()
237    {
238        //...
239    }
240
241    void LuoElamaLaskuri()
242    {
243        elamaLaskuri = new DoubleMeter(10);
244        elamaLaskuri.MaxValue = 10;
245        elamaLaskuri.LowerLimit += ElamaLoppui;
246
247        ProgressBar elamaPalkki = new ProgressBar(150, 20);
248        elamaPalkki.X = Screen.Left + 150;
249        elamaPalkki.Y = Screen.Top - 20;
250        elamaPalkki.BindTo(elamaLaskuri);
251        Add(elamaPalkki);
252    }
253
254    void ElamaLoppui()
255    {
256        MessageDisplay.Add("Elämät loppuivat, Pelaaja1 voitti!.");
257    }
258
259
260
261}
Note: See TracBrowser for help on using the repository browser.