- Timestamp:
- 2010-07-27 11:26:37 (13 years ago)
- Location:
- 2010/30/samipunn
- Files:
-
- 11 added
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
2010/30/samipunn/Pong/Peli.cs
r1274 r1311 13 13 PhysicsObject maila2; 14 14 15 PhysicsObject vasenReuna; 16 PhysicsObject oikeaReuna; 17 18 IntMeter pelaajan1Pisteet; 19 IntMeter pelaajan2Pisteet; 20 21 15 22 protected override void Begin() 16 23 { 17 18 19 20 21 Level.CreateBorders(1.0, false); 22 24 23 25 24 26 Camera.ZoomToLevel(); … … 27 29 AsetaOhjaimet(); 28 30 AloitaPeli(); 29 30 31 32 31 LisaaLaskurit(); 33 32 34 33 } … … 39 38 void luokentta() 40 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 PhysicsObject alaReuna = Level.CreateBottomBorder(); 49 alaReuna.Restitution = 1.0; 50 alaReuna.IsVisible = false; 51 52 PhysicsObject YlaReuna = Level.CreateTopBorder(); 53 YlaReuna.Restitution = 1.0; 54 YlaReuna.IsVisible = false; 55 41 56 Level.BackgroundColor = Color.Black; 42 pallo = new PhysicsObject( 40.0, 40.0);57 pallo = new PhysicsObject(50.0, 50.0); 43 58 pallo.Shape = Shapes.Circle; 59 pallo.Color = Color.Red; 44 60 Add(pallo); 45 61 … … 55 71 pallo.Hit(impulssi); 56 72 73 AddCollisionHandler(pallo, KasittelePallonTormays); 74 57 75 } 58 76 … … 60 78 { 61 79 } 62 63 80 64 81 … … 81 98 Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 82 99 Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 100 Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 101 Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 102 103 Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 104 Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 105 Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 106 Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 107 108 Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 109 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu"); 110 111 ControllerOne.Listen(Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila1, nopeusYlos); 112 ControllerOne.Listen(Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 113 ControllerOne.Listen(Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila1, nopeusAlas); 114 ControllerOne.Listen(Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 115 116 ControllerTwo.Listen(Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila2, nopeusYlos); 117 ControllerTwo.Listen(Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 118 ControllerTwo.Listen(Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila2, nopeusAlas); 119 ControllerTwo.Listen(Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 120 121 ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu"); 122 ControllerTwo.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu"); 123 124 } 125 126 void AsetaNopeus(PhysicsObject maila, Vector nopeus) 127 { 128 if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 129 { 130 maila.Velocity = Vector.Zero; 131 return; 132 } 133 if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 134 { 135 maila.Velocity = Vector.Zero; 136 return; 137 } 83 138 84 139 85 86 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu");87 }88 void AsetaNopeus(PhysicsObject maila, Vector nopeus)89 {90 140 maila.Velocity = nopeus; 91 141 } 92 142 143 void LisaaLaskurit() 144 { 145 pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 146 pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 147 } 148 149 IntMeter LuoPisteLaskuri(double x, double y) 150 { 151 IntMeter laskuri = new IntMeter(0); 152 laskuri.MaxValue = 15; 153 Label naytto = new Label(); 154 naytto.BindTo(laskuri); 155 naytto.X = x; 156 naytto.Y = y; 157 naytto.TextColor = Color.White; 158 Add(naytto); 159 return laskuri; 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 } 93 173 94 174 }
Note: See TracChangeset
for help on using the changeset viewer.