source: 2015/24/TaneliL/FysiikkaPeli1/FysiikkaPeli1/FysiikkaPeli1/FysiikkaPeli1.cs @ 10335

Revision 5915, 2.7 KB checked in by taliimat, 5 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 FysiikkaPeli1 : PhysicsGame
10{
11    Vector nopeusYlös = new Vector(0, 1200);
12    Vector nopeusAlas = new Vector (0, -1200);
13    PhysicsObject maila1;
14    PhysicsObject maila2;
15
16    PhysicsObject pallo;
17    public override void Begin()
18    {
19       
20        // TODO: Kirjoita ohjelmakoodisi tähän
21
22        LuodaKenttä();
23        Aloitapeli();
24        AsetaOhjaimet();
25    }
26
27        void AsetaOhjaimet()
28        {
29            Keyboard.Listen(Key.A, ButtonState.Down,     AsetaNopeus, "Pelaaja 1: liikuttaa mailaa ylös", maila1, nopeusYlös);
30            Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus,  null, maila1, Vector.Zero);
31            Keyboard.Listen(Key.Z, ButtonState.Down,     AsetaNopeus, "Pelaaja 1: liikuttaa mailaa ylös", maila1, nopeusAlas);
32            Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus,  null, maila1, Vector.Zero);
33
34            Keyboard.Listen(Key.Up,     ButtonState.Down,       AsetaNopeus, "Pelaaja 2: liikuttaa mailaa ylös", maila2, nopeusYlös);
35            Keyboard.Listen(Key.Up,     ButtonState.Released,   AsetaNopeus,  null, maila2, Vector.Zero);
36            Keyboard.Listen(Key.Down,   ButtonState.Down,       AsetaNopeus, "Pelaaja 2: liikuttaa mailaa Alas", maila2, nopeusAlas);
37            Keyboard.Listen(Key.Down,   ButtonState.Released,   AsetaNopeus,  null, maila2, Vector.Zero);
38
39        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
40        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
41    }
42
43    void AsetaNopeus(PhysicsObject maila, Vector nopeus)
44    {
45        maila.Velocity = nopeus;
46    }
47
48    void LuodaKenttä()
49    {
50
51        pallo = new PhysicsObject(40.0, 40.0);
52        Add(pallo);
53        pallo.Shape = Shape.Circle;
54        pallo.X = -200;
55        pallo.Y = 0;
56        pallo.Restitution = 1.0;
57
58        maila1 = LuoMaila(Level.Left + 20.0, 0.0);
59        maila2 = LuoMaila(Level.Right - 20.0, 0.0);
60
61
62        Level.Size = Screen.Size;
63        Level.CreateBorders(1.0, false);
64        Level.Background.Color = Color.Emerald;
65        Camera.ZoomToLevel();
66    }
67    void Aloitapeli()
68    {
69
70        Vector impulssi = new Vector(600, 0);
71        pallo.Hit(impulssi);
72    }
73    PhysicsObject LuoMaila(double x, double y)
74    {
75        PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0);
76        maila.Shape = Shape.Ellipse;
77        maila.X = x;
78        maila.Y = y;
79        maila.Restitution = 1.0;
80        Add(maila);
81        return maila;
82    }
83}
84
85
86
87
Note: See TracBrowser for help on using the repository browser.