source: 2015/27/AakeR/IMBT/IMBT/IMBT/IMBT.cs @ 6530

Revision 6530, 5.7 KB checked in by misakana, 4 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 Pelaaja : PhysicsObject
10{
11    public IntMeter healthit;
12   
13    public Pelaaja(Image pelaajanKuva) : base(pelaajanKuva)
14    {
15        this.healthit = new IntMeter(100, 0, 100);
16        this.LinearDamping = 0.95;
17        this.Size = this.Size * 6;
18    }
19   
20
21}
22public class IMBT : PhysicsGame
23{
24
25    Image Pelaaja1Kone1 = LoadImage("Pelaaja1Kone1");
26    Image Pelaaja2Kone1 = LoadImage("Pelaaja2Kone1");
27    Image Pelaaja3Kone1 = LoadImage("Pelaaja3Kone1");
28    Image Pelaaja4Kone1 = LoadImage("Pelaaja4Kone1");
29    Image Palikka = LoadImage("Palikka");
30    Image PieniPalikka = LoadImage("PieniPalikka");
31    Pelaaja pelaaja1;
32
33    public override void Begin()
34    {
35        // TODO: Kirjoita ohjelmakoodisi tähän
36
37
38        LuoKentta();
39        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
40        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
41    }
42    void LuoKentta()
43    {
44        //1. Luetaan kuva uuteen ColorTileMappiin, kuvan nimen perässä ei .png-päätettä.
45        ColorTileMap ruudut = ColorTileMap.FromLevelAsset("kenttä1");
46
47        //2. Kerrotaan mitä aliohjelmaa kutsutaan, kun tietyn värinen pikseli tulee vastaan kuvatiedostossa.
48        ruudut.SetTileMethod(Color.FromHexCode("0026FF"), LuoPelaaja1);
49        ruudut.SetTileMethod(Color.Cyan, LuoPelaaja2);
50        ruudut.SetTileMethod(Color.BrightGreen, LuoPelaaja3);
51        ruudut.SetTileMethod(Color.Rose, LuoPelaaja4);
52        ruudut.SetTileMethod(Color.Black, LuoPalikka);
53        ruudut.SetTileMethod(Color.Red, LuoPieniPalikka);
54        Level.Background.Color = Color.Silver;
55
56        //3. Execute luo kentän
57        //   Parametreina leveys ja korkeus
58        ruudut.Execute(80, 80);
59        //Camera.Follow(pelaaja1);
60        Camera.ZoomToLevel();
61    }
62
63    void LuoPelaaja1(Vector paikka, double leveys, double korkeus)
64    {
65        pelaaja1 = new Pelaaja(Pelaaja1Kone1);
66        //pelaaja1.Shape = Shape.Rectangle;
67        pelaaja1.Position = paikka;
68        //pelaaja1.Image = Pelaaja1Kone1;
69        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down,LiikutaPelaajaa, null, new Vector(-1000, 0), pelaaja1);
70        ControllerOne.Listen(Button.DPadRight, ButtonState.Down,LiikutaPelaajaa, null, new Vector(1000, 0), pelaaja1);
71        ControllerOne.Listen(Button.DPadUp,    ButtonState.Down,LiikutaPelaajaa, null, new Vector(0, 1000), pelaaja1);
72        ControllerOne.Listen(Button.DPadDown, ButtonState.Down,LiikutaPelaajaa, null, new Vector(0, -1000), pelaaja1);
73        Add(pelaaja1);
74    }
75
76    void LuoPalikka(Vector paikka, double leveys, double korkeus)
77    {
78        PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys * 5, korkeus * 5);
79        palikka.Shape = Shape.Rectangle;
80        palikka.Position = paikka;
81        palikka.Image = Palikka;
82        Add(palikka);
83    }
84
85    void LuoPieniPalikka(Vector paikka, double leveys, double korkeus)
86    {
87        PhysicsObject pienipalikka = PhysicsObject.CreateStaticObject(leveys * 3, korkeus * 3);
88        pienipalikka.Shape = Shape.Rectangle;
89        pienipalikka.Position = paikka;
90        pienipalikka.Image = PieniPalikka;
91        Add(pienipalikka);
92    }
93
94    void LuoPelaaja2(Vector paikka, double leveys, double korkeus)
95    {
96        Pelaaja pelaaja2 = new Pelaaja(Pelaaja2Kone1);
97        //pelaaja2.Shape = Shape.Rectangle;
98        pelaaja2.Position = paikka;
99        //pelaaja2.Image = Pelaaja2Kone1;
100        ControllerTwo.Listen(Button.DPadLeft, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-1000, 0), pelaaja2);
101        ControllerTwo.Listen(Button.DPadRight, ButtonState.Down, LiikutaPelaajaa, null, new Vector(1000, 0), pelaaja2);
102        ControllerTwo.Listen(Button.DPadUp,    ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, 1000), pelaaja2);
103        ControllerTwo.Listen(Button.DPadDown, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -1000), pelaaja2);
104        Add(pelaaja2);
105    }
106
107    void LuoPelaaja3(Vector paikka, double leveys, double korkeus)
108    {
109        Pelaaja pelaaja3 = new Pelaaja(Pelaaja3Kone1);
110        //pelaaja3.Shape = Shape.Rectangle;
111        pelaaja3.Position = paikka;
112        //pelaaja3.Image = Pelaaja3Kone1;
113        ControllerThree.Listen(Button.DPadLeft, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-1000, 0), pelaaja3);
114        ControllerThree.Listen(Button.DPadRight, ButtonState.Down, LiikutaPelaajaa, null, new Vector(1000, 0), pelaaja3);
115        ControllerThree.Listen(Button.DPadUp,    ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, 1000), pelaaja3);
116        ControllerThree.Listen(Button.DPadDown, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -1000), pelaaja3);
117        Add(pelaaja3);
118    }
119
120    void LuoPelaaja4(Vector paikka, double leveys, double korkeus)
121    {
122        Pelaaja pelaaja4 = new Pelaaja(Pelaaja4Kone1);
123        //pelaaja4.Shape = Shape.Rectangle;
124        pelaaja4.Position = paikka;
125        //pelaaja4.Image = Pelaaja4Kone1;
126        ControllerFour.Listen(Button.DPadLeft, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-1000, 0), pelaaja4);
127        ControllerFour.Listen(Button.DPadRight, ButtonState.Down, LiikutaPelaajaa, null, new Vector(1000, 0), pelaaja4);
128        ControllerFour.Listen(Button.DPadUp,    ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, 1000), pelaaja4);
129        ControllerFour.Listen(Button.DPadDown, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -1000), pelaaja4);
130        Add(pelaaja4);
131    }
132
133
134    void LiikutaPelaajaa(Vector vektori, PhysicsObject pelaaja)
135    {
136        pelaaja.Push(vektori);
137    }
138
139
140}
Note: See TracBrowser for help on using the repository browser.