source: 2017/31/HenriJ/FysiikkaPeli2/FysiikkaPeli2/FysiikkaPeli2/FysiikkaPeli2.cs @ 9475

Revision 9475, 3.9 KB checked in by rikavila, 2 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 FysiikkaPeli2 : PhysicsGame
10{
11    IntMeter pisteLaskuri;
12    PhysicsObject pallo1;
13    PhysicsObject pallo2;
14    PhysicsObject pallo3;
15    PhysicsObject pallo4;
16
17    IntMeter elamat1 = new IntMeter(10);
18    IntMeter elamat2 = new IntMeter(10);
19
20    public override void Begin()
21    {
22        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
23
24        pallo1 = new PhysicsObject(100, 100);
25        pallo1.Color = Color.Blue;
26        pallo1.LinearDamping = 0.95;
27        //pallo1.AngularDamping = 0.50;
28        pallo1.Shape = Shape.Circle;
29
30        Add(pallo1);
31
32        Keyboard.Listen(Key.Left, ButtonState.Down,
33          LiikutaPelaajaa, null, new Vector(-2000, 0));
34        Keyboard.Listen(Key.Right, ButtonState.Down,
35          LiikutaPelaajaa, null, new Vector(2000, 0));
36        Keyboard.Listen(Key.Up, ButtonState.Down,
37          LiikutaPelaajaa, null, new Vector(0, 2000));
38        Keyboard.Listen(Key.Down, ButtonState.Down,
39          LiikutaPelaajaa, null, new Vector(0, -2000));
40
41        pallo2 = new PhysicsObject(100, 10);
42        pallo2.X = 150;
43        pallo2.Color = Color.Blue;
44        Add(pallo2);
45
46        AxleJoint liitos = new AxleJoint(pallo2, pallo1);
47        Add(liitos);
48
49       
50
51        Keyboard.Listen(Key.A, ButtonState.Down,
52          LiikutaPelaajaa2, null, new Vector(-2000, 0));
53        Keyboard.Listen(Key.D, ButtonState.Down,
54          LiikutaPelaajaa2, null, new Vector(2000, 0));
55        Keyboard.Listen(Key.W, ButtonState.Down,
56          LiikutaPelaajaa2, null, new Vector(0, 2000));
57        Keyboard.Listen(Key.S, ButtonState.Down,
58          LiikutaPelaajaa2, null, new Vector(0, -2000));
59
60       
61
62        pallo3 = new PhysicsObject(100, 100);
63        pallo3.Color = Color.Red;
64        pallo3.Shape = Shape.Circle;
65        pallo3.LinearDamping = 0.95;
66        Add(pallo3);
67        pallo3.Y = 200;
68
69        pallo4 = new PhysicsObject(100, 10);
70        Add(pallo4);
71        pallo4.Color = Color.Red;
72        pallo4.X = 150;
73        pallo4.Y = 200;
74
75        AxleJoint liitos2 = new AxleJoint(pallo4, pallo3);
76        Add(liitos2);
77
78        AddCollisionHandler(pallo1, pallo4, PelaajatTormaavat1);
79        AddCollisionHandler(pallo3, pallo2, PelaajatTormaavat2);
80
81        if (elamat1 <= 1) Tuhoa1();
82        if (elamat2 <= 1) Tuhoa2();
83
84        Level.CreateBorders();
85        LuoPistelaskuri();
86        LuoPistelaskuri2();
87
88        Level.Background.Color = Color.Black;
89
90    }
91
92    void Tuhoa1()
93    {
94        pallo1.Destroy();
95    }
96
97    void Tuhoa2()
98    {
99        pallo1.Destroy();
100    }
101    void PelaajatTormaavat1(PhysicsObject tormaaja, PhysicsObject kohde)
102    {
103        elamat1.AddValue(-1);
104    }
105
106    void PelaajatTormaavat2(PhysicsObject tormaaja, PhysicsObject kohde)
107    {
108        elamat2.AddValue(-1);
109    }
110
111    void LuoPistelaskuri()
112    {
113        pisteLaskuri = new IntMeter(0);
114
115        Label pisteNaytto = new Label();
116        pisteNaytto.X = Screen.Left + 100;
117        pisteNaytto.Y = Screen.Top - 100;
118        pisteNaytto.TextColor = Color.Black;
119        pisteNaytto.Color = Color.LightBlue;
120
121        pisteNaytto.BindTo(elamat1);
122        Add(pisteNaytto);
123    }
124
125    void LuoPistelaskuri2()
126    {
127        pisteLaskuri = new IntMeter(0);
128
129        Label pisteNaytto = new Label();
130        pisteNaytto.X = Screen.Right - 100;
131        pisteNaytto.Y = Screen.Top - 100;
132        pisteNaytto.TextColor = Color.Black;
133        pisteNaytto.Color = Color.Red;
134
135        pisteNaytto.BindTo(elamat2);
136        Add(pisteNaytto);
137    }
138    void LiikutaPelaajaa(Vector vektori)
139    {
140        pallo1.Push(vektori);
141
142    }
143
144    void LiikutaPelaajaa2(Vector vektori)
145    {
146        pallo3.Push(vektori);
147
148    }
149}
Note: See TracBrowser for help on using the repository browser.