source: 2010/23/teematma/Pong/Peli.cs @ 542

Revision 542, 3.1 KB checked in by paaaanro, 10 years ago (diff)
Line 
1using System;
2using Jypeli;
3using Jypeli.ScreenObjects;
4using Jypeli.Assets;
5
6namespace Pong
7{
8    public class Peli : PhysicsGame
9    {
10        PhysicsObject Pallo;
11        PhysicsObject maila1;
12        PhysicsObject maila2;
13
14        protected override void Begin()
15        {
16            LuoKentta();
17            AsetaOhjaimet();
18            AloitaPeli();
19        }
20
21            void LuoKentta()
22            {
23            Pallo = new PhysicsObject( 25.0, 25.0 );
24            Pallo.Shape = Shapes.Circle;
25            Pallo.Restitution = 1.0;
26            Pallo.KineticFriction = 0.0;
27            Add ( Pallo );
28            Pallo.X = -200;
29            Pallo.Y = 0;
30
31
32            maila1 = LuoMaila(Level.Left + 20.0, 0.0);
33            maila2 = LuoMaila(Level.Right - 20.0, 0.0);
34           
35            Level.CreateBorders( 1.0, false);
36            Level.BackgroundColor = Color.Black;
37           
38            Camera.StayInLevel = true;
39            SetWindowSize(true);
40
41            }
42            void AloitaPeli()
43            {
44                Vector impulssi = new Vector(500.0, 0.0);
45                Pallo.Hit(impulssi);
46            }
47
48
49            PhysicsObject LuoMaila(double x, double y)
50            {
51                PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0);
52                maila.Shape = Shapes.Rectangle;
53                maila.X = x;
54                maila.Y = y;
55                maila.Restitution = 1.0;
56                Add(maila);
57                return maila;
58             
59            }
60            void AsetaOhjaimet()
61            {
62                Keyboard.Listen(Key.A, ButtonState.Pressed, LiikutaMailaaYlos, "Pelaaja 1: liikuta mailaa ylös", maila1);
63                Keyboard.Listen(Key.A, ButtonState.Released, PysaytaMaila, null, maila1);
64                Keyboard.Listen(Key.Z, ButtonState.Pressed, LiikutaMailaaAlas, "pelaaja 1: liikuta mailaa alas", maila1);
65                Keyboard.Listen(Key.Z, ButtonState.Released, PysaytaMaila, null, maila1);
66
67                Keyboard.Listen(Key.Up, ButtonState.Pressed, LiikutaMailaaYlos, "Pelaaja 2: liikuta mailaa ylös", maila2);
68                Keyboard.Listen(Key.Up, ButtonState.Released, PysaytaMaila, null, maila2);
69                Keyboard.Listen(Key.Down, ButtonState.Pressed, LiikutaMailaaAlas, "Pelaaja 2: liikuta mailaa alas", maila2);
70                Keyboard.Listen(Key.Down, ButtonState.Released, PysaytaMaila, null, maila2);
71
72                Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "poistu");
73
74            }
75            void LiikutaMailaaYlos(PhysicsObject Maila)
76            {
77                Vector nopeus = new Vector(0, 400);
78                Maila.Velocity = nopeus;
79            }
80            void LiikutaMailaaAlas(PhysicsObject Maila)
81            {
82                Vector nopeus = new Vector(0, -400);
83                Maila.Velocity = nopeus;
84            }
85
86            void PysaytaMaila(PhysicsObject Maila)
87            {
88                Maila.Velocity = Vector.Zero;
89            }
90        }   
91    }
92
93
Note: See TracBrowser for help on using the repository browser.