source: 2017/24/LeeviE/Peli/Jump/Jump/Jump/Jump.cs @ 8740

Revision 8740, 7.1 KB checked in by npo17_23, 2 years ago (diff)

Toka kenttä saatu ja maalit toimii

RevLine 
[8617]1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class Jump : PhysicsGame
10{
[8627]11    Image pelaajankuva = LoadImage("Tyyppi peliin cropattu");
[8652]12    Image platformi = LoadImage("Plat");
[8702]13     double nopeusOikea = 600.0;
14    double nopeusVasen = -600.0;
[8629]15    double hyppy = 1500.0;
[8716]16   
[8617]17
[8627]18    PlatformCharacter pelaaja;
[8617]19
[8702]20    Image groundimage = LoadImage("Laatta4");
21    Image tausta = LoadImage("bg2");
22    Image taahti = LoadImage("tääthi");
23    Image vihu1 = LoadImage("Vihu");
[8740]24    int kenttaNro = 1;
[8627]25   
26   
[8617]27
28    public override void Begin()
29    {
[8740]30        SeuraavaKentta();
[8627]31
[8740]32     
[8675]33        //Luolaatta(0.0, -100.0);
34        //Luolaatta(100.0, -200.0);
[8617]35
[8702]36        //Level.Background.Image = tausta;
37        //Level.Background.ScaleToLevelFull = tausta;
[8617]38
[8702]39
40
41       
[8740]42    }
43    void LuoMaali(Vector paikka, double leveys, double korkeus)
44    {
45        PhysicsObject maali = new PhysicsObject(100.0, 100.0);
46       
47        maali.Position = paikka;
48        maali.Tag = "maali";
[8702]49
[8740]50        Add(maali);
51           
52    }
53   void LuoVihollinen(Vector paikka, double leveys, double korkeus)
54    {
[8720]55        PhysicsObject vihollinen = new PhysicsObject(84.0, 124.0);
[8702]56        vihollinen.Image = vihu1;
[8720]57        vihollinen.CanRotate = false;
[8702]58        SmoothTextures = false;
[8740]59        vihollinen.Position = paikka;
60        vihollinen.Tag = "vihollinen";
[8702]61        Add(vihollinen);
62
[8716]63    }
[8702]64
[8740]65 
[8675]66    void LuoPelaaja(Vector paikka, double leveys, double korkeus)
67    {
68        pelaaja = new PlatformCharacter(50.0, 50.0);
69        pelaaja.Image = pelaajankuva;
70        SmoothTextures = false;
71        pelaaja.Position = paikka;
[8702]72        AddCollisionHandler(pelaaja, "tahti", TormaaTahteen);
[8720]73        AddCollisionHandler(pelaaja, "vihollinen", TormaaViholliseen);
[8740]74        AddCollisionHandler(pelaaja, "maali", TormasiMaaliin);
[8720]75        //pelaaja.Weapon = new AssaultRifle(30, 10);
76        //pelaaja.Weapon.Ammo.Value = 10000;
77        //pelaaja.Weapon.ProjectileCollision = AmmusOsui;
78        //pelaaja.Add(pelaaja.Weapon);
[8716]79
[8675]80       
[8702]81       
82       
[8675]83        Add(pelaaja);
84
85    }
[8740]86    void SeuraavaKentta()
87    {
88        ClearAll();
89
90        if (kenttaNro == 1) LuoKentta("kentta1");
91        else if (kenttaNro == 2) LuoKentta("kentta2");
92        else if (kenttaNro == 2) Exit();
93
94        GameObject taustakuva = new GameObject(9300.0, 2000.0);
95        taustakuva.Image = tausta;
96        Add(taustakuva, -3);
97        Layers[-3].RelativeTransition = new Vector(0.5, 0.5);
98        taustakuva.Y = 200.0;
99
100
101
102
103
104
105        Asetaohjaimet();
106
107
108
109        Gravity = new Vector(0.0, -2200.0);
110
111        Camera.Follow(pelaaja);
112
113
114
115
116
117    }
[8702]118    void TormaaTahteen(PhysicsObject pelaaja, PhysicsObject tahti)
119    {
120        tahti.Destroy();
121        MessageDisplay.Add("Keräsit tähden!");
122    }
123
[8720]124    void TormaaViholliseen(PhysicsObject pelaaja, PhysicsObject vihollinen)
125    {
126        pelaaja.Destroy();
[8740]127        MessageDisplay.Add("Kuolit.");
[8720]128    }
129
[8617]130    void Asetaohjaimet()
131    {
[8627]132        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja: Liiku Vasemmalle", pelaaja, nopeusVasen);
133       // Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, pelaaja, Vector.Zero);
134        Keyboard.Listen(Key.D, ButtonState.Down, AsetaNopeus, "Pelaaja: Liiku Oikealle", pelaaja, nopeusOikea);
135       // Keyboard.Listen(Key.D, ButtonState.Released, AsetaNopeus, null, pelaaja, Vector.Zero);
136        Keyboard.Listen(Key.Space, ButtonState.Down, Hyppy, "Pelaaja: Hyppää", pelaaja, hyppy);
[8617]137
[8716]138       // Keyboard.Listen(Key.W, ButtonState.Pressed, Kranaatti, "Pelaaja heittää kranun", pelaaja, heitto);
[8617]139
[8716]140
[8617]141        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta Peli");
142    }
143
[8740]144    void LuoKentta(string kentta)
[8617]145    {
[8675]146        //PhysicsObject plat1 = new PhysicsObject(100.0, 20.0);
147        //Add(plat1);
148        //plat1.Image = platformi;
149        //plat1.MakeStatic();
[8617]150
[8740]151        TileMap ruudut = TileMap.FromLevelAsset(kentta);
[8675]152        ruudut.SetTileMethod('#', LuoPalikka);
153        ruudut.SetTileMethod('*', LuoTahti);
154        ruudut.SetTileMethod('!', LuoPelaaja);
[8740]155        ruudut.SetTileMethod('v', LuoVihollinen);
156        ruudut.SetTileMethod('M', LuoMaali);
[8675]157        ruudut.Execute( 100.0, 100.0);
[8617]158
159
[8740]160       
[8617]161
162    }
[8740]163    void TormasiMaaliin(PhysicsObject pelaaja, PhysicsObject maali)
164    {
165        kenttaNro++;
166        SeuraavaKentta();
167    }
[8702]168
169
[8675]170    void LuoPalikka(Vector paikka, double leveys, double korkeus)
171    {
172        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
173        taso.Position = paikka;
174        taso.Shape = Shape.Rectangle;
175        taso.Color = Color.Gray;
176        taso.CollisionIgnoreGroup = 1;
[8702]177        taso.Image = groundimage;
178   
[8675]179        Add(taso);
[8617]180
[8675]181
182    }
183    void LuoTahti(Vector paikka, double leveys, double korkeus)
184    {
[8702]185        PhysicsObject tahti = PhysicsObject.CreateStaticObject(korkeus, leveys);
186        tahti.IgnoresCollisionResponse = true;
[8675]187        tahti.Position = paikka;
[8702]188        //tahti.Shape = Shape.Rectangle;
189        //tahti.Color = Color.Yellow;
190        tahti.Image = taahti;
191        tahti.Tag = "tahti";
192       
[8675]193        Add(tahti); 
194     
195
196
197
198    }
[8627]199    void AsetaNopeus(PlatformCharacter pelaaja, double nopeus)
[8617]200    {
[8627]201        //pelaaja.Velocity = nopeus;
202        pelaaja.Walk(nopeus);
[8617]203
204
205
[8627]206
[8617]207    }
[8627]208    void Hyppy(PlatformCharacter pelaaja, double hyppy)
209    {
[8629]210        pelaaja.Jump(hyppy);
[8617]211
[8627]212    }
[8617]213
[8716]214
[8675]215    //void Luolaatta(double x, double y)
216    //{
217    //    PhysicsObject laatta1 = new PhysicsObject(1000.0, 10.0);
218    //    laatta1.MakeStatic();
219    //    laatta1.Y = y;
220    //    laatta1.X = x;
221    //    Add(laatta1);
222    //    laatta1.Color = Color.Gray;
[8652]223
[8716]224    //PhysicsObject laatta2 = new PhysicsObject(10.0, 1000.0);
225    //laatta2.MakeStatic();
226    //Add(laatta2);
227    //laatta2.X = 500;
228    //laatta2.Y = 400;
229    //laatta2.Color = Color.Gray;
[8652]230
[8716]231    //PhysicsObject laatta3 = new PhysicsObject(10.0, 1000.0);
232    //laatta3.MakeStatic();
233    //Add(laatta3);
234    //laatta3.X = -500;
235    //laatta3.Y = 400;
236    //laatta3.Color = Color.Gray;
[8617]237
[8716]238    //void Ase()
239    //{
240    //    AssaultRifle ase = new AssaultRifle(20, 5);
241    //    ase.InfiniteAmmo = true;
242    //    ase.Power.Value = 2000;
243    //    ase.Power.DefaultValue = 2000;
244    //    ase.FireRate = 2.0;
245    //    ase.AmmoIgnoresGravity = false;
246    //    ase.AmmoIgnoresExplosions = true;
247    //    ase.CanHitOwner = false;
248    //    ase.Image = null;
249    //    ase.AttackSound = null;
250    //    ase.X = 0.0;
251    //    ase.Y = 0.0;
[8617]252
[8716]253    //}
[8638]254
[8716]255    //void HeitaKranaatti(PlatformCharacter pelaaja)
256    //{
257    //    Grenade kranu = new Grenade(4.0);
258    //    pelaaja.Throw(kranu, Angle.FromDegrees(30), 10000);
259    //    kranu.Explosion.ShockwaveReachesObject += KranaattiOsui;
260
261    //}
262
263    //void KranaattiOsui(IPhysicsObject rajahdyksenKohde, Vector v)
264    //{
265    //    rajahdyksenKohde.Destroy();
266    //    MessageDisplay.Add("Listit Vihollisen!");
267
268    // }
269}
270
271
272
273
Note: See TracBrowser for help on using the repository browser.