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

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