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

Revision 9305, 2.8 KB checked in by nupeohje, 2 years ago (diff)

Kokeiltu erilaisia törmäystarkastimia.
Kentällä on reunat. Zoomausta muutettu.

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        Camera.Zoom(2.0);
29        Camera.Follow(jouninAlus);
30    }
31
32    void LiikutaPelaajaa(Vector vektori)
33    {
34        jouninAlus.Push(vektori);
35    }
36
37    void TeeKentta()
38    {
39        // Tehdään kolikoita kerättäväksi:
40        LisaaKolikkoRuudulle(200.0, 100.0);
41        LisaaKolikkoRuudulle(-200.0, -100.0);
42        LisaaKolikkoRuudulle(135.3, 68.0);
43
44        // Muutetaan taustakuvaa sopivammaksi:
45        Level.Background.Color = Color.Black;
46        Level.Background.CreateStars();
47        Level.CreateBorders();
48        //Level.Background.Image = taustakuva; // tällä saa erillisen kuvan, joka on ladattu ylempänä Beginin yläpuolella muuttujaan
49
50    }
51
52    void LisaaAlus()
53    {
54        jouninAlus = new PhysicsObject(50.0, 70.0);
55        Add(jouninAlus);
56        AddCollisionHandler(jouninAlus, "raha", KeraaRaha);
57        AddCollisionHandler(jouninAlus, "pahis", PelaajaTormasiPahikseen);
58        //AddCollisionHandler(jouninAlus, "pahis", CollisionHandler.ExplodeObject(300.0, true));
59       
60    }
61
62    void LisaaVihollinen()
63    {
64        PhysicsObject vihollinen = new PhysicsObject(100.0, 100.0);
65        vihollinen.X = 300.0;
66        vihollinen.Y = 350.0;
67        vihollinen.Tag = "pahis";
68        Add(vihollinen);
69    }
70
71    void LisaaKolikkoRuudulle(double xkoordinaatti, double ykoordinaatti)
72    {
73        PhysicsObject kolikko = new PhysicsObject(10.0, 10.0);
74        kolikko.Color = Color.Yellow;
75        kolikko.X = xkoordinaatti;
76        kolikko.Y = ykoordinaatti;
77        kolikko.Tag = "raha";
78        Add(kolikko);
79    }
80
81    void KeraaRaha(PhysicsObject pelaaja, PhysicsObject kultaraha)
82    {
83        MessageDisplay.Add("Sait kultarahan!");
84        kultaraha.Destroy();
85    }
86
87    void PelaajaTormasiPahikseen(PhysicsObject kukaTormasi, PhysicsObject mihinTormasi)
88    {
89        MessageDisplay.Add("Osuit viholliseen ja menetit energiaa!");
90        kukaTormasi.Destroy();
91    }
92
93
94}
Note: See TracBrowser for help on using the repository browser.