Changeset 926
- Timestamp:
- 2010-06-16 21:33:01 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
2010/24/danmarti/Vantaa 2001/Peli.cs
r913 r926 8 8 PlatformCharacter Player1; 9 9 PlatformCharacter Player2; 10 10 11 IntMeter LifeP1; 11 12 IntMeter LifeP2; … … 23 24 { 24 25 SetWindowSize(1024, 720, false); 25 26 LifeP1 = new IntMeter( 3); // Pelaajan 1 osumat27 LifeP2 = new IntMeter( 3); // Pelaajan 2 osumat26 27 LifeP1 = new IntMeter(3); // Pelaajan 1 osumat 28 LifeP2 = new IntMeter(3); // Pelaajan 2 osumat 28 29 LifeMeterP1 = new ValueDisplay(); 29 30 LifeMeterP2 = new ValueDisplay(); … … 34 35 LifeMeterP1.BindTo(LifeP1); 35 36 LifeMeterP2.BindTo(LifeP2); 36 37 37 38 StartCoop(); 38 39 } … … 78 79 Player.StaticFriction = 0; 79 80 Player.LinearDamping = 1; 80 LaserGun Weapon = new LaserGun( 20, 5 ); 81 PhysicsObject WProjectile = Weapon.Shoot(); 81 82 LaserGun Weapon = new LaserGun(20, 5); 83 Weapon.X = 50; 84 Weapon.LaserCollision = LaserCollide; 85 82 86 //Weapon.AttackSound = null; 83 Weapon.IsVisible=false; 84 Weapon.TimeBetweenUse = new TimeSpan(0,0,0,0,200); 87 Weapon.IsVisible = false; 88 Weapon.TimeBetweenUse = new TimeSpan(0, 0, 0, 0, 10); 89 Weapon.MaximumLifetime = new TimeSpan(1, 0, 0, 0, 0); 85 90 86 91 Player.Weapon = Weapon; … … 106 111 { 107 112 TileMap Tiles = TileMap.FromFile("BetaMap.txt"); 113 Tiles['x'] = CreatePit; 108 114 Tiles['f'] = CreateFloor; 115 Tiles['w'] = CreateWall; 109 116 Tiles['r'] = CreateRespawn; 110 117 Tiles['e'] = CreateEnemy; … … 147 154 } 148 155 156 PhysicsObject CreateWall() 157 { 158 PhysicsObject Wall = PhysicsObject.CreateStaticObject(50.0, 50.0); 159 return Wall; 160 } 161 149 162 PhysicsObject CreateRespawn() 150 163 { … … 156 169 } 157 170 171 PhysicsObject CreatePit() 172 { 173 PhysicsObject Pit = PhysicsObject.CreateStaticObject(50.0, 50.0); 174 Pit.IgnoresCollisionResponse = true; 175 Pit.IsVisible = false; 176 AddCollisionHandler(Pit, PitCollide); 177 return Pit; 178 } 179 158 180 void EnemyPlayerCollision(PhysicsObject Enemy, PhysicsObject Target) 159 181 { 160 if (Target is PlatformCharacter) 161 { 162 // Tarkista onko elämiä jäljellä 163 if (Target == Player1) 182 if (Target == Player1) 183 { 184 Death(Player1); 185 } 186 else if (Target == Player2) 187 { 188 Death(Player2); 189 } 190 } 191 192 void LaserCollide(PhysicsObject WProjectile, PhysicsObject Target) 193 { 194 if((Target!=Player1) || (Target!=Player2)) 195 WProjectile.Destroy(); 196 //EnemyDeath(Enemy); 197 198 } 199 200 void PitCollide(PhysicsObject Pit, PhysicsObject Target) 201 { 202 if (Target == Player1) 203 { 204 Death(Player1); 205 } 206 else if (Target == Player2) 207 { 208 Death(Player2); 209 } 210 } 211 212 213 void Death(PlatformCharacter Player) 214 { 215 if (Player == Player1) 164 216 { 165 217 LifeP1.Value--; 166 Death(Player1);167 218 if (Player2.IsDestroyed() == false) 168 219 { 169 220 Camera.Follow(Player2); 170 221 } 171 172 } 173 else if (Target == Player2) 222 Player1.Destroy(); 223 224 } 225 else if (Player == Player2) 174 226 { 175 227 LifeP2.Value--; 176 Death(Player2); 177 } 178 } 179 } 228 Player2.Destroy(); 229 Camera.Follow(Player1); 230 } 180 231 181 182 void Death(PlatformCharacter Player)183 {184 Player.Destroy();185 232 if ((Player1.IsDestroyed()) && (Player2.IsDestroyed())) 186 233 { 187 RespawnPlayers(RespawnCoord.X, RespawnCoord.Y+10); 188 } 189 234 RespawnPlayers(RespawnCoord.X, RespawnCoord.Y + 10); 235 Camera.Follow(Player1); 236 } 237 238 } 239 240 void EnemyDeath(PhysicsObject Enemy) 241 { 242 Enemy.Destroy(); 190 243 } 191 244 192 245 void RespawnPlayers(double x, double y) 193 246 { 194 if(LifeP1 > 0) 247 248 249 if (LifeP1 > 0) 195 250 { 196 251 Player1 = CreatePlayer(); 197 Player1.X = x +30;252 Player1.X = x + 30; 198 253 Player1.Y = y; 199 254 Camera.Follow(Player1); … … 208 263 Camera.Follow(Player2); 209 264 } 210 Controls(); 211 } 265 else 266 { 267 Camera.Follow(Player1); 268 } 269 270 } 271 Controls(); 212 272 } 213 273
Note: See TracChangeset
for help on using the changeset viewer.