- Timestamp:
- 2015-06-01 16:07:19 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
2015/23/HenriK/Pong/Pong.cs
r5853 r5854 15 15 PhysicsObject maila2; 16 16 17 PhysicsObject alaReuna, oikeaReuna, vasenReuna, yläReuna; 18 19 IntMeter pelaajan1Pisteet; 20 IntMeter pelaajan2Pisteet; 21 17 22 public override void Begin () 18 23 { 19 24 LuoKentta (); 25 AddCollisionHandler(pallo, KasittelePallonTormays); 20 26 LuoReunat (); 21 27 AsetaOhjaimet (); 28 LisaaLaskurit(); 22 29 AloitaPeli (); 30 23 31 24 32 } … … 44 52 void LuoReunat() 45 53 { 46 PhysicsObject alaReuna = Level.CreateBottomBorder (); 54 alaReuna = Level.CreateBottomBorder (); 55 alaReuna.Restitution = 1.0; 56 alaReuna.IsVisible = false; 47 57 alaReuna.Y = -425; 48 58 alaReuna.IsVisible = true; 49 PhysicsObject yläReuna = Level.CreateTopBorder (); 59 yläReuna = Level.CreateTopBorder (); 60 yläReuna.Restitution = 1.0; 61 yläReuna.IsVisible = false; 50 62 yläReuna.Y = 425; 51 63 yläReuna.IsVisible = true; 52 PhysicsObject vasenReuna = Level.CreateLeftBorder (); 64 vasenReuna = Level.CreateLeftBorder (); 65 vasenReuna.Restitution = 1.0; 66 vasenReuna.IsVisible = false; 53 67 vasenReuna.Y = 0; 54 68 vasenReuna.IsVisible = true; 55 PhysicsObject oikeaReuna = Level.CreateRightBorder (); 69 oikeaReuna = Level.CreateRightBorder (); 70 oikeaReuna.Restitution = 1.0; 71 oikeaReuna.IsVisible = false; 56 72 oikeaReuna.Y = 0; 57 73 oikeaReuna.IsVisible = true; … … 79 95 Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 80 96 Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 81 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 82 Keyboard.Listen(Key. 5, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila1, nopeusYlos);83 Keyboard.Listen(Key. 5, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero);84 Keyboard.Listen(Key. 2, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila1, nopeusAlas);85 Keyboard.Listen(Key. 2, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero);97 98 Keyboard.Listen(Key.NumPad5, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 99 Keyboard.Listen(Key.NumPad5, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 100 Keyboard.Listen(Key.NumPad2, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 101 Keyboard.Listen(Key.NumPad2, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 86 102 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 87 103 } 104 88 105 void AsetaNopeus(PhysicsObject maila, Vector nopeus) 89 106 { 107 if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 108 { 109 maila.Velocity = Vector.Zero; 110 return; 111 } 112 if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 113 { 114 maila.Velocity = Vector.Zero; 115 return; 116 } 117 90 118 maila.Velocity = nopeus; 91 119 } 120 void LisaaLaskurit() 121 { 122 pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 123 pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 124 } 125 126 127 IntMeter LuoPisteLaskuri(double x, double y) 128 { 129 IntMeter laskuri = new IntMeter(0); 130 laskuri.MaxValue = 10; 131 132 Label naytto = new Label(); 133 naytto.BindTo(laskuri); 134 naytto.X = x; 135 naytto.Y = y; 136 naytto.TextColor = Color.White; 137 naytto.BorderColor = Level.Background.Color; 138 naytto.Color = Level.Background.Color; 139 Add(naytto); 140 141 142 return laskuri; 143 } 144 void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 145 { 146 if (kohde == oikeaReuna) 147 { 148 pelaajan1Pisteet.Value += 1; 149 } 150 else if (kohde == vasenReuna) 151 { 152 pelaajan2Pisteet.Value += 1; 153 } 154 } 155 156 92 157 93 158
Note: See TracChangeset
for help on using the changeset viewer.