1 | using System; |
---|
2 | using System.Collections.Generic; |
---|
3 | using Jypeli; |
---|
4 | using Jypeli.Assets; |
---|
5 | using Jypeli.Controls; |
---|
6 | using Jypeli.Effects; |
---|
7 | using Jypeli.Widgets; |
---|
8 | |
---|
9 | public class pallopeli : PhysicsGame |
---|
10 | { |
---|
11 | PhysicsObject maila2; |
---|
12 | PhysicsObject maila; |
---|
13 | public override void Begin() |
---|
14 | { |
---|
15 | |
---|
16 | maila = new PhysicsObject(220, 30); |
---|
17 | maila.Image = LoadImage("lauta"); |
---|
18 | maila.Position = new Vector(-200, 100); |
---|
19 | Add(maila); |
---|
20 | maila.Oscillate(Vector.UnitY, 100, 0.4, Math.PI); |
---|
21 | maila.MakeStatic(); |
---|
22 | |
---|
23 | |
---|
24 | maila2 = new PhysicsObject(220, 30); |
---|
25 | maila2.Image = LoadImage("lauta"); |
---|
26 | maila2.Position = new Vector(200, 100); |
---|
27 | Add(maila2); |
---|
28 | maila2.Oscillate(Vector.UnitY, 100, 0.4); |
---|
29 | maila2.MakeStatic(); |
---|
30 | |
---|
31 | |
---|
32 | |
---|
33 | Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, "lyömailalla", 4.0); |
---|
34 | Keyboard.Listen(Key.W , ButtonState.Down, LiikutaPelaajaa2, "lyömailalla", -4.0); |
---|
35 | Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaa, "lyömailalla", -5.0); |
---|
36 | Keyboard.Listen(Key.S, ButtonState.Down, LiikutaPelaajaa2, "lyömailalla", 5.0); |
---|
37 | |
---|
38 | PhysicsObject alareuna = Level.CreateBottomBorder(0,false); |
---|
39 | alareuna.Tag = "alareuna"; |
---|
40 | |
---|
41 | PhysicsObject pallo = new PhysicsObject(50,50); |
---|
42 | pallo.Image = LoadImage("naama1"); |
---|
43 | pallo.Position = new Vector(-75, 300); |
---|
44 | Add(pallo); |
---|
45 | Vector impulssi = new Vector(10.0, 10.0); |
---|
46 | pallo.Hit(impulssi); |
---|
47 | pallo.Mass =100; |
---|
48 | AddCollisionHandler(pallo,"alareuna", PelaajaTormasi); |
---|
49 | |
---|
50 | |
---|
51 | |
---|
52 | PhysicsObject maali1 = new PhysicsObject(100, 100); |
---|
53 | maali1.Image = LoadImage("maali vasen"); |
---|
54 | maali1.Position = new Vector(-450, 200); |
---|
55 | maali1.Oscillate(Vector.UnitY, 100, 0.4); |
---|
56 | Add(maali1); |
---|
57 | maali1.CanRotate = false; |
---|
58 | maali1.IgnoresCollisionResponse=true; |
---|
59 | maali1.MakeStatic(); |
---|
60 | |
---|
61 | PhysicsObject maali2 = new PhysicsObject(90, 90); |
---|
62 | maali2.Image = LoadImage("maali oikea"); |
---|
63 | maali2.Position = new Vector(450, 200); |
---|
64 | maali2.Oscillate(Vector.UnitY, 100, 0.4, Math.PI); |
---|
65 | Add(maali2); |
---|
66 | maali2.CanRotate = false; |
---|
67 | maali2.IgnoresCollisionResponse = true; |
---|
68 | maali2.MakeStatic(); |
---|
69 | |
---|
70 | PhysicsObject palkki = new PhysicsObject(50, 200); |
---|
71 | palkki.Image = LoadImage("palkkipysty"); |
---|
72 | palkki.Position = new Vector(Level.Center.X , 100); |
---|
73 | Add(palkki); |
---|
74 | palkki.CanRotate = false; |
---|
75 | palkki.IgnoresPhysicsLogics = true; |
---|
76 | palkki.MakeStatic(); |
---|
77 | |
---|
78 | |
---|
79 | |
---|
80 | |
---|
81 | |
---|
82 | // TODO: Kirjoita ohjelmakoodisi tähän |
---|
83 | Level.CreateBorders(); |
---|
84 | |
---|
85 | Camera.ZoomToLevel(); |
---|
86 | |
---|
87 | |
---|
88 | Gravity = new Vector(0.0, -800.0); |
---|
89 | |
---|
90 | |
---|
91 | |
---|
92 | PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); |
---|
93 | Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); |
---|
94 | } |
---|
95 | |
---|
96 | void LiikutaPelaajaa(double voima) |
---|
97 | { |
---|
98 | maila2.AngularAcceleration +=(voima); |
---|
99 | |
---|
100 | } |
---|
101 | void LiikutaPelaajaa2(double voima) |
---|
102 | { |
---|
103 | maila.AngularAcceleration += (voima); |
---|
104 | |
---|
105 | } |
---|
106 | void PelaajaTormasi(PhysicsObject tormaaja, PhysicsObject kohde) |
---|
107 | { |
---|
108 | tormaaja.Position = new Vector(Level.Center.X, Level.Top+10); |
---|
109 | } |
---|
110 | |
---|
111 | |
---|
112 | |
---|
113 | |
---|
114 | |
---|
115 | } |
---|