source: 2010/27/juoshako/Br3ak 1t/Peli.cs @ 1175

Revision 1175, 3.0 KB checked in by juoshako, 10 years ago (diff)

Br3ak 1t kehitysvaihe 2

Line 
1using System;
2using Jypeli;
3using Jypeli.Widgets;
4using Jypeli.Assets;
5
6public class Peli : PhysicsGame
7{
8    const int ruudunLeveys = 50;
9    const int ruudunKorkeus = 50;
10
11    Vector nopeusVasemmalle = new Vector (-200.0, 0);
12    Vector nopeusOikealle = new Vector(200.0, 0);
13
14    PhysicsObject maila;
15   
16    protected override void Begin()
17    {
18        //TODO: Alusta peli tässä
19        LuoKentta();
20    }
21    void LuoKentta()
22    {
23        maila = PhysicsObject.CreateStaticObject (300, 30);
24        //maila.Shape = Shapes.Circle;
25        maila.X = 0;
26        maila.Y = Level.Bottom-320;
27        maila.CanRotate = false;
28        maila.KineticFriction = 1;
29        maila.Color = Color.Blue;
30        Add(maila);
31
32        TileMap ruudut = TileMap.FromFile ("Kentta.txt");
33        ruudut['='] = LuoPalikka;
34        ruudut['*'] = LuoTahti;
35        ruudut.Insert (ruudunLeveys, ruudunKorkeus);
36        Camera.ZoomToLevel();
37
38        PhysicsObject pallo = new PhysicsObject(40, 40);
39        pallo.Shape = Shapes.Circle;
40        pallo.X = 0;
41        pallo.Y = Level.Bottom+110;
42        pallo.Color = Color.Aqua;
43        Add (pallo);
44
45        AddCollisionHandler(pallo, KasittelePallonTormays);
46        AsetaOhjaimet();
47
48        Vector impulssi = new Vector(0.0, 1500.0);
49        pallo.Hit(impulssi);
50    }
51    PhysicsObject LuoPalikka()
52    {
53        PhysicsObject palikka = PhysicsObject.CreateStaticObject (50.0, 50.0);
54        palikka.Shape = Shapes.Rectangle;
55        palikka.Color = Color.Black;
56        palikka.Restitution = 1.0;
57        palikka.Tag = "palikka";
58        return palikka;
59    }
60    PhysicsObject LuoTahti()
61    {
62        PhysicsObject tahti = PhysicsObject.CreateStaticObject(45.0, 45.0);
63        return tahti;
64    }
65    void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde)
66    {
67        if (kohde.Tag.ToString() == "palikka")
68        {
69            pallo.Color = Color.Red;
70        }
71    }
72    void AsetaOhjaimet()
73    {
74        Keyboard.Listen (Key.Left, ButtonState.Down, AsetaNopeus, "Liikuta mailaa vasemmalle", maila, nopeusVasemmalle);
75        Keyboard.Listen(Key.Left, ButtonState.Released, AsetaNopeus, null, maila, Vector.Zero); 
76        Keyboard.Listen (Key.Right, ButtonState.Down, AsetaNopeus, "Liikuta mailaa oikealle", maila, nopeusOikealle);
77        Keyboard.Listen(Key.Right, ButtonState.Released, AsetaNopeus, null, maila, Vector.Zero);
78
79        Keyboard.Listen (Key.Escape, ButtonState.Pressed, Exit, "Poistu");
80        Keyboard.Listen (Key.F1, ButtonState.Down, ShowControlHelp, "Näytä ohjeet");
81    }
82    void AsetaNopeus(PhysicsObject maila, Vector nopeus)
83    {
84       
85        if (( nopeus.X < 0 ) && ( maila.X < Level.Left))
86        {
87            maila.Velocity = Vector.Zero;
88            return;
89        }
90            if (( nopeus.X > 0 ) && (maila.X > Level.Right))
91            {
92                maila.Velocity = Vector.Zero;
93                return;
94            }
95            maila.Velocity = nopeus;
96       
97    }
98
99}
Note: See TracBrowser for help on using the repository browser.