source: 2009/otto_t/Tankkipeli1/Peli.cs @ 2757

Revision 270, 2.6 KB checked in by otantakk, 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 Tankkipeli1
20{
21    public class Peli : PhysicsGame
22    {
23        Tank tankki;
24
25        protected override void LoadContent()
26        {
27            // Luodaan tankki ja lisätään se peliin
28            tankki = new Tank(this, "tankki");
29            Level.Objects.Add(tankki);
30
31            // Luodaan maasto
32            Level.CreateGround(10, 50, 20, Color.LightGreen);
33
34            CannonBall kuula1;
35            kuula1 = new CannonBall(20, 1);
36            Level.Objects.Add(kuula1);
37
38            kuula1.X = 200;
39            kuula1.Y = 100;
40
41            CannonBall kuula2;
42            kuula2 = new CannonBall(40, 20);
43            Level.Objects.Add(kuula2);
44
45            kuula2.X = 0;
46            kuula2.Y = 100;
47
48            hit.kuula2(123, 23);
49
50            // Luodaan reunat
51            Level.CreateBorder();
52
53            // Asemoidaan tankki
54            tankki.Y = Level.Bottom + 100;
55
56            // Asetetaan painovoima
57            Gravity = new Vector2D(0, -200);
58
59            // Asetetaan näppäimet
60            Controls.Listen(Keys.Left, ButtonPosition.Down, aja, "Liiku vasemmalle", tankki, Tank.MaxTorque / 2);
61            Controls.Listen(Keys.Right, ButtonPosition.Down, aja, "Liiku oikealle", tankki, -Tank.MaxTorque / 2);
62            Controls.Listen(Keys.Up, ButtonPosition.Down, kaannaPutkea, "Käännä putkea vastapäivään", tankki, Angle.Degrees(1));
63            Controls.Listen(Keys.Down, ButtonPosition.Down, kaannaPutkea, "Käännä putkea myötäpäivään", tankki, Angle.Degrees(-1));
64        }
65
66        bool aja(ControlEvent e)
67        {
68            Tank t = e.Parameter0 as Tank;
69            double vaanto = e.Parameter1.ToDouble();
70
71            // Kiihdytetään tankin vauhtia
72            t.Accelerate(vaanto);
73
74            return false;
75        }
76
77        bool kaannaPutkea(ControlEvent e)
78        {
79            Tank t = e.Parameter0 as Tank;
80            Angle kaanto = e.Parameter1.ToAngle();
81
82            // Tässä käännetään tankin piippua
83            t.TurnCannon(kaanto);
84
85            return false;
86        }
87
88
89
90    }
91}
Note: See TracBrowser for help on using the repository browser.