- Timestamp:
- 2012-07-27 09:43:14 (11 years ago)
- Location:
- 2012/30/MarkusV
- Files:
-
- 35 added
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
2012/30/MarkusV/PoNG/PoNG/PoNG/PoNG.cs
r3705 r3784 9 9 public class PoNG : PhysicsGame 10 10 { 11 Vector nopeusylos = new Vector(0, 200);11 Vector nopeusylos = new Vector(0, 200); 12 12 Vector nopeusalas = new Vector(0, -200); 13 13 PhysicsObject pallo; 14 14 PhysicsObject maila1; 15 15 PhysicsObject maila2; 16 PhysicsObject vasenreuna; 17 PhysicsObject oikeareuna; 18 IntMeter pelaajan1pisteet; 19 IntMeter pelaajan2pisteet; 20 16 21 public override void Begin() 17 22 { 18 23 Luokentta(); 19 24 aloitapeli(); 25 asetenappaimet(); 26 lisaaLaskurit(); 20 27 21 28 Vector impulssi = new Vector(1000, 0); … … 31 38 pallo.Shape = Shape.Circle; 32 39 pallo.Color = Color.Orange; 33 pallo.X = 100;34 pallo.Y = 170;40 pallo.X = 000; 41 pallo.Y = 000; 35 42 maila1 = luomaila(Level.Left + 20.0, 0.0); 36 43 maila2 = luomaila(Level.Right - 20.0, 0.0); 37 Level.CreateBorders(1.0, false); 38 pallo.Restitution = 200.0; 44 pallo.Restitution = 20.0; 39 45 Level.BackgroundColor = Color.DarkJungleGreen; 46 vasenreuna = Level.CreateLeftBorder(); 47 vasenreuna.Restitution = 1.0; 48 vasenreuna.IsVisible = false; 49 oikeareuna = Level.CreateRightBorder(); 50 oikeareuna.Restitution = 10.0; 51 oikeareuna.IsVisible = false; 52 PhysicsObject alareuna = Level.CreateBottomBorder(); 53 alareuna.Restitution = 1.0; 54 alareuna.IsVisible = false; 55 alareuna.KineticFriction = 0.0; 56 PhysicsObject ylareuna = Level.CreateTopBorder(); 57 ylareuna.Restitution = 1.0; 58 ylareuna.IsVisible = false; 40 59 60 AddCollisionHandler(pallo, kasittelepallontormays); 41 61 Camera.ZoomToLevel(); 42 luomaila(20, 20);43 62 } 44 63 … … 48 67 pallo.Hit(impulssi); 49 68 } 50 PhysicsObject luomaila(double x, double y){ 51 PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); 69 PhysicsObject luomaila(double x, double y) 70 { 71 PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); 52 72 maila.Shape = Shape.Rectangle; 53 73 maila.X = x; 54 74 maila.Y = y; 55 75 maila.Restitution = 1.0; 56 Add(maila); 76 Add(maila); 57 77 return maila; 58 void astenappaimet() 59 {Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 60 Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus,"pelaaja 1. liikuttaa mailaa ylös", maila1, nopeusylos); 61 Keyboard.Listen(Key.A, ButtonState.Released,AsetaNopeus,null, null, maila1, Vector.Zero); 62 Keyboard.Listen(Key.up,ButtonState.Down,Asetanopeus,"pelaja 2 liikuttaa mailaa ylös",maila2, nopeusylos); 63 Keyboard.Listen(Key.Z,ButtonState.Down,Asetanopeus,null,Vector.Zero); 64 Keyboard.Listen(Key.up,ButtonState.Released,Asetanopeus,null, 65 Keyboard.Listen(Key.Z,ButtonState.Released 66 } 78 } 79 void asetenappaimet() 80 { 81 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 82 Keyboard.Listen(Key.A, ButtonState.Down, Asetanopeus, "pelaaja 1. liikuttaa mailaa ylös", maila1, nopeusylos); 83 Keyboard.Listen(Key.A, ButtonState.Released, Asetanopeus, null, maila1, Vector.Zero); 84 Keyboard.Listen(Key.Z, ButtonState.Down, Asetanopeus, "pelaja 2 liikuttaa mailaa alas", maila1, nopeusalas); 85 Keyboard.Listen(Key.Z, ButtonState.Released, Asetanopeus, null, maila1, Vector.Zero); 86 Keyboard.Listen(Key.Up, ButtonState.Down, Asetanopeus, "pelaaja 2 liikuttaa mailaa ylös", maila2, nopeusylos); 87 Keyboard.Listen(Key.Up, ButtonState.Released, Asetanopeus, null, maila2, Vector.Zero); 88 Keyboard.Listen(Key.Down, ButtonState.Down, Asetanopeus, "pelaaja 2 liikuttaa mailaa alas", maila2, nopeusalas); 89 Keyboard.Listen(Key.Down, ButtonState.Released, Asetanopeus, null, maila2, Vector.Zero); 90 } 91 void Asetanopeus(PhysicsObject maila, Vector nopeus) 92 { 93 if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 94 { 95 maila.Velocity = Vector.Zero; 96 return; 97 } 98 99 if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 100 { 101 maila.Velocity = Vector.Zero; 102 return; 103 } 104 maila.Velocity = nopeus; 105 } 106 void lisaaLaskurit() 107 { 108 pelaajan1pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 109 pelaajan2pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 110 } 111 IntMeter LuoPisteLaskuri(double x, double y) 112 { 113 IntMeter laskuri = new IntMeter(0); 114 laskuri.MaxValue = (10); 115 116 Label naytto = new Label(); 117 naytto.BindTo(laskuri); 118 naytto.X = x; 119 naytto.Y = y; 120 naytto.TextColor = Color.White; 121 naytto.BorderColor = Level.BackgroundColor; 122 naytto.Color = Level.BackgroundColor; 123 Add(naytto); 124 125 return laskuri; 126 { 127 } 128 } 129 void kasittelepallontormays(PhysicsObject pallo, PhysicsObject kohde) 130 { 131 if (kohde == oikeareuna) 132 { 133 pelaajan1pisteet.Value += 1; 134 } 135 else if (kohde == vasenreuna) 136 { 137 pelaajan2pisteet.Value += 1; 138 } 139 } 67 140 } 68 } 141 142
Note: See TracChangeset
for help on using the changeset viewer.