Changeset 3611 for 2012/27


Ignore:
Timestamp:
2012-07-05 15:07:05 (11 years ago)
Author:
nivikinn
Message:

Talletus.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2012/27/NikoKi/EpicTankBattle/EpicTankBattle/EpicTankBattle/EpicTankBattle.cs

    r3588 r3611  
    3434    Cannon P2tykki; 
    3535    Direction tankki1suunta = Direction.Right; 
     36    Direction tankki2suunta = Direction.Left; 
    3637 
    3738    public override void Begin() 
     
    5354        Camera.StayInLevel = false; 
    5455        Camera.ZoomToLevel(); 
    55         Surface.CreateLeft(Level); 
    56         Surface.CreateRight(Level); 
     56        /*Surface.CreateLeft(Level); 
     57        Surface.CreateRight(Level);*/ 
    5758 
    5859        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
     
    6061 
    6162        P1 = new Tankki(40, 25); 
     63        P1.Tag = "tankki"; 
    6264        P1.Image = Punainentankki; 
    6365        P1.PlatformTolerance = 1; 
     
    6870 
    6971        P1tykki = new Cannon(60, 7); 
     72        P1tykki.Tag = "tykki"; 
    7073        P1tykki.Image = LoadImage("tykki"); 
    7174        P1tykki.Angle = Angle.StraightAngle; 
     
    7376 
    7477        P2 = new Tankki(40, 25); 
     78        P2.Tag = "tankki"; 
    7579        P2.Image = Vihreatankki; 
    7680        P2.PlatformTolerance = 1; 
     
    8488 
    8589        P2tykki = new Cannon(60, 7); 
     90        P2tykki.Tag = "tykki"; 
    8691        P2tykki.Image = LoadImage("tykki"); 
    8792        P2.Add(P2tykki); 
     
    97102        nelio.CollisionIgnoreGroup = 1; 
    98103        nelio.KineticFriction = 0; 
     104        nelio.Tag = "nelio"; 
    99105        Add(nelio); 
    100106    } 
     
    127133        Keyboard.Listen(Key.Up, ButtonState.Down, KaannaTykki2, null, P2tykki, -2); 
    128134 
    129         //Keyboard.Listen(Key.LeftControl, ButtonState.Down, P1Ammu, null, P1tykki); 
    130         //Keyboard.Listen(Key.RightControl, ButtonState.Down, P2Ammu, null, P2tykki); 
     135        Keyboard.Listen(Key.LeftControl, ButtonState.Pressed, Ammu, null, P1, P1tykki); 
     136        Keyboard.Listen(Key.RightControl, ButtonState.Pressed, Ammu, null, P2, P2tykki); 
    131137 
    132138    } 
     
    148154                P1tykki.Angle = new Vector(-v.X, v.Y).Angle; 
    149155            } 
     156            if (tankki == P2 && tankki2suunta == Direction.Right) 
     157            { 
     158                tankki2suunta = Direction.Left; 
     159                Vector v = Vector.FromAngle(P2tykki.Angle); 
     160                P2tykki.Angle = new Vector(-v.X, v.Y).Angle; 
     161            } 
     162 
    150163        } 
    151164 
     
    157170                Vector v = Vector.FromAngle(P1tykki.Angle); 
    158171                P1tykki.Angle = new Vector(-v.X, v.Y).Angle; 
     172            } 
     173            if (tankki == P2 && tankki2suunta == Direction.Left) 
     174            { 
     175                tankki2suunta = Direction.Right; 
     176                Vector v = Vector.FromAngle(P2tykki.Angle); 
     177                P2tykki.Angle = new Vector(-v.X, v.Y).Angle; 
    159178            } 
    160179        } 
     
    189208    { 
    190209        double tykinkulma = tykki.Angle.Degrees; 
    191         double uusikulma = tykinkulma + suunta; 
    192  
    193         //if (uusikulma <= 0 && uusikulma >= -90) 
     210        double uusikulma; 
     211 
     212        if (tankki2suunta == Direction.Right) 
     213            uusikulma = tykinkulma - suunta; 
     214        else 
     215            uusikulma = tykinkulma + suunta; 
     216 
     217        if ((tankki2suunta == Direction.Right && uusikulma <= -90 && uusikulma >= -180) || 
     218            (tankki2suunta == Direction.Left && uusikulma <= 0 && uusikulma >= -90)) 
    194219        { 
    195220            tykki.Angle = Angle.FromDegrees(uusikulma); 
    196221        } 
     222    } 
     223 
     224    void Ammu(PhysicsObject pelaaja, Cannon tykki) 
     225    { 
     226        PhysicsObject ammus = new PhysicsObject(30, 30); 
     227        ammus.Position = pelaaja.Position - Vector.FromLengthAndAngle(tykki.Width / 2, tykki.Angle); 
     228        //ammus.LifetimeLeft = TimeSpan.FromMilliseconds(500); 
     229        Add(ammus); 
     230 
     231        ammus.Hit(-2000 * Vector.FromAngle(tykki.Angle)); 
     232        AddCollisionHandler(ammus, "nelio", CollisionHandler.DestroyBoth); 
     233        AddCollisionHandler(ammus, "", CollisionHandler.DestroyObject); 
     234        AddCollisionHandler(ammus, "tankki", OsuuPelaajaan); 
     235    } 
     236 
     237    void OsuuPelaajaan(PhysicsObject ammus, PhysicsObject pelaaja) 
     238    { 
     239        pelaaja.Destroy(); 
    197240    } 
    198241 
Note: See TracChangeset for help on using the changeset viewer.