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

Revision 8162, 5.9 KB checked in by eeanpulk, 6 years ago (diff)

Lisäsin reunoja

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    }
113    void Hyppy(PlatformCharacter ninja, Double nopeus)
114    {
115        ninja.ForceJump(nopeus);
116        if (lattia != null)
117        {
118            lattia.Destroy();
119        }
120        //Hyppy.Image = ninjahyppykuva;
121    }
122    void PainettiinValikonNappia(int valinta)
123    {
124        switch (valinta)
125        {
126            case 0:
127                //AloitaPeli
128                break;
129            case 1:
130                //Laulu 1
131                MediaPlayer.Play("Core");
132                MediaPlayer.IsRepeating = true;
133                break;
134            case 2:
135                //Laulu 2
136                MediaPlayer.Play("DatingF");
137                MediaPlayer.IsRepeating = true;
138                break;
139            case 3:
140                //Laulu 3
141                MediaPlayer.Play("Dummy");
142                MediaPlayer.IsRepeating = true;
143                break;
144            case 4:
145                //Laulu 4
146                MediaPlayer.Play("EnemyA");
147                MediaPlayer.IsRepeating = true;
148                break;
149            case 5:
150                //Laulu5
151                MediaPlayer.Play("Neo");
152                MediaPlayer.IsRepeating = true;
153                break;
154            case 6:
155                //laulu6
156                MediaPlayer.Play("Stronger");
157                MediaPlayer.IsRepeating = true;
158                break;
159            case 7:
160                Exit();
161                break;
162        }
163    }
164        void SyoksyS(PlatformCharacter ninja, double nopeus)
165        {
166        ninja.Walk(ninja.FacingDirection.GetVector().Normalize().X * nopeus);
167        }
168        void SyoksyA(PlatformCharacter ninja, double nopeus)
169    {
170        Vector impullsi = new Vector(0.0, -nopeus);
171        ninja.Hit(impullsi);
172    }
173    PhysicsObject LuoLattia()
174    {
175        PhysicsObject lattia = PhysicsObject.CreateStaticObject(Level.Width, 50.0);
176        lattia.Y = Level.Bottom + 5.0;
177        Add(lattia);
178        return lattia;
179    }
180}
Note: See TracBrowser for help on using the repository browser.