source: 2017/31/JouniP/Avaruuspeli/Avaruuspeli/Avaruuspeli/Avaruuspeli.cs @ 9304

Revision 9304, 2.6 KB checked in by nupeohje, 2 years ago (diff)

Rahoja voi kerätä. Pelaaja kuolee, kun törmää viholliseen.

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class Avaruuspeli : PhysicsGame
10{
11    Image taustakuva = LoadImage("avaruuspelin_suunnitelma");
12
13    PhysicsObject jouninAlus;
14
15    public override void Begin()
16    {
17        LisaaAlus();
18        LisaaVihollinen();
19        TeeKentta();
20
21        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
22
23        Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-1000, 0));
24        Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, null, new Vector(1000, 0));
25        Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, 1000));
26        Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -1000));
27    }
28
29    void LiikutaPelaajaa(Vector vektori)
30    {
31        jouninAlus.Push(vektori);
32    }
33
34    void TeeKentta()
35    {
36        // Tehdään kolikoita kerättäväksi:
37        LisaaKolikkoRuudulle(200.0, 100.0);
38        LisaaKolikkoRuudulle(-200.0, -100.0);
39        LisaaKolikkoRuudulle(135.3, 68.0);
40
41        // Muutetaan taustakuvaa sopivammaksi:
42        Level.Background.Color = Color.Black;
43        Level.Background.CreateStars();
44        //Level.Background.Image = taustakuva; // tällä saa erillisen kuvan, joka on ladattu ylempänä Beginin yläpuolella muuttujaan
45
46    }
47
48    void LisaaAlus()
49    {
50        jouninAlus = new PhysicsObject(50.0, 70.0);
51        Add(jouninAlus);
52        AddCollisionHandler(jouninAlus, "raha", KeraaRaha);
53        AddCollisionHandler(jouninAlus, "pahis", PelaajaTormasiPahikseen);
54    }
55
56    void LisaaVihollinen()
57    {
58        PhysicsObject vihollinen = new PhysicsObject(100.0, 100.0);
59        vihollinen.X = 300.0;
60        vihollinen.Y = 400.0;
61        vihollinen.Tag = "pahis";
62        Add(vihollinen);
63    }
64
65    void LisaaKolikkoRuudulle(double xkoordinaatti, double ykoordinaatti)
66    {
67        PhysicsObject kolikko = new PhysicsObject(10.0, 10.0);
68        kolikko.Color = Color.Yellow;
69        kolikko.X = xkoordinaatti;
70        kolikko.Y = ykoordinaatti;
71        kolikko.Tag = "raha";
72        Add(kolikko);
73    }
74
75    void KeraaRaha(PhysicsObject pelaaja, PhysicsObject kultaraha)
76    {
77        MessageDisplay.Add("Sait kultarahan!");
78        kultaraha.Destroy();
79    }
80
81    void PelaajaTormasiPahikseen(PhysicsObject kukaTormasi, PhysicsObject mihinTormasi)
82    {
83        MessageDisplay.Add("Osuit viholliseen ja menetit energiaa!");
84        kukaTormasi.Destroy();
85    }
86
87
88}
Note: See TracBrowser for help on using the repository browser.