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 tasohyppelypeli : PhysicsGame |
---|
10 | { |
---|
11 | Vector nopeusYlos = new Vector(0, 500); |
---|
12 | Vector nopeusOikea = new Vector(500, 0); |
---|
13 | Vector nopeusVasen = new Vector(-500, 0); |
---|
14 | Image[] pelaajanKuvat = LoadImages("anm1", "Anm2", "anm3", "anm2", "anm3"); |
---|
15 | Image[] pelaajanKuvatPeilattu; |
---|
16 | PhysicsObject pelaaja; |
---|
17 | |
---|
18 | public override void Begin() |
---|
19 | { |
---|
20 | |
---|
21 | } |
---|
22 | |
---|
23 | void lataaKenttä() |
---|
24 | { |
---|
25 | } |
---|
26 | |
---|
27 | void LuoKenttä() |
---|
28 | { |
---|
29 | TileMap ruudut = TileMap.FromLevelAsset("Kentta1"); |
---|
30 | ruudut.SetTileMethod('_', LuoPalikka); |
---|
31 | ruudut.SetTileMethod('.', LuoSeina); |
---|
32 | ruudut.SetTileMethod('"', LuoPiikki); |
---|
33 | ruudut.SetTileMethod('!', LuoPelaaja); |
---|
34 | ruudut.SetTileMethod('(', LuoCelestiaali); |
---|
35 | ruudut.SetTileMethod('-', LuoAmpuja); |
---|
36 | ruudut.SetTileMethod('=', LuoMaali); |
---|
37 | ruudut.SetTileMethod('#', LuoDemoni); |
---|
38 | ruudut.SetTileMethod(';', LuoVartija); |
---|
39 | // ruudut.SetTileMethod('+', LuoCafgar); |
---|
40 | ruudut.Execute(20, 20); |
---|
41 | Level.Background.Color = Color.ForestGreen; |
---|
42 | Camera.Follow(pelaaja); |
---|
43 | Gravity = new Vector(0, -5000); |
---|
44 | } |
---|
45 | |
---|
46 | void LuoPalikka(Vector paikka, double leveys, double korkeus) |
---|
47 | { |
---|
48 | PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys, korkeus); |
---|
49 | palikka.Position = paikka; |
---|
50 | palikka.Shape = Shape.Rectangle; |
---|
51 | palikka.Color = Color.DarkBrown; |
---|
52 | Add(palikka); |
---|
53 | } |
---|
54 | |
---|
55 | void LuoSeina(Vector paikka, double leveys, double korkeus) |
---|
56 | { |
---|
57 | PhysicsObject seina = PhysicsObject.CreateStaticObject(leveys, korkeus); |
---|
58 | seina.Position = paikka; |
---|
59 | seina.Shape = Shape.Rectangle; |
---|
60 | seina.Color = Color.DarkBrown; |
---|
61 | Add(seina); |
---|
62 | } |
---|
63 | |
---|
64 | void LuoPiikki(Vector paikka, double leveys, double korkeus) |
---|
65 | { |
---|
66 | PhysicsObject piikki = PhysicsObject.CreateStaticObject(leveys, korkeus); |
---|
67 | piikki.Position = paikka; |
---|
68 | piikki.Shape = Shape.Triangle; |
---|
69 | piikki.Color = Color.Black; |
---|
70 | piikki.Tag = "piikki"; |
---|
71 | Add(piikki); |
---|
72 | } |
---|
73 | |
---|
74 | void AsetaOhjaimet() |
---|
75 | { |
---|
76 | Keyboard.Listen(Key.Escape, ButtonState.Down, ConfirmExit, "Poistu pelistä"); |
---|
77 | |
---|
78 | Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja liikkuu vasemmalle", pelaaja, nopeusVasen); |
---|
79 | Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, pelaaja, Vector.Zero); |
---|
80 | Keyboard.Listen(Key.W, ButtonState.pressed, AsetaNopeus, "Pelaaja 1: Pelaaaja hyppää ylös", pelaaja, nopeusYlos); |
---|
81 | Keyboard.Listen(Key.W, ButtonState.Released, AsetaNopeus, null, pelaaja, Vector.Zero); |
---|
82 | Keyboard.Listen(Key.D, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Pelaaja Liikkuu Oikealle", pelaaja, nopeusOikea); |
---|
83 | Keyboard.Listen(Key.D, ButtonState.Released, AsetaNopeus, null, pelaaja, Vector.Zero); |
---|
84 | //Keyboard.Listen(Key.E, ButtonState.Pressed, |
---|
85 | } |
---|
86 | |
---|
87 | void LuoPelaaja(Vector paikka, double leveys, double korkeus) |
---|
88 | { |
---|
89 | pelaaja = new PhysicsObject(20, 40); |
---|
90 | pelaaja.Position = paikka; |
---|
91 | pelaaja.Shape = Shape.anm1; |
---|
92 | pelaaja.Color = Color.Aquamarine; |
---|
93 | pelaaja.CanRotate = false; |
---|
94 | pelaaja.Mass = 500; |
---|
95 | Add(pelaaja); |
---|
96 | } |
---|
97 | |
---|
98 | void AsetaNopeus(PhysicsObject Pelaaja, Vector nopeus) |
---|
99 | { |
---|
100 | Pelaaja.Velocity = nopeus; |
---|
101 | } |
---|
102 | |
---|
103 | void animaatio() |
---|
104 | { |
---|
105 | pelaaja.Animation = new Animation(pelaajanKuvat); |
---|
106 | pelaaja.Animation = new Animation(pelaajanKuvatPeilattu); |
---|
107 | |
---|
108 | |
---|
109 | } |
---|
110 | void JokuTormasi(PhysicsObject pelaaja, PhysicsObject Piikki) |
---|
111 | { |
---|
112 | AddCollisionHandler(pelaaja, "piikki", PelaajaOsuu); |
---|
113 | pelaaja.destroy(); |
---|
114 | } |
---|
115 | void valikko() |
---|
116 | { |
---|
117 | MultiSelectWindow valikko = new MultiSelectWindow("Tervetuloa peliin", |
---|
118 | "Aloita peli", "Lopeta"); |
---|
119 | valikko.ItemSelected += PainettiinValikonNappia; |
---|
120 | Add(valikko); |
---|
121 | } |
---|
122 | void PainettiinValikonNappia(int valinta) |
---|
123 | { |
---|
124 | switch (valinta) |
---|
125 | { |
---|
126 | case 0: |
---|
127 | AloitaPeli(); |
---|
128 | break; |
---|
129 | case 2: |
---|
130 | Exit(); |
---|
131 | break; |
---|
132 | } |
---|
133 | } |
---|
134 | void AloitaPeli() |
---|
135 | {pelaajanKuvatPeilattu = Image.Mirror(pelaajanKuvat); |
---|
136 | |
---|
137 | LuoKenttä(); |
---|
138 | lataaKenttä(); |
---|
139 | AsetaOhjaimet(); |
---|
140 | //Aloitapeli(); |
---|
141 | animaatio(); |
---|
142 | pelaaja.Animation.Start(); |
---|
143 | } |
---|
144 | } |
---|
145 | |
---|