source: 2010/23/rikaroih/Autopeli1/Peli.cs @ 563

Revision 563, 4.0 KB checked in by rikaroih, 10 years ago (diff)

Meteor Rain Peli

Line 
1using System;
2using Jypeli;
3using Jypeli.ScreenObjects;
4using Jypeli.Assets;
5
6namespace Meteor Rain
7{
8    public class Peli : TopDownPhysicsGame
9    {
10        protected override void Begin()
11        {
12            KineticFriction = 10.0; // Asetetaan kitka
13
14            PhysicsObject pallo;
15            PhysicsObject pallo2;
16            PhysicsObject pallo3;
17
18            pallo = new PhysicsObject(150.0, 150.0);
19            pallo.Shape = Shapes.Circle;
20            pallo.Color = Color.Pink;
21            pallo.X = -200.0;
22            pallo.Y = 0.0;
23            pallo.Restitution = 1.0;
24            Vector impulssi = new Vector(-50.0, -50.0);
25            pallo.Hit(impulssi);
26            Add(pallo);
27
28            pallo2 = new PhysicsObject(200.0, 150.0);
29            pallo2.Shape = Shapes.Circle;
30            pallo2.Color = Color.Violet;
31            pallo2.X = -200.0;
32            pallo2.Y = 200.0;
33            pallo2.Restitution = 1.0;
34            Vector impulssi2 = new Vector(50.0, 50.0);
35            pallo2.Hit(impulssi2);
36            Add(pallo2);
37
38            pallo3 = new PhysicsObject(200.0, 150.0);
39            pallo3.Shape = Shapes.Circle;
40            pallo3.X = -200.0;
41            pallo3.Color = Color.Red;
42            pallo3.Y = -200.0;
43            pallo3.Restitution = 1.0;
44            Vector impulssi3 = new Vector(50.0, -50.0);
45            pallo3.Hit(impulssi3);
46            Add(pallo3);
47
48            Automobile auto2 = new Automobile(100, 100);
49            auto2.Image = LoadImage("UFO4000");
50            auto2.Mass = 2.0;
51            auto2.Color = new Color(192, 192, 255);
52            Add(auto2);
53
54            Automobile auto = new Automobile(100, 100);
55            auto.Image = LoadImage("UFO3000");
56            auto.Mass = 2.0;
57            auto.Color = new Color(192, 192, 255);
58            Add(auto);
59
60            Automobile auto3 = new Automobile(100, 100);
61            auto3.Image = LoadImage("UFO2000");
62            auto3.Mass = 2.0;
63            auto3.Color = new Color(192, 192, 255);
64            Add(auto3);
65
66            Level.CreateBorders(1.0,false);
67            Level.BackgroundColor = Color.Black;
68
69            Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
70            Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä");
71            Keyboard.Listen(Key.Up, ButtonState.Down, kiihdyta, "Kiihdytä", auto);
72            Keyboard.Listen(Key.Left, ButtonState.Down, kaanny, "Käänny vasemmalle", auto, Angle.Degrees(1));
73            Keyboard.Listen(Key.Right, ButtonState.Down, kaanny, "Käänny oikealle", auto, Angle.Degrees(-1));
74            Keyboard.Listen(Key.Down, ButtonState.Down, jarruta, "Jarruta", auto);
75            Keyboard.Listen(Key.W, ButtonState.Down, kiihdyta, "Kiihdytä", auto2);
76            Keyboard.Listen(Key.A, ButtonState.Down, kaanny, "Käänny vasemmalle", auto2, Angle.Degrees(1));
77            Keyboard.Listen(Key.D, ButtonState.Down, kaanny, "Käänny oikealle", auto2, Angle.Degrees(-1));
78            Keyboard.Listen(Key.S, ButtonState.Down, jarruta, "Jarruta", auto2);
79            ControllerOne.Listen(Button.RightTrigger, ButtonState.Down, kiihdyta, "kiihdyta", auto3);
80            ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, kaanny, "Käänny vasemmalle", auto3, Angle.Degrees(1));
81            ControllerOne.Listen(Button.DPadRight, ButtonState.Down, kaanny, "Käänny oikealle", auto3, Angle.Degrees(-1));
82            ControllerOne.Listen(Button.LeftTrigger, ButtonState.Down, jarruta, "Jarruta", auto3);
83           
84        }
85
86        void kiihdyta(Automobile auto)
87        {
88            auto.Accelerate(Time.SinceLastUpdate.TotalSeconds);
89        }
90
91        void jarruta(Automobile auto)
92        {
93            auto.Brake(Time.SinceLastUpdate.TotalSeconds);
94        }
95
96        void kaanny(Automobile auto, Angle kaannos)
97        {
98            auto.Turn(kaannos, Time.SinceLastUpdate.TotalSeconds);
99        }
100    }
101}
Note: See TracBrowser for help on using the repository browser.