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

Revision 8167, 6.0 KB checked in by eeanpulk, 5 years ago (diff)

Lisätty jotain

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    Image ninjahyppykuva = LoadImage("ninjahyppy");
13
14    Vector nopeusOikealle = new Vector(1000, 0);
15    Vector nopeusVasemmalle = new Vector(-1000, 0);
16
17    PhysicsObject demoni;
18    PlatformCharacter ninja;
19    PhysicsObject lattia;
20    PhysicsObject tappolattia;
21    PhysicsObject ylaReuna;
22    PhysicsObject oikeaReuna;
23    PhysicsObject vasenReuna;
24   
25
26
27    public override void Begin()
28    {
29        LuoNinja();
30        LuoDemoni();
31        LuoKentta();
32        AsetaOhjaimet();
33
34        Gravity = new Vector(0.0, -800.0);
35
36        MultiSelectWindow valikko = new MultiSelectWindow("Ninja In The Dark Light", "Aloita peli", "Laulu 1", "Laulu 2", "Laulu 3", "Laulu 4", "Laulu 5", "Laulu 6", "Lopeta");
37        valikko.ItemSelected += PainettiinValikonNappia;
38        valikko.Color = Color.Purple;
39        Add(valikko);
40
41    }
42    void LuoNinja()
43    {
44        ninja = new PlatformCharacter(30, 50, Shape.Rectangle);
45        ninja.Color = Color.Black;
46        Add(ninja);
47        ninja.X = Level.Left + 10.0;
48        ninja.Y = Level.Bottom + 100.0;
49        ninja.Restitution = 0.0;
50        ninja.CanRotate = false;
51        ninja.Tag = "pelaaja";
52        ninja.Image = ninjankuva;
53        AddCollisionHandler(ninja, "vihu", PelaajaTormaa);
54        AddCollisionHandler(ninja, "tappolattia", PelaajaTormaa);
55
56    }
57    void LuoDemoni()
58    {
59        demoni = new PhysicsObject(70, 70, Shape.Circle);
60        demoni.Color = Color.BloodRed;
61        Add(demoni);
62        demoni.X = Level.Right + 5.0;
63        demoni.Y = 0;
64        Vector impulssi = new Vector(-350.0, 0.0);
65        demoni.Hit(impulssi);
66        demoni.Restitution = 100.0;
67        demoni.IgnoresGravity = true;
68        RandomMoverBrain satunnaisAivot = new RandomMoverBrain(350);
69        satunnaisAivot.ChangeMovementSeconds = 1;
70        demoni.Brain = satunnaisAivot;
71        demoni.Tag = "vihu";
72
73    }
74    void LuoKentta()
75    {
76        vasenReuna = PhysicsObject.CreateStaticObject(75.0, Level.Height);
77        Add(vasenReuna);
78        vasenReuna.Right = Level.Left;
79        oikeaReuna = PhysicsObject.CreateStaticObject(75.0, Level.Height);
80        Add(oikeaReuna);
81        oikeaReuna.Left = Level.Right;
82        ylaReuna = PhysicsObject.CreateStaticObject(Level.Width, 75.0);
83        Add(ylaReuna);
84        ylaReuna.Top = Level.Top;
85        tappolattia = Level.CreateBottomBorder(0.0, true);
86        tappolattia.Tag = "tappolattia";
87        tappolattia.Color = Color.Red;
88        tappolattia.Y = Level.Bottom - 25;
89        lattia = LuoLattia();
90        Level.Background.Color = Color.SkyBlue;
91    }
92    void AsetaOhjaimet()
93    {
94        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
95        Keyboard.Listen(Key.D, ButtonState.Down, AsetaNopeus, "Liiku oikealle", ninja, nopeusOikealle);
96        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Liiku oikealle", ninja, nopeusVasemmalle);
97        Keyboard.Listen(Key.P, ButtonState.Pressed, Pause, "Pysäytä peli");
98        Keyboard.Listen(Key.Space, ButtonState.Pressed, Hyppy, "Hyppää", ninja, 550.0);
99        Keyboard.Listen(Key.LeftShift, ButtonState.Down, SyoksyS, "Syöksy sivulle", ninja, 2000.0);
100        Keyboard.Listen(Key.S, ButtonState.Down, SyoksyA, "Syöksy alas", ninja, 750.0);
101        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
102    }
103    void AsetaNopeus(PlatformCharacter ninja, Vector nopeus)
104    {
105        ninja.Walk(nopeus.X);
106    }
107    void PelaajaTormaa(PhysicsObject pelaaja, PhysicsObject pahis)
108    {
109        pelaaja.Destroy();
110        MessageDisplay.Add("SINÄ KUOLIT");
111        MediaPlayer.Play("Determination");
112        //if (SyoksyS == true)
113        {
114            pahis.Destroy();
115        }
116    }
117    void Hyppy(PlatformCharacter ninja, Double nopeus)
118    {
119        ninja.ForceJump(nopeus);
120        if (lattia != null)
121        {
122            lattia.Destroy();
123        }
124        //Hyppy.Image = ninjahyppykuva;
125    }
126    void PainettiinValikonNappia(int valinta)
127    {
128        switch (valinta)
129        {
130            case 0:
131                //AloitaPeli
132                break;
133            case 1:
134                //Laulu 1
135                MediaPlayer.Play("Core");
136                MediaPlayer.IsRepeating = true;
137                break;
138            case 2:
139                //Laulu 2
140                MediaPlayer.Play("DatingF");
141                MediaPlayer.IsRepeating = true;
142                break;
143            case 3:
144                //Laulu 3
145                MediaPlayer.Play("Dummy");
146                MediaPlayer.IsRepeating = true;
147                break;
148            case 4:
149                //Laulu 4
150                MediaPlayer.Play("EnemyA");
151                MediaPlayer.IsRepeating = true;
152                break;
153            case 5:
154                //Laulu5
155                MediaPlayer.Play("Neo");
156                MediaPlayer.IsRepeating = true;
157                break;
158            case 6:
159                //laulu6
160                MediaPlayer.Play("Stronger");
161                MediaPlayer.IsRepeating = true;
162                break;
163            case 7:
164                Exit();
165                break;
166        }
167    }
168        void SyoksyS(PlatformCharacter ninja, double nopeus)
169        {
170        ninja.Walk(ninja.FacingDirection.GetVector().Normalize().X * nopeus);
171        }
172        void SyoksyA(PlatformCharacter ninja, double nopeus)
173    {
174        Vector impullsi = new Vector(0.0, -nopeus);
175        ninja.Hit(impullsi);
176    }
177    PhysicsObject LuoLattia()
178    {
179        PhysicsObject lattia = PhysicsObject.CreateStaticObject(Level.Width, 50.0);
180        lattia.Y = Level.Bottom + 5.0;
181        Add(lattia);
182        return lattia;
183    }
184}
Note: See TracBrowser for help on using the repository browser.