source: 2017/24/SebastianH/JumpingAdventure/JumpingAdventure/JumpingAdventure/JumpingAdventure.cs @ 8725

Revision 8725, 2.6 KB checked in by npo17_13, 2 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 JumpingAdventure : PhysicsGame
10{
11    PhysicsObject spaceship;
12    PhysicsObject ufo;
13    IntMeter elinvoimaLaskuri;
14    public override void Begin()
15    {
16        Gravity = new Vector(0.0, -800.0);
17
18        LuoVihollinen(new Vector(0.0, -380.0), 30.0, 30.0);
19        LuoElinvoimalaskuri();
20
21
22
23        spaceship = new PhysicsObject(30, 30, Shape.Star);
24        spaceship.X = 0.0;
25        spaceship.Y = -300.0;
26        spaceship.Color = Color.Fuchsia;
27        spaceship.CanRotate = false;
28        AddCollisionHandler(spaceship, "pahis", PelaajaOsuu);
29        Add(spaceship);
30
31       
32
33        Level.Background.CreateStars(100000);
34
35        Level.CreateBorders(false);
36
37        Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-1000, 0));
38        Keyboard.Listen(Key.Left, ButtonState.Released, PysaytaPelaaja, null, new Vector(0, 0));
39        Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, null, new Vector(1000, 0));
40        Keyboard.Listen(Key.Right, ButtonState.Released, PysaytaPelaaja, null, new Vector(0, 0));
41        Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, 2000));
42        Keyboard.Listen(Key.Up, ButtonState.Released, PysaytaPelaaja, null, new Vector(0, 0));
43        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
44    }
45    void LiikutaPelaajaa(Vector vektori)
46    {
47        spaceship.Push(vektori);
48    }
49    void PysaytaPelaaja(Vector vektori)
50    {
51        spaceship.Velocity = Vector.Zero;
52    }
53
54    void LuoVihollinen(Vector paikka, double leveys, double korkeus)
55    {
56        ufo = new PhysicsObject(leveys, korkeus, Shape.Hexagon);
57        ufo.Position = paikka;
58        ufo.Tag = "pahis";
59        ufo.Color = Color.Red;
60        Add(ufo);
61    }
62
63    void LuoElinvoimalaskuri()
64    {
65        elinvoimaLaskuri = new IntMeter(100);
66
67        Label elinvoimaNaytto = new Label();
68        elinvoimaNaytto.X = Screen.Left + 100;
69        elinvoimaNaytto.Y = Screen.Top - 100;
70        elinvoimaNaytto.TextColor = Color.White;
71        elinvoimaNaytto.Color = Color.Black;
72
73        elinvoimaNaytto.BindTo(elinvoimaLaskuri);
74        Add(elinvoimaNaytto);
75    }
76
77    void PelaajaOsuu(PhysicsObject spaceship, PhysicsObject kohde)
78    {
79        elinvoimaLaskuri.Value--;
80
81        if (elinvoimaLaskuri <= 0)
82            spaceship.Destroy();
83    }
84   
85}
Note: See TracBrowser for help on using the repository browser.