source: 2010/23/kajysail/Ping Pong/Peli.cs @ 608

Revision 608, 3.3 KB checked in by kajysail, 11 years ago (diff)

Jatkoin työtä

Line 
1using System;
2using Jypeli;
3using Jypeli.ScreenObjects;
4using Jypeli.Assets;
5
6namespace Ping_Pong
7{
8    public class Peli : PhysicsGame
9    {
10        PhysicsObject pallo;
11        PhysicsObject pelihahmo;
12
13        protected override void Begin()
14        {
15            LuoPallo();
16            LuoPeliHahmo();
17            AsetaOhjaimet();
18            AloitaPeli();
19
20            Level.CreateBorders( 1.05, false );
21            AddCollisionHandler(pallo, KasittelePallonOsuma);
22        }
23
24        void AloitaPeli()
25        {
26            Vector impulssi = new Vector(500.0, 0.0);
27            pallo.Hit(impulssi);
28        }
29
30        void LuoPeliHahmo()
31        {
32            pelihahmo = PhysicsObject.CreateStaticObject(50.0, 50.0);
33            pelihahmo.Shape = Shapes.Rectangle;
34            Add (pelihahmo);
35
36        }
37
38        void LuoPallo()
39        {
40            pallo = new PhysicsObject(100.0, 100.0);
41            pallo.Shape = Shapes.Circle;
42            pallo.X = 200;
43            pallo.Y = 300;
44            pallo.Restitution = 1.05;
45            pallo.Image = LoadImage("piikkipallo2");
46
47            Add(pallo);
48        }
49
50        void AsetaOhjaimet()
51        {
52            Keyboard.Listen( Key.Up, ButtonState.Down, LiikutaPelihahmoYlos, "Pelaaja 2: Liikuta pelihahmoa ylös", pelihahmo);
53            Keyboard.Listen( Key.Up, ButtonState.Released, PysaytaPelihahmo, null, pelihahmo );
54            Keyboard.Listen( Key.Down, ButtonState.Down, LiikutaPelihahmoAlas, "Pelaaja 1: Liikuta pelihahmoa alas", pelihahmo );
55            Keyboard.Listen( Key.Down, ButtonState.Released, PysaytaPelihahmo, null, pelihahmo );
56            Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelihahmoOikea, "Pelaaja 1: Liikuta pelihahmoa oikealle", pelihahmo);
57            Keyboard.Listen(Key.Right, ButtonState.Released, PysaytaPelihahmo, null, pelihahmo);
58            Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelihahmoVasen, "Pelaaja 1: Liikuta pelihahmoa vasemmalle", pelihahmo);
59            Keyboard.Listen(Key.Left, ButtonState.Released, PysaytaPelihahmo, null, pelihahmo);
60
61            Keyboard.Listen( Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet" );
62            Keyboard.Listen( Key.Escape, ButtonState.Pressed, Exit, "Poistu" );
63        }
64       
65        void LiikutaPelihahmoYlos( PhysicsObject pelihahmo )
66        {
67            Vector nopeus = new Vector( 0, 500 );
68            pelihahmo.Velocity = nopeus;
69        }
70
71        void LiikutaPelihahmoAlas(PhysicsObject pelihahmo)
72        {
73            Vector nopeus = new Vector( 0, -500 );
74            pelihahmo.Velocity = nopeus;
75        }
76
77        void LiikutaPelihahmoVasen(PhysicsObject pelihahmo)
78        {
79            Vector nopeus = new Vector(-500, 0);
80            pelihahmo.Velocity = nopeus;
81        }
82
83        void LiikutaPelihahmoOikea(PhysicsObject pelihahmo)
84        {
85            Vector nopeus = new Vector(500, 0);
86            pelihahmo.Velocity = nopeus;
87        }
88
89        void PysaytaPelihahmo(PhysicsObject pelihahmo)
90        {
91            pelihahmo.Velocity = Vector.Zero;
92        }
93
94        void KasittelePallonOsuma(PhysicsObject pallo, PhysicsObject kohde)
95        {
96            if (kohde == pelihahmo)
97            {
98                Kuolema();
99            }
100        }
101
102        void Kuolema()
103        {
104        }
105    }
106}
Note: See TracBrowser for help on using the repository browser.