Changeset 7489 for 2016/25


Ignore:
Timestamp:
2016-06-22 15:55:11 (7 years ago)
Author:
koannak
Message:
 
Location:
2016/25/AaroV/Tankz
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • 2016/25/AaroV/Tankz/Tankz/Tankz/Tankz.cs

    r7477 r7489  
    1414    public override void Begin() 
    1515    { 
    16         tankki = Luotankki(-300,-100); 
    17         tankki2 = Luotankki(300,-100); 
    18         tankki3 = Luotankki(0, -100); 
     16        tankki = Luotankki(-300,0,2); 
     17        tankki2 = Luotankki(300,0,3); 
     18        tankki3 = Luotankki(0, 0,4); 
    1919        Surface maasto = Surface.CreateBottom(Level, 50, 200, 20, 50); 
    2020        Add(maasto); 
     21        maasto.Restitution = 0.1; 
    2122        Gravity = new Vector(0, -600); 
    2223        Keyboard.Listen(Key.Down, ButtonState.Down, KaannaTykkia,null, tankki, -1.0); 
     
    3031        Keyboard.Listen(Key.LeftShift, ButtonState.Released, Ammu, null, tankki3); 
    3132 
    32  
    3333        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    3434        Level.Background.Color = Color.MediumTurquoise; 
     
    3737    } 
    3838     void KaannaTykkia(Tankki tankki, Double kulma) 
    39     { 
     39    {  
    4040        tankki.kulma += kulma; 
    4141    }void Ammu(Tankki tankki) { 
    42  
     42        if (tankki.ElamaLaskuri.Value == 0) return; 
    4343        Vector suunta = Vector.FromLengthAndAngle(tankki.tykki.Width, tankki.tykki.AbsoluteAngle); 
    4444        PhysicsObject ammus = new PhysicsObject(10, 2); 
     
    4747        ammus.Angle = tankki.tykki.AbsoluteAngle ; 
    4848        Add(ammus); 
    49         ammus.Velocity = Vector.FromLengthAndAngle(800, tankki.tykki.AbsoluteAngle ) ; 
     49        ammus.Tag = "ammus"; 
     50        AddCollisionHandler(ammus, CollisionHandler.DestroyObject); 
     51        ammus.LifetimeLeft = TimeSpan.FromSeconds(4); 
     52        ammus.Velocity = Vector.FromLengthAndAngle(850, tankki.tykki.AbsoluteAngle ) ; 
    5053    } 
    51     Tankki Luotankki(Double X, Double Y) { 
     54    Tankki Luotankki(Double X, Double Y,int tormausryhma) { 
    5255       Tankki tankki = new Tankki(30, 30); 
    53         tankki.CollisionIgnoreGroup = 2; 
     56        tankki.CollisionIgnoreGroup = tormausryhma; 
    5457        Add(tankki); 
    5558        tankki.X = X; 
    5659        tankki.Y = Y; 
    57          
     60        tankki.Mass = 5; 
     61 
     62 
     63        AddCollisionHandler(tankki, "ammus", tankkiinosui); 
    5864        return tankki; 
    5965    } 
    6066 
    61  
    62  
    63  
    64  
     67    void tankkiinosui(PhysicsObject tankki,PhysicsObject ammus) 
     68    { 
     69        Tankki pelaaja = (Tankki)tankki; 
     70        pelaaja.ElamaLaskuri.Value--; 
     71         
     72    } 
    6573} 
    66  
    67  
    6874 
    6975class Tankki : PhysicsObject 
     
    8187        IsUpdated = true; 
    8288    } 
    83      
    8489 
    8590    public override void Update(Time time) 
     
    9095        base.Update(time); 
    9196 
    92          
    9397    } 
    9498} 
Note: See TracChangeset for help on using the changeset viewer.