source: 2015/24/MikeJ/PongV4/PongV4/PongV4/PongV4.cs @ 5947

Revision 5947, 4.5 KB checked in by mijarvin, 4 years ago (diff)

stuffs

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class PongV4 : PhysicsGame
10{
11
12    Vector nopeusYlos = new Vector(0, 500);
13    Vector nopeusAlas = new Vector(0, -500);
14
15    PhysicsObject pallo;
16
17    PhysicsObject maila1;
18    PhysicsObject maila2;
19
20    IntMeter Pelaaja1Pisteet;
21    IntMeter Pelaaja2Pisteet;
22
23    public override void Begin()
24    {
25        // TODO: Kirjoita ohjelmakoodisi tähän
26        Luokentta();
27        aloitapeli();
28        AsetaOhjaimet();
29        LisaaLaskuri();
30
31
32        IsFullScreen = true;
33        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
34       
35    }
36
37    void Luokentta()
38    {
39        pallo = new PhysicsObject(40.0, 40.0);
40        Add(pallo);
41        pallo.Shape = Shape.Circle;
42        pallo.X = 150.0;
43        pallo.Y = -150.0;
44        pallo.Restitution = 1.3;
45
46        PhysicsObject vasenreuna = Level,CreateLeftBorder();
47        vasenreuna.Restitution = 1.0;
48        vasenreuna.IsVisible = false;
49
50        PhysicsObject oikeareuna = Level,CreateRightBorder();
51        oikeareuna.Restitution = 1.0;
52        oikeareuna.IsVisible = false;
53
54        PhysicsObject alareuna = Level,CreateBottomBorder();
55        alareuna.Restitution = 1.0;
56        alareuna.IsVisible = false;
57
58         PhysicsObject yläreuna = Level,CreateTopBorder();
59        yläreuna.Restitution = 1.0;
60        yläreuna.IsVisible = false;
61
62        Level.Background.Color = Color.Red;
63        Camera.ZoomToLevel();
64
65        maila1 = LuoMaila(Level.Left + 20.0, 0.0);
66        maila2 = LuoMaila(Level.Right - 20.0, 0.0);
67
68        AddCollisionHandler(pallo, KasitelePallonTormays);
69
70       
71
72
73    }
74
75    void aloitapeli()
76    {
77        Vector impulssi = new Vector(500.0, 0.0);
78        pallo.Hit(impulssi);
79    }
80
81       PhysicsObject LuoMaila(double x, double y)
82    {
83        PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 300.0);
84        maila.Shape = Shape.Rectangle;
85        maila.X = x;
86        maila.Y = y;
87        maila.Restitution = 1.0;
88        maila.Color = Color.Black;
89        Add(maila);
90        return maila;
91
92
93    }
94
95    void AsetaOhjaimet()
96    {
97        Keyboard.Listen(Key.Escape,   ButtonState.Pressed, ConfirmExit, "Lopeta peli");
98
99        Keyboard.Listen(Key.W,        ButtonState.Pressed, AsetaNopeus, "Pelaaja1 : Liikuta Mailaa Ylos", maila1, nopeusYlos);
100        Keyboard.Listen(Key.W,        ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero);
101
102        Keyboard.Listen(Key.S,        ButtonState.Pressed, AsetaNopeus, "Pelaaja1 : Liikuta Mailaa Alas", maila1, nopeusAlas);
103        Keyboard.Listen(Key.S,        ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero);
104
105        Keyboard.Listen(Key.NumPad8,  ButtonState.Pressed, AsetaNopeus, "pelaaja2 : Liikuta Mailaa Ylos", maila2, nopeusYlos);
106        Keyboard.Listen(Key.NumPad8,  ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero);
107
108        Keyboard.Listen(Key.NumPad2,  ButtonState.Pressed, AsetaNopeus, "pelaaja2 : Liikuta Mailaa Alas", maila2, nopeusAlas);
109        Keyboard.Listen(Key.NumPad2,  ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero);
110
111        Keyboard.Listen(Key.F1,       ButtonState.Pressed, ShowControlHelp, "Näytä Ohjeet");
112    }
113
114    void AsetaNopeus(PhysicsObject maila, Vector nopeus)
115    {
116        if ((nopeus.Y > 0) && (maila.Top > Level.Top))
117        {
118            maila.Velocity = Vector.Zero;
119            return;
120        }
121
122        if ((nopeus.Y > 0) && (maila.Bottom > Level.Bottom))
123        {
124            maila.Velocity = Vector.Zero;
125        }
126        maila.Velocity = nopeus;
127    }
128
129    void LisaaLaskuri()
130    {
131        Pelaaja1Pisteet = Luopistelaskuri(Screen.Left + 100, Screen.Top - 100.0);
132        Pelaaja2Pisteet = Luopistelaskuri(Screen.Right - 100.0, Screen.Top - 100.0);
133    }
134
135    IntMeter Luopistelaskuri(Double x, Double y)
136    {
137        IntMeter Laskuri = new IntMeter(0);
138        Laskuri.MaxValue = 9;
139       
140        Label naytto = new Label();
141        naytto.BindTo(Laskuri);
142        naytto.X = x;
143        naytto.Y = y;
144        naytto.TextColor = Color.Purple;
145        naytto.BorderColor = Color.DarkYellow;
146        naytto.Color = Level.Background.Color;
147        Add(naytto);
148
149        return Laskuri;
150
151
152    }
153
154    void KasitelePallonTormays(PhysicsObject pallo, PhysicsObject kohde);
155{
156    if (kohde ==  oikeareuna)
157{
158
159}
160}
161}
Note: See TracBrowser for help on using the repository browser.