- Timestamp:
- 2015-06-29 14:47:42 (8 years ago)
- Location:
- 2015/27/SamuliS/Pong
- Files:
-
- 7 added
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
2015/27/SamuliS/Pong/Pong/Pong/Pong.cs
r6490 r6520 17 17 PhysicsObject maila2; 18 18 19 PhysicsObject vasenReuna; 20 PhysicsObject oikeaReuna; 21 22 IntMeter pelaajan1Pisteet; 23 IntMeter pelaajan2Pisteet; 24 19 25 public override void Begin() 20 26 { … … 22 28 AsetaOhjaimet(); 23 29 AloitaPeli(); 24 25 26 30 LisaaLaskurit(); 31 32 33 27 34 } 28 35 … … 36 43 pallo.Restitution = 1.0; 37 44 45 AddCollisionHandler(pallo, KasittelePallonTormays); 46 38 47 maila1 = LuoMaila(Level.Left + 20.0, 0.0); 39 48 maila2 = LuoMaila(Level.Right - 20.0, 0.0); 40 49 41 Level.CreateBorders(1.0, false); 50 vasenReuna = Level.CreateLeftBorder(); 51 vasenReuna.Restitution = 1.0; 52 vasenReuna.IsVisible = false; 53 54 oikeaReuna = Level.CreateRightBorder(); 55 oikeaReuna.Restitution = 1.0; 56 oikeaReuna.IsVisible = false; 57 58 PhysicsObject alaReuna = Level.CreateBottomBorder(); 59 alaReuna.Restitution = 1.0; 60 alaReuna.IsVisible = false; 61 62 PhysicsObject yläReuna = Level.CreateTopBorder(); 63 yläReuna.Restitution = 1.0; 64 yläReuna.IsVisible = false; 65 66 42 67 Level.Background.Color = Color.Black; 43 68 … … 66 91 Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa ylös", maila1, nopeusYlos); 67 92 Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 68 Keyboard.Listen(Key.Z, ButtonState 93 Keyboard.Listen(Key.Z, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liikuta mailaa alas", maila1, nopeusAlas); 94 Keyboard.Listen(Key.Z, ButtonState.Released, AsetaNopeus, null, maila1, Vector.Zero); 95 96 Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus, "Pelaaja 2: liikuta mailaa ylös", maila2, nopeusYlos); 97 Keyboard.Listen(Key.Up, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 98 Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus, "Pelaaja 2: Liikuta mailaa alas", maila2, nopeusAlas); 99 Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus, null, maila2, Vector.Zero); 100 101 Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 69 102 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 70 103 } … … 72 105 void AsetaNopeus(PhysicsObject maila, Vector nopeus) 73 106 { 107 if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 108 { 109 maila.Velocity = Vector.Zero; 110 return; 111 } 112 if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 113 { 114 maila.Velocity = Vector.Zero; 115 return; 116 } 117 74 118 maila.Velocity = nopeus; 75 119 } 76 120 121 void LisaaLaskurit() 122 { 123 pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 124 pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 125 } 126 127 IntMeter LuoPisteLaskuri(double x, double y) 128 { 129 IntMeter laskuri = new IntMeter(0); 130 laskuri.MaxValue = 20; 131 132 Label naytto = new Label(); 133 naytto.BindTo(laskuri); 134 naytto.X = x; 135 naytto.Y = y; 136 naytto.TextColor = Color.Green; 137 naytto.BorderColor = Level.Background.Color; 138 naytto.Color = Level.Background.Color; 139 Add(naytto); 140 141 return laskuri; 142 } 143 144 void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 145 { 146 if (kohde == oikeaReuna) 147 { 148 pelaajan1Pisteet.Value += 1; 149 } 150 else if (kohde == vasenReuna) 151 { 152 pelaajan2Pisteet.Value += 1; 153 } 154 } 77 155 }
Note: See TracChangeset
for help on using the changeset viewer.