source: 2013/26/JustusK/Rainbow_Jump/Rainbow_Jump/Rainbow_Jump/Rainbow_Jump.cs @ 4239

Revision 4239, 5.2 KB checked in by juskovan, 7 years ago (diff)

Talletus.

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class Rainbow_Jump : PhysicsGame
10{
11    const double nopeus = 250;
12    const double hyppyNopeus = 900;
13    const int RUUDUN_KOKO = 40;
14    Vector start;
15    int kenttanro = 1;
16
17    PlatformCharacter pelaaja1;
18
19    Image pelaajanKuva = LoadImage("norsu");
20    Image tahtiKuva = LoadImage("tahti");
21    Image morko = LoadImage("Sompi");
22    Image Ovi = LoadImage("Ovi");
23
24    SoundEffect maaliAani = LoadSoundEffect("maali");
25
26    public override void Begin()
27    {
28        Gravity = new Vector(0, -1000);
29
30        LuoKentta();
31        LisaaNappaimet();
32
33        Camera.Follow(pelaaja1);
34        Camera.ZoomFactor = 1.2;
35        Camera.StayInLevel = true;
36    }
37
38    void LuoKentta()
39    {
40        ColorTileMap kentta = ColorTileMap.FromLevelAsset("kentta2");
41        kentta.SetTileMethod("000000", LisaaTaso);
42        kentta.SetTileMethod("FFFA00", LisaaTahti);
43        kentta.SetTileMethod("0026FF", LisaaPelaaja);
44        kentta.SetTileMethod("FF0000", LisaaLaava);
45        kentta.SetTileMethod("00FFFF", LisaaLiikkuvaVihu);
46        kentta.SetTileMethod("FF00F2", LisaaMaali);
47        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
48        Level.CreateBorders();
49        Level.Background.CreateGradient(Color.Gray, Color.Gray);
50    }
51
52    void LisaaLiikkuvaVihu(Vector paikka, double leveys, double korkeus)
53    {
54        PlatformCharacter vihu = new PlatformCharacter(leveys, korkeus);
55        vihu.Position = paikka;
56        vihu.Tag = "vihu";
57        vihu.Image = morko;
58        Add(vihu);
59
60        PlatformWandererBrain pfwb = new PlatformWandererBrain();
61        pfwb.Speed = 100;
62        vihu.Brain = pfwb;
63    }
64
65    void LisaaTaso(Vector paikka, double leveys, double korkeus)
66    {
67        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
68        taso.Position = paikka;
69        taso.Color = Color.Black;
70        Add(taso);
71    }
72
73    void LisaaTahti(Vector paikka, double leveys, double korkeus)
74    {
75        PhysicsObject tahti = PhysicsObject.CreateStaticObject(leveys, korkeus);
76        tahti.IgnoresCollisionResponse = true;
77        tahti.Position = paikka;
78        tahti.Image = tahtiKuva;
79        tahti.Tag = "tahti";
80        Add(tahti);
81    }
82
83    void LisaaMaali(Vector paikka, double leveys, double korkeus)
84    {
85        PhysicsObject maali = PhysicsObject.CreateStaticObject(leveys, korkeus);
86        maali.IgnoresCollisionResponse = true;
87        maali.Position = paikka;
88        maali.Image = Ovi;
89        maali.Tag = "Ovi";
90        Add(maali);
91    }
92
93    void LisaaPelaaja(Vector paikka, double leveys, double korkeus)
94    {
95        start = paikka;
96        pelaaja1 = new PlatformCharacter(leveys, korkeus);
97        pelaaja1.Position = paikka;
98        pelaaja1.Mass = 4.0;
99        pelaaja1.Image = pelaajanKuva;
100        AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen);
101        AddCollisionHandler(pelaaja1, "vihu", SiirryAlkuun);
102        AddCollisionHandler(pelaaja1, "laava", SiirryAlkuun);
103        AddCollisionHandler(pelaaja1, "Ovi", SeuraavaMaaila);
104        Add(pelaaja1);
105    }
106
107    void SiirryAlkuun(PhysicsObject pelaaja, PhysicsObject kohde)
108    {
109        pelaaja1.Position = start;
110    }
111
112
113    void LisaaLaava(Vector paikka, double levelys, double korkeus)
114    {
115        PhysicsObject laava = new PhysicsObject(levelys, korkeus);
116        laava.Tag = "laava";
117        laava.Position = paikka;
118        laava.MakeStatic();
119        laava.Color= Color.OrangeRed;
120        Add(laava);
121    }
122    void LisaaNappaimet()
123    {
124        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
125        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
126        if (ControllerOne.IsConnected)
127        {
128
129            ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
130
131            ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus);
132            ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus);
133            ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
134        }
135        else
136        {
137            Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus);
138            Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus);
139            Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
140        }
141
142        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
143    }
144
145    void Liikuta(PlatformCharacter hahmo, double nopeus)
146    {
147        hahmo.Walk(nopeus);
148    }
149
150    void Hyppaa(PlatformCharacter hahmo, double nopeus)
151    {
152        hahmo.Jump(nopeus);
153    }
154
155    void TormaaTahteen(PhysicsObject hahmo, PhysicsObject tahti)
156    {
157        maaliAani.Play();
158        MessageDisplay.Add("Helööy!!");
159        tahti.Destroy();
160    }
161
162    void SeuraavaKentta(PhysicsObject hahmo, PhysicsObject maali)
163    {
164       
165    }
166}
Note: See TracBrowser for help on using the repository browser.