source: 2014/27/SiiriK/Pong2/Pong2/Pong2/Pong2.cs @ 5188

Revision 5188, 4.0 KB checked in by sisukuop, 6 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 Pong2 : PhysicsGame
10{
11    Vector up=new Vector(0.0,1000.0);
12    Vector down=new Vector(0.0,-1000.0);
13    Vector left=new Vector(-1000.0,0.0);
14    Vector right=new Vector(1000.0,0.0);
15    PhysicsObject Pallo;
16    PhysicsObject m1;
17    PhysicsObject m2;
18    IntMeter 1pisteet;
19    IntMeter 2pisteet;
20
21    public override void Begin() 
22    {
23        LuoKentta();
24        pisteet();
25        asetaohjaimet();
26       
27       
28           
29    }
30    void LuoKentta()
31    {
32        Pallo= new PhysicsObject(30.0, 30.0);
33        Add(Pallo);
34        Pallo.Shape = Shape.Circle;
35        Pallo.Color = Color.White;
36        Pallo.X =Level.Left+200.0;
37        Pallo.Restitution = 1.0;
38        m1 =luomaila(Level.Left + 20.0);
39        m2 =luomaila(Level.Right - 20.0);
40        Level.CreateBorders(2.0, true);
41        Level.BackgroundColor = Color.Black;
42       
43        Camera.ZoomToLevel();
44       
45        Level.CreateBorders(1.0, true);
46        Level.BackgroundColor = Color.Black;
47        Camera.ZoomToLevel();
48    }
49
50     
51    PhysicsObject luomaila(double x)
52    {
53        PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0);
54        maila.Shape = Shape.Rectangle;
55        maila.X = x;
56        maila.Restitution = 0.6;
57        Add(maila);
58        return maila;
59    }
60    void asetaohjaimet()
61    { 
62    Keyboard.Listen(Key.W, ButtonState.Down,liiku,"",m1,up);
63      Keyboard.Listen(Key.W, ButtonState.Released,liiku,"",m1,Vector.Zero );
64      Keyboard.Listen(Key.S, ButtonState.Released, liiku, "", m1, Vector.Zero);
65      Keyboard.Listen(Key.S, ButtonState.Down, liiku, "", m1, down);
66      Keyboard.Listen(Key.D, ButtonState.Down, liiku, "", m1, right);
67      Keyboard.Listen(Key.D, ButtonState.Released, liiku, "", m1, Vector.Zero);
68      Keyboard.Listen(Key.A, ButtonState.Down, liiku, "", m1, left);
69      Keyboard.Listen(Key.A, ButtonState.Released, liiku, "", m1, Vector.Zero);
70      Keyboard.Listen(Key.Up, ButtonState.Down, liiku, "", m2, up);
71      Keyboard.Listen(Key.Up, ButtonState.Released, liiku, "", m2, Vector.Zero);
72      Keyboard.Listen(Key.Down, ButtonState.Released, liiku, "", m2, Vector.Zero);
73      Keyboard.Listen(Key.Down, ButtonState.Down, liiku, "", m2, down);
74      Keyboard.Listen(Key.Right, ButtonState.Down, liiku, "", m2, right);
75      Keyboard.Listen(Key.Right, ButtonState.Released, liiku, "", m2, Vector.Zero);
76      Keyboard.Listen(Key.Left, ButtonState.Down, liiku, "", m2, left);
77      Keyboard.Listen(Key.Left, ButtonState.Released, liiku, "", m2, Vector.Zero);
78
79      Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
80    }
81
82    void liiku(PhysicsObject m, Vector nopeus)
83    {
84        if((nopeus.Y>0) && (m.Top>Level.Top))
85        {
86            m.Velocity=Vector.Zero;
87            return;
88        }
89        if ((nopeus.Y < 0) && (m.Bottom < Level.Bottom))
90        {
91            m.Velocity = Vector.Zero;
92            return;
93        }
94        if ((nopeus.X > 0) && (m.Right > Level.Right))
95        {
96            m.Velocity = Vector.Zero;
97            return;
98        }
99        if ((nopeus.X < 0) && (m.Left < Level.Left))
100        {
101            m.Velocity = Vector.Zero;
102            return;
103        }
104            m.Velocity = nopeus;
105    }
106
107    void pisteet()
108    { 
109   
110    }
111    IntMeter laskuri(double x,double y)
112    {
113        IntMeter laskuri = new IntMeter(0);
114        laskuri.MaxValue = 10;
115        Label naytto = new Label();
116        naytto.BindTo(laskuri);
117        naytto.X = x;
118        naytto.Y = y;
119        naytto.TextColor = Color.White;
120        naytto.BorderColor = Level.Background.Color;
121        naytto.Color = Level.Background.Color;
122        Add(naytto);
123        return laskuri;
124         1pisteet = laskuri(Screen.Left + 100.0, Screen.Top - 100.0);
125         2pisteet = laskuri(Screen.Right - 100.0, Screen.Top - 100.0);
126    }
127
128}
Note: See TracBrowser for help on using the repository browser.