source: 2010/23/jealmaki/poing/jealmaki Peli.cs @ 536

Revision 536, 3.2 KB checked in by jealmaki, 10 years ago (diff)
Line 
1using System;
2using Jypeli;
3using Jypeli.ScreenObjects;
4using Jypeli.Assets;
5
6namespace poing
7{
8    public class Peli : PhysicsGame
9    {
10        PhysicsObject pallo;
11        PhysicsObject maila1;
12        PhysicsObject maila2;
13        protected override void Begin()
14        {
15            LuoKentta();
16            AsetaOhjaimet();
17            AloitaPeli();
18            Vector impulssi = new Vector(300.0, 1.0);
19            pallo.Hit(impulssi);
20            AloitaPeli();
21        }
22
23        void LuoKentta()
24        {
25            pallo = new PhysicsObject(40.0, 40.0);
26            pallo.Shape = Shapes.Circle;
27            Add(pallo);
28            pallo.X = 0.0;
29            pallo.Y = 0.0;
30            Vector impulssi = new Vector(300.0, 1.0);
31            pallo.Hit(impulssi);
32
33            maila1 = LuoMaila(Level.Left + 20.0, 0.0);
34            maila2 = LuoMaila(Level.Right - 20.0, 0.0);
35
36            Level.CreateBorders(1.0, false);
37            pallo.Restitution = 1.0;
38            Level.BackgroundColor = Color.Red;
39            Camera.ZoomToLevel();
40        }
41
42
43        void AloitaPeli()
44        {
45        }
46
47        PhysicsObject LuoMaila(double x, double y)
48        {
49            PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0);
50            maila.Shape = Shapes.Rectangle;
51            maila.X = x;
52            maila.Y = y;
53            maila.Restitution = 1.0;
54            Add(maila);
55            return maila;
56        }
57        void LiikutaMailaaYlos(PhysicsObject maila)
58        {
59            if (maila.Y >= Level.Top)
60            {
61                maila.Velocity = Vector.Zero;
62                return;
63            }
64
65                Vector nopeus = new Vector(0, 200);
66                maila.Velocity = nopeus;
67           
68        }
69       
70        void PysaytaMaila(PhysicsObject maila)
71        {
72            maila.Velocity = Vector.Zero;
73        }
74
75        void LiikutaMailaaAlas(PhysicsObject maila)
76        {
77            {
78
79                Vector nopeus = new Vector(0, -200);
80                maila.Velocity = nopeus;
81
82            }
83        }
84        void AsetaOhjaimet()
85        {
86
87            Keyboard.Listen(Key.W, ButtonState.Down, LiikutaMailaaYlos, "Pelaaja 1: Liikuta mailaa ylös", maila1);
88            Keyboard.Listen(Key.W, ButtonState.Released, PysaytaMaila, null, maila1);
89            Keyboard.Listen(Key.S, ButtonState.Down, LiikutaMailaaAlas, "Pelaaja 1: Liikuta mailaa alas", maila1);
90            Keyboard.Listen(Key.S, ButtonState.Released, PysaytaMaila, null, maila1);
91
92            Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaMailaaYlos, "Pelaaja 2: Liikuta mailaa ylös", maila2);
93            Keyboard.Listen(Key.Up, ButtonState.Released, PysaytaMaila, null, maila2);
94            Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaMailaaAlas, "Pelaaja 2: Liikuta mailaa alas", maila2);
95            Keyboard.Listen(Key.Down, ButtonState.Released, PysaytaMaila, null, maila2);
96
97            Keyboard.Listen(Key.F1, ButtonState.Down, ShowControlHelp, "Näytä ohjeet");
98            Keyboard.Listen(Key.Escape, ButtonState.Down, Exit, "Poistu");
99
100        }
101           
102    }
103
104}
105
Note: See TracBrowser for help on using the repository browser.