source: aki_m/pong/Peli.cs @ 39

Revision 39, 3.2 KB checked in by tekrjant, 10 years ago (diff)
Line 
1#region Usings
2using System;
3using System.Collections.Generic;
4using System.Linq;
5using Microsoft.Xna.Framework;
6using Microsoft.Xna.Framework.Audio;
7using Microsoft.Xna.Framework.Content;
8using Microsoft.Xna.Framework.Graphics;
9using Microsoft.Xna.Framework.Input;
10using Microsoft.Xna.Framework.Media;
11using Jypeli;
12using Jypeli.ScreenObjects;
13using Jypeli.Assets;
14using AdvanceMath;
15using Physics2DDotNet;
16using Physics2DDotNet.Shapes;
17#endregion
18
19namespace pong
20{
21    public class Peli : PhysicsGame
22    {
23        PhysicsObject pallo;
24        PhysicsObject maila1;
25        PhysicsObject maila2;
26        protected override void LoadContent()
27        {
28            Level = LuoKentta();
29            AsetaOhjaimet();
30            AloitaPeli();           
31            Level = LuoKentta();           
32        }
33       
34        Level LuoKentta()
35        {
36            Vector2D impulssi = new Vector2D(15000.0, 0.0);
37
38            Level kentta = new Level(this);
39            kentta.BackgroundColor = Color.Black;
40            IShape ympyra = Shapes.CreateRectangle(50.8, 50.8);
41            PhysicsObject pallo = new PhysicsObject(10.0, ympyra);
42
43            pallo.Hit(impulssi);
44
45            IShape suorakulmio = Shapes.CreateRectangle(20.0, 100.0);
46            PhysicsObject maila = PhysicsObject.CreateStaticObject(suorakulmio);
47            maila.X = kentta.Left + 20.0;
48            maila.Y = 0.0;
49            maila.Restitution = 1.0;
50            kentta.Objects.Add(maila);
51            maila.Color = Color.Black;
52            kentta.Objects.Add(pallo);
53
54
55            kentta.CreateBorder(1.0, false);
56            pallo.Restitution = 5.0;
57            kentta.BackgroundColor = Color.Red;
58            pallo.Color = Color.Black;
59
60            IShape suorakulmio2 = Shapes.CreateRectangle(20.0, 100.0);
61            PhysicsObject maila2 = PhysicsObject.CreateStaticObject(suorakulmio2);
62            maila2.X = kentta.Right - 20.0;
63            maila2.Y = 0.0;
64            maila2.Restitution = 1.0;
65            kentta.Objects.Add(maila2);
66            maila2.Color = Color.Black;
67
68            return kentta;
69       
70
71        }
72        bool LiikutaMailaaYlos( ControlEvent e )
73        {
74            PhysicsObject maila = e.Parameter0.ToPhysicsObject();
75            maila.Y += 10.0;
76            return false;
77
78           
79        }
80
81        void AsetaOhjaimet()
82        { Controls.Listen( Keys.A, ButtonPosition.Down, LiikutaMailaaYlos, "Pelaaja 1: Liikuta mailaa ylös", maila1 );
83            Controls.Listen( Keys.Z, ButtonPosition.Down, LiikutaMailaaAlas, "Pelaaja 1: Liikuta mailaa alas", maila1 );
84
85            Controls.Listen( Keys.Up, ButtonPosition.Down, LiikutaMailaaYlos, "Pelaaja 2: Liikuta mailaa ylös", maila2 );
86            Controls.Listen( Keys.Down, ButtonPosition.Down, LiikutaMailaaAlas, "Pelaaja 2: Liikuta mailaa alas", maila2 );
87        }
88
89            Controls.Listen(Keys.Up, ButtonPosition.Down, LiikutaMailaaYlos, "Liikuta mailaa ylös", maila1);
90           
91
92        }
93
94        bool LiikutaMailaaAlas(ControlEvent e)
95        {
96            PhysicsObject maila = e.Parameter0.ToPhysicsObject();
97            maila.Y += -10.0;
98            return false;
99
100            { 
101        }}
102        }
103   
104   
105
Note: See TracBrowser for help on using the repository browser.