Changeset 926 for 2010/24


Ignore:
Timestamp:
2010-06-16 21:33:01 (9 years ago)
Author:
danmarti
Message:

Lyhennettiin koodia ja parannettiin kuolemasysteemiä

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2010/24/danmarti/Vantaa 2001/Peli.cs

    r913 r926  
    88    PlatformCharacter Player1; 
    99    PlatformCharacter Player2; 
     10 
    1011    IntMeter LifeP1; 
    1112    IntMeter LifeP2; 
     
    2324    { 
    2425        SetWindowSize(1024, 720, false); 
    25          
    26         LifeP1 = new IntMeter( 3 ); // Pelaajan 1 osumat 
    27         LifeP2 = new IntMeter( 3 ); // Pelaajan 2 osumat 
     26 
     27        LifeP1 = new IntMeter(3); // Pelaajan 1 osumat 
     28        LifeP2 = new IntMeter(3); // Pelaajan 2 osumat 
    2829        LifeMeterP1 = new ValueDisplay(); 
    2930        LifeMeterP2 = new ValueDisplay(); 
     
    3435        LifeMeterP1.BindTo(LifeP1); 
    3536        LifeMeterP2.BindTo(LifeP2); 
    36           
     37 
    3738        StartCoop(); 
    3839    } 
     
    7879        Player.StaticFriction = 0; 
    7980        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 
    8286        //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); 
    8590 
    8691        Player.Weapon = Weapon; 
     
    106111    { 
    107112        TileMap Tiles = TileMap.FromFile("BetaMap.txt"); 
     113        Tiles['x'] = CreatePit; 
    108114        Tiles['f'] = CreateFloor; 
     115        Tiles['w'] = CreateWall; 
    109116        Tiles['r'] = CreateRespawn; 
    110117        Tiles['e'] = CreateEnemy; 
     
    147154    } 
    148155 
     156    PhysicsObject CreateWall() 
     157    { 
     158        PhysicsObject Wall = PhysicsObject.CreateStaticObject(50.0, 50.0); 
     159        return Wall; 
     160    } 
     161 
    149162    PhysicsObject CreateRespawn() 
    150163    { 
     
    156169    } 
    157170 
     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 
    158180    void EnemyPlayerCollision(PhysicsObject Enemy, PhysicsObject Target) 
    159181    { 
    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) 
    164216            { 
    165217                LifeP1.Value--; 
    166                 Death(Player1); 
    167218                if (Player2.IsDestroyed() == false) 
    168219                { 
    169220                    Camera.Follow(Player2); 
    170221                } 
    171  
    172             } 
    173             else if (Target == Player2) 
     222                Player1.Destroy(); 
     223 
     224            } 
     225            else if (Player == Player2) 
    174226            { 
    175227                LifeP2.Value--; 
    176                 Death(Player2); 
    177             } 
    178           } 
    179       } 
     228                Player2.Destroy(); 
     229                Camera.Follow(Player1); 
     230            } 
    180231         
    181  
    182     void Death(PlatformCharacter Player) 
    183     { 
    184         Player.Destroy(); 
    185232        if ((Player1.IsDestroyed()) && (Player2.IsDestroyed())) 
    186233        { 
    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(); 
    190243    } 
    191244 
    192245    void RespawnPlayers(double x, double y) 
    193246    { 
    194         if(LifeP1 > 0) 
     247 
     248 
     249        if (LifeP1 > 0) 
    195250        { 
    196251            Player1 = CreatePlayer(); 
    197             Player1.X = x+30; 
     252            Player1.X = x + 30; 
    198253            Player1.Y = y; 
    199254            Camera.Follow(Player1); 
     
    208263                Camera.Follow(Player2); 
    209264            } 
    210             Controls(); 
    211         } 
     265            else 
     266            { 
     267                Camera.Follow(Player1); 
     268            } 
     269 
     270        } 
     271        Controls(); 
    212272    } 
    213273 
Note: See TracChangeset for help on using the changeset viewer.