source: 2011/24/VilmaK/Pong/Pong/Pong/Peli.cs @ 1966

Revision 1966, 3.0 KB checked in by anlakane, 10 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 Peli : PhysicsGame
10
11{
12    Vector nopeusYlos = new Vector(0, 200);
13    Vector nopeusAlas = new Vector ( 0, -200);
14
15    PhysicsObject pallo;
16    PhysicsObject maila1;
17    PhysicsObject maila2;
18
19    public override void Begin()
20    {
21        LuoKentta();
22        AsetaOhjaimet();
23       
24
25        AloitaPeli();
26        MessageDisplay.TextColor = Color.White;
27        // TODO: Kirjoita ohjelmakoodisi tähän
28
29
30
31
32
33
34
35
36
37
38
39
40
41    }
42   
43    void LuoKentta()
44    {
45
46        pallo = new PhysicsObject(40, 40);
47        pallo.Shape = Shape.Circle;
48        Add(pallo);
49        pallo.X = -200.0;
50        pallo.Y = 0.0;
51        new Vector(10, 20);
52        maila1 = LuoMaila(Level.Left + 20.0, 0.0);
53        maila2 = LuoMaila(Level.Right - 20.0, 0.0);
54
55
56
57        Level.CreateBorders(1.0, false);
58        pallo.Restitution = 1.0;
59        Level.BackgroundColor = Color.Black;
60        Camera.ZoomToLevel();
61       
62
63    }
64
65
66    void AloitaPeli()
67    {
68        Vector impulssi = new Vector(500.0, 80.0);
69        pallo.Hit(impulssi);
70
71
72
73
74    }
75    PhysicsObject LuoMaila(double x, double y)
76    {
77        PhysicsObject maila = PhysicsObject.CreateStaticObject(20, 100);
78        maila.Shape = Shape.Rectangle;
79        maila.X = x;
80        maila.Y = y;
81        maila.Restitution = 1.0;
82        Add(maila);
83        return maila;
84    }
85    void AsetaOhjaimet()
86    {
87        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos);
88        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero);
89        Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas);
90        Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero);
91
92        Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos);
93        Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero);
94        Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas);
95        Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero);
96
97        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
98
99        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "poistu");
100    }
101    void AsetaNopeus (PhysicsObject maila, Vector nopeus)
102    {
103        if (nopeus.Y < 0 && maila.Bottom < Level.Bottom)
104        {
105            maila.Velocity = Vector.Zero;
106            return;
107        }
108        if (nopeus.Y > 0 && maila.Top > Level.Top )
109        {
110            maila.Velocity = Vector.Zero;
111            return;
112        }
113        maila.Velocity = nopeus;
114
115    }
116
117
118
119
120
121}
Note: See TracBrowser for help on using the repository browser.