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

Revision 8739, 2.8 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), 20.0, 20.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();
36
37        Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-10000, 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(10000, 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, 10000));
42        Keyboard.Listen(Key.Up, ButtonState.Released, PysaytaPelaaja, null, new Vector(0, 0));
43        Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -10000));
44        Keyboard.Listen(Key.Down, ButtonState.Released, PysaytaPelaaja, null, new Vector(0, 0));
45        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
46    }
47    void LiikutaPelaajaa(Vector vektori)
48    {
49        spaceship.Push(vektori);
50    }
51    void PysaytaPelaaja(Vector vektori)
52    {
53        spaceship.Velocity = Vector.Zero;
54    }
55
56    void LuoVihollinen(Vector paikka, double leveys, double korkeus)
57    {
58        ufo = new PhysicsObject(leveys, korkeus, Shape.Hexagon);
59        ufo.Position = paikka;
60        ufo.Tag = "pahis";
61        ufo.Color = Color.Red;
62        Add(ufo);
63    }
64
65    void LuoElinvoimalaskuri()
66    {
67        elinvoimaLaskuri = new IntMeter(0);
68
69        Label elinvoimaNaytto = new Label();
70        elinvoimaNaytto.X = Screen.Left + 100;
71        elinvoimaNaytto.Y = Screen.Top - 100;
72        elinvoimaNaytto.TextColor = Color.White;
73        elinvoimaNaytto.Color = Color.Black;
74
75        elinvoimaNaytto.BindTo(elinvoimaLaskuri);
76        Add(elinvoimaNaytto);
77    }
78
79    void PelaajaOsuu(PhysicsObject spaceship, PhysicsObject kohde)
80    {
81        elinvoimaLaskuri.Value++;
82
83        if (elinvoimaLaskuri >= 100)
84            spaceship.Destroy();
85    }
86   
87}
Note: See TracBrowser for help on using the repository browser.