source: 2012/JAO/John/rally/rally/rally/rally.cs @ 2737

Revision 2737, 2.1 KB checked in by anonymous, 9 years ago (diff)
Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class rally : TopDownPhysicsGame
10{
11    Image olionKuva = LoadImage("auto");
12
13    Automobile rally3d;
14    public override void Begin()
15    {
16        // TODO: Kirjoita ohjelmakoodisi tähän
17        Gravity = 50.0;
18       
19        rally3d= new Automobile(100, 100);
20        //rally3d.
21        Add(rally3d);
22        rally3d.Acceleration = 500.0;
23        rally3d.Image = Image.Mirror( olionKuva);
24        rally3d.MomentOfInertia = 1.0;
25        rally3d.Restitution = 0.1;
26        rally3d.AngularDamping = 0.9;
27     
28
29        asetaohjain();
30        Luorata();
31        Level.CreateBorders();
32     
33
34        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
35        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
36    }
37    void asetaohjain()
38    {
39
40        Keyboard.Listen(Key.Up, ButtonState.Down,
41            kiihdyttaa, null, 100000000.0);
42        Keyboard.Listen(Key.Down, ButtonState.Down,
43            jarruta, null, 1.0);
44        Keyboard.Listen(Key.Left, ButtonState.Down,
45            kaanny, null, 10.0);
46        Keyboard.Listen(Key.Right, ButtonState.Down,
47            kaanny, null, -10.0);
48    }
49
50    void kaanny(double suunta)
51    {
52        rally3d.Turn(Angle.FromDegrees(suunta), 0.1);
53//        rally3d.Angle += Angle.FromDegrees(suunta);
54    }
55
56    void kiihdyttaa(double nopeus)
57    {
58        rally3d.Accelerate();
59    }
60
61    void jarruta(double nopeus)
62    {
63        rally3d.Brake();
64    }
65    void Luorata()
66    {
67        Vector[] reittiPisteet = new Vector[]
68{
69    new Vector( Level.Left, Level.Top ),
70    new Vector( Level.Left, Level.Bottom ),
71    new Vector( Level.Right, Level.Bottom ),
72    new Vector( Level.Right, Level.Top ),
73    new Vector( Level.Left-75, Level.Top ),
74 
75    // ...
76};
77
78        RoadMap tie = new RoadMap(reittiPisteet);
79        tie.DefaultWidth = 150.0;
80        tie.DefaultFriction = 1.0;
81        tie.Insert();
82    }
83}
Note: See TracBrowser for help on using the repository browser.