- Timestamp:
- 2010-06-08 13:29:37 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
2010/23/lavevake/Pong/Peli.cs
r521 r549 11 11 PhysicsObject maila1; 12 12 PhysicsObject maila2; 13 PhysicsObject vasenReuna; 14 PhysicsObject oikeaReuna; 15 PhysicsObject alaReuna; 16 PhysicsObject ylaReuna; 17 18 IntMeter pelaajan1Pisteet; 19 IntMeter pelaajan2Pisteet; 13 20 14 21 protected override void Begin() … … 16 23 LuoKentta(); 17 24 AsetaOhjaimet(); 25 LisaaLaskurit(); 18 26 Aloitapeli(); 19 27 } … … 28 36 Add(pallo); 29 37 30 Level.CreateBorders(1.0, false); 38 AddCollisionHandler(pallo, KasittelePallonTormays); 39 40 vasenReuna = Level.CreateLeftBorder(); 41 vasenReuna.Restitution = 1.0; 42 vasenReuna.IsVisible = false; 43 44 oikeaReuna = Level.CreateRightBorder(); 45 oikeaReuna.Restitution = 1.0; 46 oikeaReuna.IsVisible = false; 47 48 alaReuna = Level.CreateBottomBorder(); 49 alaReuna.Restitution = 1.0; 50 alaReuna.IsVisible = false; 51 52 ylaReuna = Level.CreateTopBorder(); 53 ylaReuna.Restitution = 1.0; 54 ylaReuna.IsVisible = false; 55 31 56 Level.BackgroundColor = Color.Black; 57 MessageDisplay.TextColor = Color.Red; 32 58 33 59 Camera.ZoomToLevel(); … … 52 78 return maila; 53 79 } 80 54 81 void AsetaOhjaimet() 55 82 { 56 LuoKentta(); 57 AsetaOhjaimet(); 58 Aloitapeli(); 59 Keyboard.Listen(Key.A, ButtonState.Pressed, LiikutaMailaaYlos, "Pelaaja 1: Liikuta mailaa ylös", maila1); 83 Keyboard.Listen(Key.A, ButtonState.Down, LiikutaMailaaYlos, "Pelaaja 2: Liikuta mailaa ylös", maila1); 60 84 Keyboard.Listen(Key.A, ButtonState.Released, PysaytaMaila, null, maila1); 85 Keyboard.Listen(Key.Z, ButtonState.Down, LiikutaMailaaAlas, "Pelaaja 2: Liikuta mailaa alas", maila1); 86 Keyboard.Listen(Key.Z, ButtonState.Released, PysaytaMaila, null, maila1); 61 87 88 Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaMailaaYlos, "Pelaaja 1: Liikuta mailaa ylös", maila2); 89 Keyboard.Listen(Key.Up, ButtonState.Released, PysaytaMaila, null, maila2); 90 Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaMailaaAlas, "Pelaaja 1: Liikuta mailaa ylös", maila2); 91 Keyboard.Listen(Key.Down, ButtonState.Released, PysaytaMaila, null, maila2); 92 93 ControllerOne.Listen(Button.DPadUp, ButtonState.Down, LiikutaMailaaYlos, "Liikuta mailaa ylös", maila1); 94 ControllerOne.Listen(Button.DPadUp, ButtonState.Released, PysaytaMaila, null, maila1); 95 ControllerOne.Listen(Button.DPadDown, ButtonState.Down, LiikutaMailaaAlas, "Liikuta mailaa alas", maila1); 96 ControllerOne.Listen(Button.DPadDown, ButtonState.Released, PysaytaMaila, null, maila1); 97 98 ControllerTwo.Listen(Button.DPadUp, ButtonState.Down, LiikutaMailaaYlos, "Liikuta mailaa ylös", maila2); 99 ControllerTwo.Listen(Button.DPadUp, ButtonState.Released, PysaytaMaila, null, maila2); 100 ControllerTwo.Listen(Button.DPadDown, ButtonState.Down, LiikutaMailaaAlas, "Liikuta mailaa alas", maila2); 101 ControllerTwo.Listen(Button.DPadDown, ButtonState.Released, PysaytaMaila, null, maila2); 102 103 ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu"); 104 ControllerTwo.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu"); 105 106 107 Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 62 108 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu"); 63 109 64 110 } 111 65 112 void LiikutaMailaaYlos(PhysicsObject maila) 66 113 { 114 if (maila.Top > Level.Top) 115 { 116 maila.Velocity = Vector.Zero; 117 return; 118 } 119 67 120 Vector nopeus = new Vector(0, 200); 68 121 maila.Velocity = nopeus; 69 122 } 123 70 124 void PysaytaMaila(PhysicsObject maila) 71 125 { … … 73 127 } 74 128 129 void LiikutaMailaaAlas(PhysicsObject maila) 130 { 131 if (maila.Bottom < Level.Bottom) 132 { 133 maila.Velocity = Vector.Zero; 134 return; 135 } 136 137 Vector nopeus = new Vector(0, -200); 138 maila.Velocity = nopeus; 139 } 140 141 void LisaaLaskurit() 142 { 143 pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 144 pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 145 146 } 147 148 IntMeter LuoPisteLaskuri(double x, double y) 149 { 150 IntMeter laskuri = new IntMeter(0); 151 laskuri.MaxValue = 10; 152 ValueDisplay naytto = new ValueDisplay(); 153 naytto.BindTo(laskuri); 154 naytto.X = x; 155 naytto.Y = y; 156 naytto.ValueColor = Color.White; 157 Add(naytto); 158 return laskuri; 159 } 160 161 void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 162 { 163 if (kohde == oikeaReuna) 164 { 165 pelaajan1Pisteet.Value += 1; 166 } 167 else if (kohde == vasenReuna) 168 { 169 pelaajan2Pisteet.Value += 1; 170 } 171 172 } 75 173 } 174 76 175 } 77
Note: See TracChangeset
for help on using the changeset viewer.