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

Revision 6991, 7.0 KB checked in by picakrty, 6 years ago (diff)

Puuttuu ulti ja jotain muuta pientä.

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