- Timestamp:
- 2016-06-14 14:59:00 (7 years ago)
- Location:
- 2016/24/PanuK
- Files:
-
- 49 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
2016/24/PanuK/Pong/Pong/Pong/Pong.cs
r7268 r7303 10 10 { 11 11 PhysicsObject Pallo; 12 13 Vector nopeusYlos = new Vector(0, 200); 14 Vector nopeusAlas = new Vector(0, -200); 15 16 PhysicsObject maila1; 17 PhysicsObject maila2; 18 19 IntMeter pelaajan1Pisteet; 20 IntMeter pelaajan2Pisteet; 21 private PhysicsObject vasenReuna; 22 private PhysicsObject oikeaReuna; 23 24 25 12 26 public override void Begin() 13 27 { 14 28 LuoKentta(); 29 AsetaOhjaimet(); 30 LisaaLaskurit(); 15 31 AloitaPeli(); 32 } 33 void AsetaOhjaimet() 34 { 35 Keyboard.Listen(Key.W, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 36 Keyboard.Listen(Key.W, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 37 Keyboard.Listen(Key.S, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 38 Keyboard.Listen(Key.S, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 16 39 40 Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 41 Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 42 Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 43 Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 44 45 Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 17 46 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 47 ControllerOne.Listen(Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila1, nopeusYlos); 48 ControllerOne.Listen(Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 49 ControllerOne.Listen(Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila1, nopeusAlas); 50 ControllerOne.Listen(Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 51 52 ControllerTwo.Listen(Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila2, nopeusYlos); 53 ControllerTwo.Listen(Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 54 ControllerTwo.Listen(Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila2, nopeusAlas); 55 ControllerTwo.Listen(Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 56 57 ControllerOne.Listen(Button.Back, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 58 ControllerTwo.Listen(Button.Back, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 59 18 60 } 61 62 void AsetaNopeus(PhysicsObject maila, Vector nopeus) 63 { 64 if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 65 { 66 maila.Velocity = Vector.Zero; 67 return; 68 } 69 if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 70 { 71 maila.Velocity = Vector.Zero; 72 return; 73 } 74 maila.Velocity = nopeus; 75 } 76 19 77 void LuoKentta() 20 78 { … … 26 84 Add(Pallo); 27 85 28 LuoMaila(Level.Left + 20.0, 0.0);29 LuoMaila(Level.Right - 20.0, 0.0);86 maila1 = LuoMaila(Level.Left + 20.0, 0.0); 87 maila2 = LuoMaila(Level.Right - 20.0, 0.0); 30 88 31 Level.CreateBorders(1.0, false);32 89 Level.Background.Color = Color.ForestGreen; 90 PhysicsObject vasenReuna = Level.CreateLeftBorder(); 91 vasenReuna.Restitution = 1.0; 92 vasenReuna.IsVisible = false; 93 94 PhysicsObject oikeaReuna = Level.CreateRightBorder(); 95 oikeaReuna.Restitution = 1.0; 96 oikeaReuna.IsVisible = false; 97 98 PhysicsObject ylaReuna = Level.CreateTopBorder(); 99 ylaReuna.Restitution = 1.0; 100 ylaReuna.IsVisible = false; 101 102 PhysicsObject alaReuna = Level.CreateBottomBorder(); 103 alaReuna.Restitution = 1.0; 104 alaReuna.IsVisible = false; 33 105 34 106 Camera.ZoomToLevel(1.0); 107 108 AddCollisionHandler(Pallo, KasittelePallonTormays); 109 110 35 111 } 36 112 … … 41 117 } 42 118 43 voidLuoMaila(double x, double y)119 PhysicsObject LuoMaila(double x, double y) 44 120 { 45 121 PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); … … 49 125 maila.Restitution = 1.0; 50 126 Add(maila); 127 return maila; 128 } 129 void LisaaLaskurit() 130 { 131 pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 132 pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 133 } 134 135 IntMeter LuoPisteLaskuri(double x, double y) 136 { 137 IntMeter laskuri = new IntMeter(0); 138 laskuri.MaxValue = 10; 139 140 Label naytto = new Label(); 141 naytto.BindTo(laskuri); 142 naytto.X = x; 143 naytto.Y = y; 144 naytto.TextColor = Color.White; 145 naytto.BorderColor = Level.Background.Color; 146 naytto.Color = Level.Background.Color; 147 Add(naytto); 148 149 return laskuri; 150 } 151 152 void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 153 { 154 if (kohde == oikeaReuna) 155 { 156 pelaajan1Pisteet.Value += 1; 157 } 158 else if (kohde == vasenReuna) 159 { 160 pelaajan2Pisteet.Value += 1; 161 } 51 162 } 52 163 }
Note: See TracChangeset
for help on using the changeset viewer.