Changeset 272
- Timestamp:
- 2009-08-04 14:58:08 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
santeri_h/Pong/Peli.cs
r261 r272 25 25 26 26 PhysicsObject pallo; 27 PhysicsObject pallo2;28 27 PhysicsObject maila1; 29 28 PhysicsObject maila2; … … 55 54 AddCollisionHandler(pallo, KasittelePallonTormays); 56 55 pallo.Color = Color.White; 57 58 IShape ympyra2 = Shapes.CreateRectangle(20.0, 200.0);59 pallo2 = new PhysicsObject(1.0, ympyra2);60 pallo.X = -200.0;61 pallo.Y = 119.0;62 pallo.Restitution = 1.0;63 kentta.Objects.Add(pallo2);64 pallo2.Color = Color.Green;65 56 66 57 maila1 = LuoMaila(kentta.Left + 20.0, 0.0, kentta, ref ase1); … … 114 105 pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 115 106 pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 107 pelaajan1Pisteet.UpperLimit += new Meter<int>.OnLimitHandler(laskuri1_UpperLimit); 108 pelaajan2Pisteet.UpperLimit += new Meter<int>.OnLimitHandler(laskuri2_UpperLimit); 109 } 110 111 void NollaaLaskurit() 112 { 113 pelaajan1Pisteet.Reset(); 114 pelaajan2Pisteet.Reset(); 116 115 } 117 116 … … 125 124 naytto.ValueColor = Color.White; 126 125 Add(naytto); 127 laskuri.UpperLimit += new Meter<int>.OnLimitHandler(laskuri_UpperLimit);128 126 return laskuri; 129 127 } 130 128 131 void laskuri _UpperLimit(Meter<int> sender)132 { 133 MessageDisplay.Add("Pel i loppui");134 MessageDisplay.X = - 50;129 void laskuri1_UpperLimit(Meter<int> sender) 130 { 131 MessageDisplay.Add("Pelaaja 1 voittaa!"); 132 MessageDisplay.X = -100; 135 133 MessageDisplay.Y = 0; 136 134 MessageDisplay.TextColor = Color.White; … … 139 137 } 140 138 139 void laskuri2_UpperLimit(Meter<int> sender) 140 { 141 MessageDisplay.Add("Pelaaja 2 voittaa!"); 142 MessageDisplay.X = -100; 143 MessageDisplay.Y = 0; 144 MessageDisplay.TextColor = Color.White; 145 pallo.Destroy(); 146 147 } 148 141 149 void KasittelePallonTormays(Collision collision) 142 150 { … … 147 155 collision.Obj.Hit(impulssi); 148 156 pelaajan1Pisteet.Value += 1; 157 Controls.GameControllers[PlayerIndex.Two].Vibrate(1.0, 1.0, 1.0, 1.0, 0.1); 149 158 150 159 } … … 160 169 collision.Obj.Hit(impulssi); 161 170 pelaajan2Pisteet.Value += 1; 171 Controls.GameControllers[PlayerIndex.One].Vibrate(1.0, 1.0, 1.0, 1.0, 0.1); 162 172 } 163 173 else if (collision.Other == maila2) … … 172 182 Vector2D impulssi = new Vector2D(1000.0, 0.0); 173 183 pallo.Hit(impulssi); 184 } 185 186 private void lataaUusiKentta() 187 { 188 Level = LuoKentta(); 189 AsetaOhjaimet(); 190 NollaaLaskurit(); 191 MessageDisplay.Clear(); 192 AloitaPeli(); 174 193 } 175 194 … … 189 208 return false; 190 209 } 210 211 private Boolean UusiPeli(ControlEvent e) 212 { 213 lataaUusiKentta(); 214 return true; 215 } 216 191 217 void AsetaOhjaimet() 192 218 { 219 Controls.Listen(Keys.F1, ButtonPosition.Pressed, UusiPeli, "Aloittaa uuden pelin"); 220 193 221 Controls.Listen(Keys.A, ButtonPosition.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 194 222 Controls.Listen(Keys.A, ButtonPosition.Released, AsetaNopeus, null, maila1, Vector2D.Zero); … … 203 231 Controls.Listen(Keys.Enter, ButtonPosition.Down, Ammu, null, ase2); 204 232 205 AsetaGamePadOhjaimet(PlayerIndex.One, maila1); 206 AsetaGamePadOhjaimet(PlayerIndex.Two, maila2); 207 } 208 209 void AsetaGamePadOhjaimet(PlayerIndex pelaajaNumero, PhysicsObject maila) 210 { 233 AsetaGamePadOhjaimet(PlayerIndex.One, maila1, ase1); 234 AsetaGamePadOhjaimet(PlayerIndex.Two, maila2, ase2); 235 } 236 237 void AsetaGamePadOhjaimet(PlayerIndex pelaajaNumero, PhysicsObject maila, PlasmaCannon ase) 238 { 239 Controls.Listen(pelaajaNumero, Buttons.Start, ButtonPosition.Pressed, UusiPeli, "Aloittaa uuden pelin"); 240 Controls.Listen(pelaajaNumero, Buttons.LeftThumbstickUp, ButtonPosition.Down, AsetaNopeus, "Liikuta mailaa ylös", maila, nopeusYlos); 241 Controls.Listen(pelaajaNumero, Buttons.LeftThumbstickUp, ButtonPosition.Released, AsetaNopeus, null, maila, Vector2D.Zero); 242 Controls.Listen(pelaajaNumero, Buttons.LeftThumbstickDown, ButtonPosition.Down, AsetaNopeus, "Liikuta mailaa alas", maila, nopeusAlas); 243 Controls.Listen(pelaajaNumero, Buttons.LeftThumbstickDown, ButtonPosition.Released, AsetaNopeus, null, maila, Vector2D.Zero); 244 Controls.Listen(pelaajaNumero, Buttons.RightThumbstickUp, ButtonPosition.Down, AsetaNopeus, "Liikuta mailaa ylös", maila, nopeusYlos); 245 Controls.Listen(pelaajaNumero, Buttons.RightThumbstickUp, ButtonPosition.Released, AsetaNopeus, null, maila, Vector2D.Zero); 246 Controls.Listen(pelaajaNumero, Buttons.RightThumbstickDown, ButtonPosition.Down, AsetaNopeus, "Liikuta mailaa alas", maila, nopeusAlas); 247 Controls.Listen(pelaajaNumero, Buttons.RightThumbstickDown, ButtonPosition.Released, AsetaNopeus, null, maila, Vector2D.Zero); 211 248 Controls.Listen(pelaajaNumero, Buttons.DPadUp, ButtonPosition.Down, AsetaNopeus, "Liikuta mailaa ylös", maila, nopeusYlos); 212 249 Controls.Listen(pelaajaNumero, Buttons.DPadUp, ButtonPosition.Released, AsetaNopeus, null, maila, Vector2D.Zero); 213 250 Controls.Listen(pelaajaNumero, Buttons.DPadDown, ButtonPosition.Down, AsetaNopeus, "Liikuta mailaa alas", maila, nopeusAlas); 214 251 Controls.Listen(pelaajaNumero, Buttons.DPadDown, ButtonPosition.Released, AsetaNopeus, null, maila, Vector2D.Zero); 215 } 252 Controls.Listen(pelaajaNumero, Buttons.RightTrigger, ButtonPosition.Down, Ammu, null, ase); 253 Controls.Listen(pelaajaNumero, Buttons.LeftTrigger, ButtonPosition.Down, Ammu, null, ase); 254 Controls.Listen(pelaajaNumero, Buttons.RightShoulder, ButtonPosition.Down, Ammu, null, ase); 255 Controls.Listen(pelaajaNumero, Buttons.LeftShoulder, ButtonPosition.Down, Ammu, null, ase); 256 Controls.Listen(pelaajaNumero, Buttons.X, ButtonPosition.Down, Ammu, null, ase); 257 Controls.Listen(pelaajaNumero, Buttons.B, ButtonPosition.Down, Ammu, null, ase); 258 Controls.Listen(pelaajaNumero, Buttons.A, ButtonPosition.Down, Ammu, null, ase); 259 Controls.Listen(pelaajaNumero, Buttons.Y, ButtonPosition.Down, Ammu, null, ase); 260 } 261 216 262 217 263 bool AsetaNopeus(ControlEvent e)
Note: See TracChangeset
for help on using the changeset viewer.