source: joonas_s/Tankkipeli1/Peli.cs @ 315

Revision 315, 2.8 KB checked in by josojakk, 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 Tankkipeli1
20{
21    public class Peli : PhysicsGame
22    {
23        PhysicsObject runko;
24        PhysicsObject pyora1;
25        PhysicsObject pyora2;
26        public const double MaxTorque = -200000;
27        public const double MaxTorque1 = 200000;
28        PhysicsObject kuski;
29
30        protected override void LoadContent()
31        {
32            // Luodaan tankki ja lisätään se peliin
33            runko = new PhysicsObject(20, Shapes.CreateCircle(30));
34            Level.Objects.Add(runko);
35
36            pyora1 = new PhysicsObject(5, Shapes.CreateCircle(16));
37            pyora1.AngularDamping = 0.99;
38            pyora2 = new PhysicsObject(5, Shapes.CreateCircle(16));
39            pyora2.AngularDamping = 0.99;
40            kuski = new PhysicsObject(20, Shapes.CreateCircle(25));
41
42           
43           
44            Level.Objects.Add(pyora1);
45            Level.Objects.Attach(runko, new Vector2D(-27,-14), pyora1, new Vector2D(0,0), 0.3);
46            Level.Objects.Add(pyora2);
47            Level.Objects.Attach(runko,new Vector2D(27,-22),pyora2,new Vector2D(0,0),0.3);
48            Level.Objects.Add(kuski);
49            Level.Objects.Attach(runko, new Vector2D(4,20), runko, new Vector2D(0,0), 0.1);
50
51            runko.Texture = Content.Load<Texture2D>("runko");
52           
53            pyora1.Texture = Content.Load<Texture2D>("Rengas");
54            pyora2.Texture = Content.Load<Texture2D>("rengas");
55            kuski.Texture = Content.Load<Texture2D>("kuski"); 
56           
57
58            // Luodaan maasto
59            Level.CreateGround(100, 100, 30, Color.LightGreen);
60
61            // Luodaan reunat
62            Level.CreateBorder();
63
64            // Asemoidaan tankki
65            runko.Y = Level.Bottom + 100;
66
67            // Asetetaan painovoima
68            Gravity = new Vector2D(0, -200);
69
70            // Asetetaan näppäimet
71            Controls.Listen(Keys.Left, ButtonPosition.Down, aja, "Liiku vasemmalle",MaxTorque1);
72            Controls.Listen(Keys.Right, ButtonPosition.Down, aja, "Liiku oikealle", MaxTorque);
73            }
74
75        bool aja(ControlEvent e)
76        {
77            double vaanto = e.Parameter0.ToDouble();
78            pyora1.Body.ApplyTorque(vaanto);
79            pyora2.Body.ApplyTorque(vaanto);
80           
81           
82
83           
84
85            return false;
86        }
87
88
89       
90       
91       
92    }
93}
Note: See TracBrowser for help on using the repository browser.