source: 2010/23/lavevake/Pong/Peli.cs @ 521

Revision 521, 2.0 KB checked in by lavevake, 10 years ago (diff)

Aloitin Pongin tekemisen. Pääsin säätelemään mailojen liikettä yrityksen ja erehdyksen kautta.

Line 
1using System;
2using Jypeli;
3using Jypeli.ScreenObjects;
4using Jypeli.Assets;
5
6namespace Pong
7{
8    public class Peli : PhysicsGame
9    {
10        PhysicsObject pallo;
11        PhysicsObject maila1;
12        PhysicsObject maila2;
13
14        protected override void Begin()
15        {
16            LuoKentta();
17            AsetaOhjaimet();
18            Aloitapeli();
19        }
20        void LuoKentta()
21        {
22            pallo = new PhysicsObject(50.50, 50.50);
23            Add(pallo);
24            pallo.Shape = Shapes.Circle;
25            pallo.X = -200.0;
26            pallo.Y = 0.0;
27            pallo.Restitution = 1.0;
28            Add(pallo);
29
30            Level.CreateBorders(1.0, false);
31            Level.BackgroundColor = Color.Black;
32
33            Camera.ZoomToLevel();
34
35            maila1 = Luomaila(Level.Left + 20.0, 0.0);
36            maila2 = Luomaila(Level.Right - 20.0, 0.0);
37        }
38
39        void Aloitapeli()
40        {
41            Vector impulssi = new Vector(500.0, 0.0);
42            pallo.Hit(impulssi);
43        }
44
45        PhysicsObject Luomaila(double x, double y)
46        {
47            PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0);
48            maila.X = x;
49            maila.Y = y;
50            maila.Restitution = 1.0;
51            Add(maila);
52            return maila;
53        }
54        void AsetaOhjaimet()
55        {
56            LuoKentta();
57            AsetaOhjaimet();
58            Aloitapeli();
59            Keyboard.Listen(Key.A, ButtonState.Pressed, LiikutaMailaaYlos, "Pelaaja 1: Liikuta mailaa ylös", maila1);
60            Keyboard.Listen(Key.A, ButtonState.Released, PysaytaMaila, null, maila1);
61
62            Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu");
63
64        }
65        void LiikutaMailaaYlos(PhysicsObject maila)
66        {
67            Vector nopeus = new Vector(0, 200);
68            maila.Velocity = nopeus;
69        }
70        void PysaytaMaila(PhysicsObject maila)
71        {
72            maila.Velocity = Vector.Zero;
73        }
74
75    }
76}
77
Note: See TracBrowser for help on using the repository browser.