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

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