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

Revision 8153, 4.6 KB checked in by eeanpulk, 3 years ago (diff)

Lisäsin syöksyt ja musiikin

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