source: 2015/30/ValtteriT/Labyrintti/Labyrintti/Labyrintti/Labyrintti.cs @ 6943

Revision 6943, 3.9 KB checked in by mivasata, 8 years ago (diff)

Labyrintissä kenttä ja hahmo sekä pommeja.

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class Labyrintti : PhysicsGame
10{
11    const double nopeus = 200;
12    const double hyppyNopeus = 3000;
13    const int RUUDUN_KOKO = 40;
14
15    PhysicsObject pelaaja1;
16
17
18    SoundEffect Rajahdys = LoadSoundEffect("Rajahdys");
19
20    public override void Begin()
21    {
22        Gravity = new Vector(0, 0);
23
24        LuoKentta();
25        LisaaNappaimet();
26
27        Camera.Follow(pelaaja1);
28        Camera.ZoomFactor = 1.2;
29        Camera.StayInLevel = true;
30    }
31
32    void LuoKentta()
33    {
34        TileMap kentta = TileMap.FromLevelAsset("kentta1");
35        kentta.SetTileMethod('#', LisaaTaso);
36        kentta.SetTileMethod('3', LisaaTaso2);
37        kentta.SetTileMethod('N', LisaaPelaaja);
38        kentta.SetTileMethod('4', LisaaMiina);
39        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
40        Level.CreateBorders();
41        Level.Background.Color = Color.White;
42    }
43
44    void LisaaTaso(Vector paikka, double leveys, double korkeus)
45    {
46        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
47        taso.Position = paikka;
48        taso.Color = Color.Green;
49        Add(taso);
50    }
51
52    void LisaaTaso2(Vector paikka, double leveys, double korkeus)
53    {
54        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
55        taso.Position = paikka;
56        taso.Color = Color.Gray;
57        Add(taso);
58    }
59
60    void LisaaMiina(Vector paikka, double leveys, double korkeus)
61    {
62        PhysicsObject Miina = PhysicsObject.CreateStaticObject(30, 30);
63        Miina.Size = new Vector(30, 30);
64        Miina.Position = paikka;
65        Miina.Color = Color.LightGray;
66        Miina.Tag = "Miina";
67        Add (Miina);
68    }
69
70    void LisaaPelaaja(Vector paikka, double leveys, double korkeus)
71    {
72        pelaaja1 = new PhysicsObject(20, 20);
73        pelaaja1.Position = paikka;
74        pelaaja1.Mass = 0.5;
75        pelaaja1.Color = Color.LightGreen;
76        AddCollisionHandler(pelaaja1, "Miina", TormaaMiinaan);
77        Add(pelaaja1);
78    }
79
80    void LisaaNappaimet()
81    {
82        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
83        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
84
85        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, new Vector (-nopeus, 0));
86        Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, new Vector(nopeus, 0));
87        Keyboard.Listen(Key.Up, ButtonState.Pressed, Liikuta, "Liikkuu eteenpäin", pelaaja1, new Vector(0, nopeus));
88        Keyboard.Listen(Key.Down, ButtonState.Down, Liikuta, "Liikkuu taaksepäin", pelaaja1, new Vector(0, -nopeus));
89
90        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
91
92        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, new Vector (-nopeus, 0));
93        ControllerOne.Listen(Button.X, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja1, new Vector (nopeus, 0));
94        ControllerOne.Listen(Button.Y, ButtonState.Down, Liikuta, "Pelaaja liikkuu eteenpäin", pelaaja1, new Vector (0, nopeus));
95        ControllerOne.Listen(Button.A, ButtonState.Down, Liikuta, "Pelaaja liikkuu taaksepäin", pelaaja1, new Vector (0, -nopeus));
96
97        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
98    }
99
100    void Liikuta(PhysicsObject hahmo, Vector nopeus)
101    {
102        hahmo.Push(nopeus);
103    }
104
105    void EteenJaTaaksePain(PhysicsObject hahmo, double nopeus)
106    {
107        //hahmo.(nopeus);
108    }
109
110    void TormaaMiinaan(PhysicsObject hahmo, PhysicsObject Miina)
111    {
112        Rajahdys.Play();
113        MessageDisplay.Add("Osuit miinaan!");
114        Miina.Destroy();
115    }
116   
117}
Note: See TracBrowser for help on using the repository browser.