source: 2009/nuutti_m/FysiikkaPeli1/Peli.cs @ 2256

Revision 266, 2.3 KB checked in by nuvamikk, 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 FysiikkaPeli1
20{
21    public class Peli : PhysicsGame
22    {
23        PhysicsObject pallo;
24        PhysicsObject maila1;
25        PhysicsObject maila2;
26
27
28        protected override void LoadContent()
29        {
30            Level = LuoKentta();
31            AloitaPeli();
32
33            { Level LuoKentta();
34                AsetaOhjaimet();
35                AloitaPeli();
36            }
37        }
38        void AsetaOhjaimet
39        {
40            void AsetaOhjaimet()
41        {
42            Controls.Listen( Keys.A, ButtonPosition.Pressed, LiikutaMailaaYlos, maila1 );
43            Controls.Listen( Keys.A, ButtonPosition.Released, PysaytaMaila, null, maila1 );
44        }
45
46        }
47        void AloitaPeli()
48        {
49            Vector2D impulssi = new Vector2D();
50            pallo.Hit(impulssi);
51        }
52
53        PhysicsObject LuoMaila(double x, double y, Level kentta)
54        {
55            IShape suorakulmio = Shapes.CreateRectangle(20.0, 100.0);
56            PhysicsObject maila = PhysicsObject.CreateStaticObject(suorakulmio);
57            maila.X = x;
58            maila.Y = y;
59            maila.Restitution = 1.0;
60            kentta.Objects.Add(maila);
61            return maila;
62        }
63
64
65
66        Level LuoKentta()
67        {
68            Level kentta = new Level(this);
69            kentta.BackgroundColor = Color.Black;
70
71            IShape ympyra = Shapes.CreateCircle(20.0);
72            pallo = new PhysicsObject(10.0, ympyra);
73            pallo.X = -200.0;
74            pallo.Y = 0.0;
75            pallo.Restitution = 1.0;
76            kentta.Objects.Add(pallo);
77
78            LuoMaila(kentta.Left + 20.0, 0.0, kentta);
79            LuoMaila(kentta.Right - 20.0, 0.0, kentta);
80
81            kentta.CreateBorder(10.0, false);
82
83            return kentta;
84        }
85    }
86}
Note: See TracBrowser for help on using the repository browser.