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