1 | using System; |
---|
2 | using System.Collections.Generic; |
---|
3 | using Jypeli; |
---|
4 | using Jypeli.Assets; |
---|
5 | using Jypeli.Controls; |
---|
6 | using Jypeli.Effects; |
---|
7 | using Jypeli.Widgets; |
---|
8 | |
---|
9 | public 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 | } |
---|
22 | public 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 | } |
---|