source: 2010/23/jopehell/pong/Peli.cs @ 508

Revision 508, 2.9 KB checked in by jopehell, 10 years ago (diff)

UUSI pong peli

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        void LuoKentta()
21        {
22            pallo = new PhysicsObject(20.0, 20.0);
23            Add(pallo);
24            pallo.Shape = Shapes.Circle;
25            pallo.X = -50;
26            pallo.Y = -50;
27
28            Level.CreateBorders(1.0, false);
29            pallo.Restitution = 1.0;
30            Level.BackgroundColor = Color.Black;
31            Camera.ZoomToLevel();
32            LuoMaila(Level.Left + 20.0, 0.0);
33            LuoMaila(Level.Right - 20.0, 0.0);
34
35        }
36
37
38        PhysicsObject LuoMaila(double x, double y)
39        {
40            PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0);
41            maila.Shape = Shapes.Rectangle;
42            maila.X = x;
43            maila.Y = y;
44            maila.Restitution = 1.0;
45            Add(maila);
46            return maila;
47        }
48
49
50        void AloitaPeli()
51        {
52            Vector impulssi = new Vector(650.0, 0.0);
53            pallo.Hit(impulssi);
54
55        }
56               void AsetaOhjaimet()
57        {
58            Keyboard.Listen( Key.A, ButtonState.Pressed, LiikutaMailaaYlos, "Pelaaja 1: Liikuta mailaa ylös", maila1 );
59            Keyboard.Listen( Key.A, ButtonState.Released, PysaytaMaila, null, maila1 );
60            Keyboard.Listen( Key.Z, ButtonState.Pressed, LiikutaMailaaAlas, "Pelaaja 1: Liikuta mailaa alas", maila1 );
61            Keyboard.Listen( Key.Z, ButtonState.Released, PysaytaMaila, null, maila1 );
62
63            Keyboard.Listen( Key.Up, ButtonState.Pressed, LiikutaMailaaYlos, "Pelaaja 2: Liikuta mailaa ylös", maila2 );
64            Keyboard.Listen( Key.Up, ButtonState.Released, PysaytaMaila, null, maila2 );
65            Keyboard.Listen( Key.Down, ButtonState.Pressed, LiikutaMailaaAlas, "Pelaaja 2: Liikuta mailaa alas", maila2 );
66            Keyboard.Listen( Key.Down, ButtonState.Released, PysaytaMaila, null, maila2 );
67
68            Keyboard.Listen( Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet" );
69            Keyboard.Listen( Key.Escape, ButtonState.Pressed, Exit, "Poistu" );
70        }
71
72        void LiikutaMailaaYlos( PhysicsObject maila )
73        {
74            Vector nopeus = new Vector( 0, 200 );
75            maila.Velocity = nopeus;
76        }
77
78        void LiikutaMailaaAlas( PhysicsObject maila )
79        {
80            Vector nopeus = new Vector( 0, -200 );
81            maila.Velocity = nopeus;
82        }
83
84        void PysaytaMaila( PhysicsObject maila )
85        {
86            maila.Velocity = Vector.Zero;
87        }
88    }
89}
90
91
92
Note: See TracBrowser for help on using the repository browser.