source: 2017/27/MillaK/RPG/RPG/RPG/RPG.cs @ 8932

Revision 8932, 6.2 KB checked in by npo17_53, 2 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 RPG : PhysicsGame
10{
11    PhysicsObject pelaaja;
12    Vector NopeusYlos = new Vector(0, 200);
13    Vector NopeusAlas = new Vector(0, -200);
14    Vector NopeusVasemmalle = new Vector(-200, 0);
15    Vector NopeusOikealle = new Vector(200, 0);
16
17    int tapahtumat;
18    public override void Begin()
19    {
20        LuoHahmot();
21        LisaaOhjaimet();
22        LuoKentta();
23        LuoPuut();
24
25    }
26
27    void LuoKentta()
28    {
29        Level.Background.Image = LoadImage("tausta");
30
31
32        //
33
34        Level.Width = Window.Width;
35        Level.Height = Window.Height;
36        Level.Background.Size = Level.Size;
37
38        //tekee rannasta luoksepääsemättömän
39        PhysicsObject ranta = PhysicsObject.CreateStaticObject(Level.Width, Level.Height);
40        ranta.Shape = Shape.FromImage(LoadImage("taustahitbox"));
41        ranta.IsVisible = false;
42        Add(ranta);
43       
44        LuoSeinat();
45        LuoHuonekalut();
46       
47
48        //PhysicsObject kuusi = new PhysicsObject(100,300);
49        //Add(kuusi);
50       
51   
52        Level.CreateBorders(1.0, false);
53
54    }
55
56    void LuoPuut()
57    {
58        PhysicsObject kuusi = PhysicsObject.CreateStaticObject(120,230);
59        Add(kuusi);
60        kuusi.Shape = Shape.Triangle;
61        kuusi.Image = LoadImage("kuusi");
62        kuusi.X = 0;
63        kuusi.Y = 400;
64
65        PhysicsObject kuusi2 = PhysicsObject.CreateStaticObject(120, 230);
66        Add(kuusi2);
67        kuusi2.Shape = Shape.Triangle;
68        kuusi2.Image = LoadImage("kuusi");
69        kuusi2.X = 90;
70        kuusi2.Y = 360;
71
72        PhysicsObject kuusi3 = PhysicsObject.CreateStaticObject(120, 230);
73        Add(kuusi3);
74        kuusi3.Shape = Shape.Triangle;
75        kuusi3.Image = LoadImage("kuusi");
76        kuusi3.X = -100;
77        kuusi3.Y = 350;
78
79        PhysicsObject kuusi4 = PhysicsObject.CreateStaticObject(120, 230);
80        Add(kuusi4);
81        kuusi4.Shape = Shape.Triangle;
82        kuusi4.Image = LoadImage("kuusi");
83        kuusi4.X = 300;
84        kuusi4.Y = 250;
85
86        PhysicsObject kuusi5 = PhysicsObject.CreateStaticObject(120, 230);
87        Add(kuusi5);
88        kuusi5.Shape = Shape.Triangle;
89        kuusi5.Image = LoadImage("kuusi");
90        kuusi5.X = 450;
91        kuusi5.Y = 425;
92    }
93
94    void LuoHuonekalut()
95
96    {
97
98        //keittiön mööpelit
99        LuoHuonekalu(-260, -320, 90, 260);
100        LuoHuonekalu(-370, -400, 280, 100);
101
102        //sohva
103        LuoHuonekalu(-726, -297, 100, 30);
104        LuoHuonekalu(-726, -60, 110, 30);
105        LuoHuonekalu(-763, -190, 40, 245);
106
107        //suihku
108        LuoHuonekalu(-740, 216, 75, 82);
109
110        //pöytä
111        PhysicsObject poyta = new PhysicsObject(155,169);
112        poyta.Shape = Shape.Circle;
113        poyta.MakeStatic();
114        poyta.IsVisible = false;
115        poyta.X = -556;
116        poyta.Y = -178;
117        Add(poyta);
118
119
120    }
121    void LuoSeinat()
122    {
123        //ulkoseinät
124        LuoSeina(-214, 195, 10, 424);
125        LuoSeina(-214, -280 , 10, 349);
126
127        LuoSeina(-497, 405, 576, 10);
128        LuoSeina(-497, -453, 576, 10);
129
130        LuoSeina(-780, -24, 10, 862);
131
132        //sisäseinät
133        LuoSeina(-565, 360, 10, 95);
134        LuoSeina(-565, 175, 10, 130);
135
136        LuoSeina(-535, 110, 235, 10);
137        LuoSeina(-748, 110, 73, 10);
138        LuoSeina(-280, 110, 140, 10);
139
140    }
141
142    void LuoSeina(double x, double y, double leveys, double korkeus)
143    {
144        PhysicsObject seina = PhysicsObject.CreateStaticObject(leveys, korkeus);
145        seina.X = x;
146        seina.Y = y;
147        seina.IsVisible = false;
148        Add(seina);
149    }
150
151    void LuoHuonekalu(double x, double y, double leveys, double korkeus)
152    {
153        PhysicsObject huone = PhysicsObject.CreateStaticObject(leveys, korkeus);
154        huone.X = x;
155        huone.Y = y;
156        huone.IsVisible = false;
157        Add(huone);
158    }
159    void LuoHahmot ()
160    {
161        //luo pelaajan
162        pelaaja = new PhysicsObject(40, 60);
163        pelaaja.Image = LoadImage("hemmo");
164        pelaaja.Shape = Shape.Circle;
165        pelaaja.X = -265;
166        pelaaja.Y = 350;
167        pelaaja.CanRotate = false;
168        pelaaja.Restitution = 0;
169        Add(pelaaja);
170
171        //luo merenneidon
172        PhysicsObject merenneito = new PhysicsObject(90, 50);
173        merenneito.Image = LoadImage("mermaid");
174        merenneito.MakeStatic();
175        merenneito.Restitution = 0;
176        merenneito.X = 650;
177        merenneito.Y = -150;
178        Add(merenneito);
179
180        //luo kerjalaisen
181        PhysicsObject kerjalainen = new PhysicsObject(40, 60);
182        kerjalainen.Image = LoadImage("kerjalainen");
183        kerjalainen.MakeStatic();
184        kerjalainen.Restitution = 0;
185        kerjalainen.X = 350;
186        kerjalainen.Y = -50;
187        Add(kerjalainen);
188       
189    }
190
191    void LisaaOhjaimet()
192    {
193        //liikuttaa pelaajaa
194        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "liikuta pelaajaa ylös", pelaaja, NopeusYlos);
195        Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, pelaaja, Vector.Zero);
196
197        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "liikuta pelaajaa alas", pelaaja, NopeusAlas);
198        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, pelaaja, Vector.Zero);
199
200        Keyboard.Listen(Key.Left, ButtonState.Down, AsetaNopeus, "liikuta pelaajaa vasemmalle", pelaaja, NopeusVasemmalle);
201        Keyboard.Listen(Key.Left, ButtonState.Released, AsetaNopeus, null, pelaaja, Vector.Zero);
202
203        Keyboard.Listen(Key.Right, ButtonState.Down, AsetaNopeus, "liikuta pelaajaa oikealle", pelaaja, NopeusOikealle);
204        Keyboard.Listen(Key.Right, ButtonState.Released, AsetaNopeus, null, pelaaja, Vector.Zero);
205   
206        //exit
207        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
208        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
209   
210    }
211    void AsetaNopeus(PhysicsObject pelaaja, Vector nopeus)
212    {
213        pelaaja.Velocity = nopeus;
214    }
215
216
217}
Note: See TracBrowser for help on using the repository browser.