Changeset 5065 for 2014/26/TuukkaJ/pong/pong/pong/pong.cs
- Timestamp:
- 2014-06-24 12:32:12 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
2014/26/TuukkaJ/pong/pong/pong/pong.cs
r5050 r5065 14 14 PhysicsObject maila1; 15 15 PhysicsObject maila2; 16 PhysicsObject oikeaReuna; 17 PhysicsObject vasenReuna; 18 19 IntMeter pelaajan1Pisteet; 20 IntMeter pelaajan2Pisteet; 16 21 17 22 public override void Begin() … … 20 25 LuoKentta(); 21 26 AsetaOhjaimet(); 22 27 LisaaLaskurit(); 23 28 AloitaPeli(); 24 29 25 30 26 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 27 31 28 32 PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 29 33 30 34 31 35 32 Level.CreateBorders(1.0, false);36 33 37 Level.Background.Color = Color.Black; 34 38 … … 48 52 49 53 50 maila1a1 = LuoMaila(Level.Left 51 Maila1a2 = LuoMaila(Level.Right - 20.0, 0,0) 54 maila1 = LuoMaila(Level.Left+20.0, 0.0); 55 56 maila2 = LuoMaila(Level.Right - 20.0, 0.0); 57 vasenReuna = Level.CreateLeftBorder(); 58 vasenReuna.Restitution = 1.0; 59 vasenReuna.IsVisible = false; 60 oikeaReuna = Level.CreateRightBorder(); 61 oikeaReuna.IsVisible = false; 62 oikeaReuna.Restitution = 1.0; 63 PhysicsObject ylaReuna = Level.CreateTopBorder(); 64 ylaReuna.Restitution = 1.0; 65 ylaReuna.KineticFriction = 0.0; 66 ylaReuna.IsVisible = false; 67 PhysicsObject alaReuna = Level.CreateBottomBorder(); 68 alaReuna.Restitution = 1.0; 69 alaReuna.IsVisible = false; 70 alaReuna.KineticFriction = 0.0; 52 71 53 72 Level.Background.Color = Color.Black; 54 Level.CreateBorders(1.0, false);55 73 74 AddCollisionHandler(pallo, KasittelePallonTormays); 56 75 Camera.ZoomToLevel(); 57 76 } … … 76 95 void AsetaNopeus(PhysicsObject maila, Vector nopeus) 77 96 { 97 if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 98 { 99 100 maila.Velocity = Vector.Zero; 101 return; 102 } 103 104 78 105 maila.Velocity = nopeus; 79 106 } 107 80 108 void AsetaOhjaimet() 81 109 { 110 Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 111 Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 112 Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 113 Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 114 115 Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 116 Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 117 Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 118 Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 119 120 Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 121 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 122 123 ControllerOne.Listen(Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila1, nopeusYlos); 124 ControllerOne.Listen(Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 125 ControllerOne.Listen(Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila1, nopeusAlas); 126 ControllerOne.Listen(Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 127 128 ControllerTwo.Listen(Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila2, nopeusYlos); 129 ControllerTwo.Listen(Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 130 ControllerTwo.Listen(Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila2, nopeusAlas); 131 ControllerTwo.Listen(Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 132 133 ControllerOne.Listen(Button.Back, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 134 135 ControllerTwo.Listen(Button.Back, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 82 136 } 137 138 void LisaaLaskurit() 139 { 140 pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 141 pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 142 } 143 144 IntMeter LuoPisteLaskuri(double x, double y) 145 { 146 IntMeter laskuri = new IntMeter(0); 147 laskuri.MaxValue = 10; 148 149 Label naytto = new Label(); 150 naytto.BindTo(laskuri); 151 naytto.X = x; 152 naytto.Y = y; 153 naytto.TextColor = Color.Red; 154 naytto.BorderColor = Level.Background.Color; 155 naytto.Color = Level.Background.Color; 156 Add(naytto); 157 158 return laskuri; 159 } 160 161 162 void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 163 { 164 if (kohde == oikeaReuna) 165 { 166 pelaajan1Pisteet.Value += 1; 167 } 168 else if (kohde == vasenReuna) 169 { 170 pelaajan2Pisteet.Value += 1; 171 } 172 173 } 174 175 176 177 83 178 } 84 179 85 180 86 181 182 183 184 185 186 187
Note: See TracChangeset
for help on using the changeset viewer.