Changeset 7532 for 2016/26/PinjaT/Pong/Pong/Pong/Pong.cs
- Timestamp:
- 2016-06-27 14:58:09 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
2016/26/PinjaT/Pong/Pong/Pong/Pong.cs
r7516 r7532 13 13 14 14 PhysicsObject pallo; 15 16 15 PhysicsObject maila1; 17 16 PhysicsObject maila2; 17 18 IntMeter pelaajan1Pisteet; 19 IntMeter pelaajan2Pisteet; 18 20 19 21 public override void Begin() … … 22 24 LuoKentta(); 23 25 AsetaOhjaimet(); 26 LisaaLaskurit(); 24 27 AloitaPeli(); 25 26 27 }28 29 void AloitaPeli()30 {31 Vector impulssi = new Vector(500.0, 200.0);32 pallo.Hit(impulssi);33 28 } 34 29 … … 46 41 maila2 = LuoMaila(Level.Right - 20.0, 0.0); 47 42 48 Level.CreateBorders(1.0, false); 43 PhysicsObject vasenReuna = Level.CreateLeftBorder(); 44 vasenReuna.Restitution = 1.0; 45 vasenReuna.IsVisible = false; 46 47 PhysicsObject oikeaReuna = Level.CreateRightBorder(); 48 oikeaReuna.Restitution = 1.0; 49 oikeaReuna.IsVisible = false; 50 51 PhysicsObject alareuna = Level.CreateBottomBorder(); 52 alaReuna.Restitution = 1.0; 53 alareuna.IsVisible = false; 54 55 oikeaReuna.Restitution = 1.0; 56 oikeaReuna.IsVisible = false; 57 49 58 Level.Background.Color = Color.Black; 50 59 51 60 Camera.ZoomToLevel(); 61 62 AddCollisionHandler(pallo, KasittelePallonTormays); 52 63 } 53 PhysicsObject LuoMaila(double x, double y)64 PhysicsObject LuoMaila(double x, double y) 54 65 { 55 66 PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); … … 62 73 } 63 74 75 void AloitaPeli() 76 { 77 Vector impulssi = new Vector(500.0, 200.0); 78 pallo.Hit(impulssi); 79 } 80 64 81 void AsetaOhjaimet() 65 82 { 66 83 Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 67 84 Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 85 Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 86 Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 68 87 88 Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa ylös", maila2, nopeusYlos); 89 Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 90 Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 91 Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 92 93 Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 69 94 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 95 96 ControllerOne.Listen(Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila1, nopeusYlos); 97 ControllerOne.Listen(Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 98 ControllerOne.Listen(Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila1, nopeusAlas); 99 ControllerOne.Listen(Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 100 101 ControllerTwo.Listen(Button.DPadUp, ButtonState.Down, AsetaNopeus, "Liikuta mailaa ylös", maila2, nopeusYlos); 102 ControllerTwo.Listen(Button.DPadUp, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 103 ControllerTwo.Listen(Button.DPadDown, ButtonState.Down, AsetaNopeus, "Liikuta mailaa alas", maila2, nopeusAlas); 104 ControllerTwo.Listen(Button.DPadDown, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 105 106 ControllerOne.Listen(Button.Back, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 107 ControllerTwo.Listen(Button.Back, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 70 108 } 71 109 72 110 void AsetaNopeus(PhysicsObject maila, Vector nopeus) 73 111 { 112 if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 113 { 114 maila.Velocity = Vector.Zero; 115 return; 116 } 117 if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 118 { 119 maila.Velocity = Vector.Zero; 120 return; 121 } 122 74 123 maila.Velocity = nopeus; 75 124 } 125 126 void LisaaLaskurit() 127 { 128 pelaajan1Pisteet = LuoPistelaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 129 pelaajan2Pisteet = LuoPistelaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 130 } 131 132 IntMeter LuoPistelaskuri(double x, double y) 133 { 134 IntMeter laskuri = new IntMeter(0); 135 laskuri.MaxValue = 10; 136 137 Label naytto = new Label(); 138 naytto.BindTo(laskuri); 139 naytto.X = x; 140 naytto.Y = y; 141 naytto.TextColor = Color.White; 142 naytto.BorderColor = Level.Background.Color; 143 Add(naytto); 144 145 return laskuri; 146 } 147 148 void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 149 { 150 151 } 76 152 }
Note: See TracChangeset
for help on using the changeset viewer.