source: aapo_p/FysiikkaPeli1/Peli.cs @ 41

Revision 41, 5.2 KB checked in by aaalalpe, 12 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 FysiikkaPeli1
20{
21    public class Peli : PhysicsGame
22    {
23        public PhysicsObject pallo1;
24        public PhysicsObject pallo2;
25        public PhysicsObject pallo3;
26        public PhysicsObject pallo4;
27        public PhysicsObject nelio3;
28        public PhysicsObject nelio22;
29        public PhysicsObject nelio;
30        public PhysicsObject pallo;
31
32   
33
34        protected override void LoadContent()
35        {
36            Level = luokentta();
37   
38
39           
40
41           
42           
43
44
45
46        }
47
48
49        protected override void Update(GameTime gameTime)
50        {
51            nelio.Angle = nelio.Angle + Angle.Degrees(50);
52            base.Update(gameTime);
53        }
54
55        protected Level luokentta()
56        {
57            Level kentta = new Level(this);
58            kentta.BackgroundColor = Color.Gainsboro;
59
60            IShape suorakulmio = Shapes.CreateRectangle(20.0, 100.0);
61            nelio3 = PhysicsObject.CreateStaticObject(suorakulmio);
62            nelio3.X = kentta.Left + 20.0;
63            nelio3.Y = 0.0;
64            nelio3.Restitution = 5.0;
65            kentta.Objects.Add(nelio3);
66
67            IShape suorakulmio2 = Shapes.CreateRectangle(20.0, 100.0);
68            nelio22 = PhysicsObject.CreateStaticObject(suorakulmio2);
69            nelio22.X = kentta.Right + -20.0;
70            nelio22.Y = 0.0;
71            nelio22.Restitution = 5.0;
72            kentta.Objects.Add(nelio22);
73
74            IShape ympyra = Shapes.CreateCircle(50.0);
75            pallo = new PhysicsObject(20.0, ympyra);
76            kentta.Objects.Add(pallo);
77            pallo.X = -200.0;
78            pallo.Y = 0.0;
79            Vector2D impulssi = new Vector2D(2000.0, 0.0);
80            pallo.Hit(impulssi);
81            kentta.CreateBorder(1.0, false);
82            pallo.Restitution = 5.0;
83            Level.BackgroundColor = Color.Aquamarine;
84            pallo.Color = Color.Blue;
85
86            IShape neliojoku = Shapes.CreateRectangle(200.0, 199.0);
87            nelio = new PhysicsObject(0.1, neliojoku);
88            kentta.Objects.Add(nelio);
89            nelio.Restitution = 1.0;
90            nelio.X = 200.0;
91            nelio.Y = 157.0;
92            Vector2D impulssi2 = new Vector2D(60.0, 4.0);
93            nelio.Hit(impulssi2);
94            nelio.Color = Color.Black;
95
96            IShape ympyra2 = Shapes.CreateCircle(80.0);
97            pallo2 = new PhysicsObject(50.0, ympyra2);
98            kentta.Objects.Add(pallo2);
99            pallo2.X = 20;
100            pallo2.Y = 10;
101
102            IShape ympyra3 = Shapes.CreateCircle(40.0);
103            pallo3 = new PhysicsObject(50.0, ympyra3);
104            kentta.Objects.Add(pallo3);
105            pallo3.X = 60;
106            pallo3.Y = 10;
107
108            IShape ympyra4 = Shapes.CreateCircle(20.0);
109            pallo4 = new PhysicsObject(50.0, ympyra4);
110            kentta.Objects.Add(pallo4);
111            pallo4.Y = 10;
112
113            AsetaOhjaimet();
114           
115
116         
117
118
119            return kentta;
120
121        }
122        void AsetaOhjaimet()
123        {
124            Controls.Listen(Keys.W, ButtonPosition.Down, LiikutaMailaaYlos, "LiikutaMailaaYlös", nelio3);
125            Controls.Listen(Keys.S, ButtonPosition.Down, LiikutaMailaaAlas, "LiikutaMailaaAlas", nelio3);
126            Controls.Listen(Keys.D, ButtonPosition.Down, LiikutaMailaaOikealle, "oikealee", nelio3);
127            Controls.Listen(Keys.A, ButtonPosition.Down, LiikutaMailaavasemmalle, "vasen", nelio3);
128
129            Controls.Listen(Keys.I, ButtonPosition.Down, LiikutaMailaaYlos, "LiikutaMailaaYlös", nelio22);
130            Controls.Listen(Keys.K, ButtonPosition.Down, LiikutaMailaaAlas, "LiikutaMailaaAlas", nelio22);
131            Controls.Listen(Keys.L, ButtonPosition.Down, LiikutaMailaaOikealle, "oikealee", nelio22);
132            Controls.Listen(Keys.J, ButtonPosition.Down, LiikutaMailaavasemmalle, "vasen", nelio22);
133           
134           
135 
136        }
137        bool LiikutaMailaaYlos(ControlEvent e)
138        {           
139       
140            PhysicsObject nelio3 = e.Parameter0.ToPhysicsObject();
141            nelio3.Y += 10.0;                 
142
143                       
144            return false;
145        }
146        bool LiikutaMailaaAlas(ControlEvent e)
147        {
148            PhysicsObject nelio3 = e.Parameter0.ToPhysicsObject();
149            nelio3.Y += -10.0;
150
151            return false;
152        }
153        bool LiikutaMailaaOikealle(ControlEvent e)
154        {
155            PhysicsObject nelio3 = e.Parameter0.ToPhysicsObject();
156            nelio3.X += 10.0;
157
158            return false;
159        }
160        bool LiikutaMailaavasemmalle(ControlEvent e)
161        {
162            PhysicsObject nelio3 = e.Parameter0.ToPhysicsObject();
163            nelio3.X += -10.0;
164
165            return false;
166        }
167    }
168}
Note: See TracBrowser for help on using the repository browser.