- Timestamp:
- 2016-07-26 10:48:42 (6 years ago)
- Location:
- 2016/30/LeoM/Pong/Pong/Pong
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
2016/30/LeoM/Pong/Pong/Pong/Pong.cs
r8100 r8106 13 13 Vector nopeusAlas = new Vector(0, -1500); 14 14 15 PhysicsObject vasenReuna; 16 PhysicsObject oikeaReuna; 17 15 18 PhysicsObject pallo; 16 19 PhysicsObject maila1; 17 20 PhysicsObject maila2; 21 18 22 IntMeter pelaajan1Pisteet; 19 23 IntMeter pelaajan2Pisteet; … … 26 30 LisaaLaskurit(); 27 31 AloitaPeli(); 28 32 29 33 30 34 … … 39 43 Add(pallo); 40 44 pallo.Restitution = 1.0; 45 pallo.Color = Color.Yellow; 41 46 maila1 = LuoMaila(Level.Left + 20.0, 0.0); 42 47 maila2 = LuoMaila(Level.Right - 20.0, 0.0); 43 Level.CreateBorders(1.0, true); 48 maila1.Color = Color.BloodRed; 49 maila2.Color = Color.Blue; 50 vasenReuna = Level.CreateLeftBorder(); 51 vasenReuna.Restitution = 1.0; 52 vasenReuna.IsVisible = false; 53 oikeaReuna = Level.CreateRightBorder(); 54 oikeaReuna.Restitution = 1.0; 55 oikeaReuna.IsVisible = false; 56 PhysicsObject alaReuna = Level.CreateBottomBorder(); 57 alaReuna.Restitution = 1.0; 58 alaReuna.IsVisible = false; 59 PhysicsObject yläReuna = Level.CreateTopBorder(); 60 yläReuna.Restitution = 1.0; 61 yläReuna.IsVisible = false; 44 62 45 63 AddCollisionHandler(pallo, KasittelePallonTormays); 46 64 47 65 Level.Background.Color = Color.HotPink; … … 71 89 void AloitaPeli() 72 90 { 73 Vector impulssi = new Vector (2000.0, 0.0);91 Vector impulssi = new Vector(1000.0, 0.0); 74 92 pallo.Hit(impulssi); 75 93 } … … 77 95 PhysicsObject LuoMaila(double x, double y) 78 96 { 79 PhysicsObject maila = PhysicsObject.CreateStaticObject(2 .0, 100.0);97 PhysicsObject maila = PhysicsObject.CreateStaticObject(20.0, 100.0); 80 98 maila.Shape = Shape.Rectangle; 81 99 … … 108 126 { 109 127 pelaajan1Pisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 128 pelaajan1Pisteet.UpperLimit += Pelaaja1voitti; 110 129 pelaajan2Pisteet = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 100.0); 130 pelaajan2Pisteet.UpperLimit += Pelaaja2voitti; 111 131 } 112 132 … … 128 148 void KasittelePallonTormays(PhysicsObject pallo, PhysicsObject kohde) 129 149 { 150 if (kohde == oikeaReuna) 151 { 152 pelaajan1Pisteet.Value += 1; 153 } 154 else if (kohde == vasenReuna) 155 { 156 pelaajan2Pisteet.Value += 1; 157 } 158 159 } 160 const double PALLON_MIN_NOPEUS = 1500; 161 162 protected override void Update(Time time) 163 { 164 if (pallo != null && Math.Abs(pallo.Velocity.X) < PALLON_MIN_NOPEUS) 165 { 166 pallo.Velocity = new Vector(pallo.Velocity.X * 1.1, pallo.Velocity.Y); 167 } 168 base.Update(time); 169 } 170 void Pelaaja1voitti() 171 { 172 Pelaajavoitti(1); 173 } 174 void Pelaaja2voitti() 175 { 176 Pelaajavoitti(2); 130 177 131 178 } 132 179 133 134 135 136 180 void Pelaajavoitti(int numero) 181 { 182 ClearGameObjects(); 183 MessageWindow voittoikkuna = new MessageWindow("pelaaja "+numero+" voitti"); 184 Add(voittoikkuna); 185 voittoikkuna.Closed += delegate { Begin(); }; 186 } 137 187 138 188 }
Note: See TracChangeset
for help on using the changeset viewer.