source: 2017/30/TimoH/Jumping_Walrus_24x/Jumping_Walrus_24x/Jumping_Walrus_24x/Jumping_Walrus_24x.cs @ 9112

Revision 9112, 5.1 KB checked in by npo17_63, 2 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 Jumping_Walrus_24x : PhysicsGame
10{ 
11   
12    const double nopeus = 450;
13    const double hyppyNopeus = 800;
14    const int RUUDUN_KOKO = 40;
15    PlatformCharacter pelaaja1;
16
17    Image pelaajanKuva = LoadImage("walrussi");
18    Image tahtiKuva = LoadImage("Dogeraha");
19    Image pelaajanKuvaToiseenSuuntaan = LoadImage("walrussi1");
20    Image voidikuva = LoadImage("voidikuva");
21    Image maalikuva = LoadImage("koti");
22
23    SoundEffect kolikkoAani = LoadSoundEffect("KolikkoKolahdus");
24    SoundEffect KuolemaAani = LoadSoundEffect("KuolemaAani");
25
26    public override void Begin()
27    {
28       
29
30        Gravity = new Vector(0, -1000);
31
32        LuoKentta();
33        LisaaNappaimet();
34
35        Camera.Follow(pelaaja1);
36        Camera.ZoomFactor = 1.2;
37        Camera.StayInLevel = true;
38    }
39
40    void LuoKentta()
41    {
42        TileMap kentta = TileMap.FromLevelAsset("kentta1");
43        kentta.SetTileMethod('#', LisaaTaso);
44        kentta.SetTileMethod('*', LisaaTahti);
45        kentta.SetTileMethod('N', LisaaPelaaja);
46        kentta.SetTileMethod('V', LisaaVoidi);
47        kentta.SetTileMethod('M', LisaaMaali);
48        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
49        Level.CreateBorders();
50        Level.Background.CreateGradient(Color.Black, Color.SkyBlue);
51    }
52
53    void LisaaTaso(Vector paikka, double leveys, double korkeus)
54    {
55        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
56        taso.Position = paikka;
57        taso.Color = Color.Green;
58        Add(taso);
59    }
60
61    void LisaaTahti(Vector paikka, double leveys, double korkeus)
62    {
63        PhysicsObject tahti = PhysicsObject.CreateStaticObject(leveys, korkeus);
64        tahti.IgnoresCollisionResponse = true;
65        tahti.Position = paikka;
66        tahti.Image = tahtiKuva;
67        tahti.Tag = "tahti";
68        Add(tahti);
69    }
70
71    void LisaaVoidi(Vector paikka1, double leveys, double korkeus)
72    {
73        PhysicsObject voidi = PhysicsObject.CreateStaticObject(leveys, korkeus);
74        voidi.IgnoresCollisionResponse = true;
75        voidi.Position = paikka1;
76        voidi.Image = voidikuva;
77        voidi.Tag = "voidi";
78        Add(voidi);
79
80    }
81
82    void LisaaMaali(Vector paikka2, double leveys, double korkeus)
83    {
84        PhysicsObject maali = PhysicsObject.CreateStaticObject(leveys, korkeus);
85        maali.IgnoresCollisionResponse = true;
86        maali.Position = paikka2;
87        maali.Tag = "maali";
88        maali.Image = maalikuva;
89        Add(maali);
90
91    }
92
93    void LisaaPelaaja(Vector paikka, double leveys, double korkeus)
94    {
95        pelaaja1 = new PlatformCharacter(leveys, korkeus);
96        pelaaja1.Position = paikka;
97        pelaaja1.Mass = 4.0;
98        pelaaja1.Image = pelaajanKuva;
99        pelaaja1.TurnsWhenWalking = false;
100        AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen);
101        AddCollisionHandler(pelaaja1, "voidi", TormaaVoidiin);
102        AddCollisionHandler(pelaaja1, "maali", TormaaMaaliin);
103        Add(pelaaja1);
104    }
105
106   
107
108    void LisaaNappaimet()
109    {
110        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
111        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
112
113        Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus);
114        Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus);
115        Keyboard.Listen(Key.W, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
116
117        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
118
119        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus);
120        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus);
121        ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
122       
123
124    }
125
126    void Liikuta(PlatformCharacter hahmo, double nopeus)
127    {
128        hahmo.Walk(nopeus);
129        if (nopeus<0)
130        {
131            hahmo.Image = pelaajanKuva;
132
133
134        }
135        else
136        {
137            hahmo.Image = pelaajanKuvaToiseenSuuntaan;
138
139        }
140    }
141
142    void Hyppaa(PlatformCharacter hahmo, double nopeus)
143    {
144        hahmo.Jump(nopeus);
145    }
146
147    void TormaaTahteen(PhysicsObject hahmo, PhysicsObject tahti)
148    {
149        kolikkoAani.Play();
150        MessageDisplay.Add("Sait Dogen Rahan");
151        tahti.Destroy();
152    }
153
154    void TormaaVoidiin(PhysicsObject hahmo, PhysicsObject voidi)
155    {
156        KuolemaAani.Play();
157        MessageDisplay.Add("Kuolit Yritä Uudestaan");
158        pelaaja1.Destroy();
159    }
160
161    void TormaaMaaliin(PhysicsObject hahmo, PhysicsObject maali)
162    {
163        MessageDisplay.Add("Voitit Pelin Ja Sait Kaikki Kalat");
164    }
165
166   
167
168   
169}
Note: See TracBrowser for help on using the repository browser.