source: 2016/30/EeroP/NinjaInTheDarkLight/NinjaInTheDarkLight/NinjaInTheDarkLight/NinjaInTheDarkLight.cs @ 8140

Revision 8140, 3.7 KB checked in by eeanpulk, 3 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 NinjaInTheDarkLight : PhysicsGame
10{
11    Image ninjankuva = LoadImage("ninja");
12
13    Vector nopeusOikealle = new Vector(1000, 0);
14    Vector nopeusVasemmalle = new Vector(-1000, 0);
15
16    PhysicsObject demoni;
17    PlatformCharacter ninja;
18
19
20    public override void Begin()
21    {
22        LuoNinja();
23        LuoDemoni();
24        LuoKentta();
25        AsetaOhjaimet();
26
27        Gravity = new Vector(0.0, -800.0);
28
29        MultiSelectWindow valikko = new MultiSelectWindow("Ninja In The Dark Light", "Aloita peli", "Laulu 1", "Laulu 2", "Laulu 3", "Laulu 4", "Laulu 5", "Lopeta");
30        valikko.ItemSelected += PainettiinValikonNappia;
31        valikko.Color = Color.Purple;
32        Add(valikko);
33
34    }
35    void LuoNinja()
36    {
37        ninja = new PlatformCharacter(30, 50, Shape.Rectangle);
38        ninja.Color = Color.Black;
39        Add(ninja);
40        ninja.X = Level.Left + 10.0;
41        ninja.Y = Level.Bottom + 10.0;
42        ninja.Restitution = 0.0;
43        ninja.CanRotate = false;
44        ninja.Tag = "pelaaja";
45        ninja.Image = ninjankuva;
46        AddCollisionHandler(ninja, "vihu", PelaajaTormaa);
47       
48    }
49    void LuoDemoni()
50    {
51        demoni = new PhysicsObject(70, 70, Shape.Circle);
52        demoni.Color = Color.BloodRed;
53        Add(demoni);
54        demoni.X = Level.Right + 5.0;
55        demoni.Y = 0;
56        Vector impulssi = new Vector(-350.0, 0.0);
57        demoni.Hit(impulssi);
58        demoni.Restitution = 100.0;
59        demoni.IgnoresGravity = true;
60        RandomMoverBrain satunnaisAivot = new RandomMoverBrain(350);
61        satunnaisAivot.ChangeMovementSeconds = 1;
62        demoni.Brain = satunnaisAivot;
63        demoni.Tag = "vihu";
64
65    }
66    void LuoKentta()
67    {
68        Level.CreateBorders(1.0, false);
69        Level.Background.Color = Color.SkyBlue;
70    }
71    void AsetaOhjaimet()
72    {
73        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
74        Keyboard.Listen(Key.D, ButtonState.Down, AsetaNopeus, "Liiku oikealle", ninja, nopeusOikealle);
75        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Liiku oikealle", ninja, nopeusVasemmalle);
76        Keyboard.Listen(Key.P, ButtonState.Pressed, Pause, "Pysäytä peli");
77        Keyboard.Listen(Key.Space, ButtonState.Pressed, Hyppy, "Hyppää", ninja, 800.0);
78        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
79    }
80    void AsetaNopeus(PlatformCharacter ninja, Vector nopeus)
81    {
82        ninja.Walk(nopeus.X);
83    }
84    void PelaajaTormaa(PhysicsObject pelaaja, PhysicsObject pahis)
85    {
86        pelaaja.Destroy();
87        MessageDisplay.Add("SINÄ KUOLIT");
88        MediaPlayer.Play("Determination");
89    }
90    void Hyppy(PlatformCharacter ninja, Double nopeus)
91    {
92        ninja.ForceJump(nopeus);
93    }
94    void PainettiinValikonNappia(int valinta)
95    {
96        switch (valinta)
97        {
98            case 0:
99                //Ninja In The Dark Light
100                break;
101            case 1:
102                //AloitaPeli
103                break;
104            case 2:
105                //Laulu 1
106                break;
107            case 3:
108                //Laulu 2
109                break;
110            case 4:
111                //Laulu 3
112                break;
113            case 5:
114                //Laulu 4
115                break;
116            case 6:
117                //Laulu5
118                break;
119            case 7:
120                Exit();
121                break;
122        }
123
124    }
125}
Note: See TracBrowser for help on using the repository browser.