Ignore:
Timestamp:
2014-06-25 15:03:41 (7 years ago)
Author:
kivijuno
Message:

Hyvää kanaa!

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2014/26/KirmoN/kanapeli/kanapeli/kanapeli/kanapeli.cs

    r5076 r5112  
    1919    Image betoniseina1kuva = LoadImage("betoniseina1"); 
    2020    Image metalliseina1kuva = LoadImage("metalliseina1"); 
     21    Image metalliseina2kuva = LoadImage("metalliseina2"); 
     22    Image ammuskuva = LoadImage("ammus"); 
     23    Image hylsynkuva = LoadImage("hylsy"); 
     24 
     25    AssaultRifle pelaajan1Ase; 
    2126 
    2227    SoundEffect maaliAani = LoadSoundEffect("maali"); 
     
    3035 
    3136        Camera.Follow(pelaaja1); 
    32         Camera.ZoomFactor = 3.5; 
     37        Camera.ZoomFactor = 4.0; 
    3338        Camera.StayInLevel = false; 
    3439    } 
     
    4247        kentta.SetTileMethod('@', Lisaabetoniseina1); 
    4348        kentta.SetTileMethod('&', Lisaametalliseina1); 
     49        kentta.SetTileMethod('£', Lisaametalliseina2); 
    4450        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    4551        Level.Background.CreateGradient(Color.White, Color.SkyBlue); 
     
    7076        pelaaja1.Mass = 4.0; 
    7177        pelaaja1.Image = pelaajanKuva; 
     78        pelaajan1Ase = new AssaultRifle(30, 10); 
     79        pelaajan1Ase.Ammo.Value = 3000; 
     80        pelaajan1Ase.ProjectileCollision = AmmusOsui; 
     81        pelaaja1.Add(pelaajan1Ase); 
     82        pelaajan1Ase.Y = 11; 
     83        pelaajan1Ase.IsVisible = false; 
     84        pelaajan1Ase.FireRate = 15.0; 
     85        pelaajan1Ase.AmmoIgnoresGravity = true; 
     86        pelaajan1Ase.CanHitOwner = true; 
     87        pelaajan1Ase.Power.DefaultValue = 200;  
    7288        AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 
    7389        pelaaja1.Restitution = 0; 
     90        pelaaja1.CollisionIgnoreGroup = 1; 
    7491        Add(pelaaja1); 
     92       } 
     93 
     94    void LisääVihollinen(Vector paikka, double leveys, double korkeus) 
     95    { 
     96        PhysicsObject vihollinen1 = new PhysicsObject(40, 20); 
     97        vihollinen1.Shape = Shape.Rectangle; 
     98        vihollinen1.Mass = 10.0; 
     99        Add(vihollinen1); 
     100    } 
     101 
     102    void HeitaHylsy() 
     103    { 
     104        PhysicsObject hylsy = new PhysicsObject(3.0, 1.0); 
     105        hylsy.IgnoresCollisionResponse = false; 
     106        pelaaja1.Throw(hylsy, Angle.FromDegrees(150 + RandomGen.NextDouble(-10, 10)), 250); 
     107        hylsy.IgnoresGravity = false; 
     108        hylsy.Image = hylsynkuva; 
     109        hylsy.CanRotate = true; 
     110        hylsy.MaximumLifetime = TimeSpan.FromSeconds(2.0); 
     111        hylsy.Position = pelaaja1.Position + pelaaja1.FacingDirection.GetVector() * -20 + new Vector(0, -2); 
     112        hylsy.AbsoluteAngle = pelaaja1.FacingDirection.Angle; 
     113        hylsy.CollisionIgnoreGroup = 1; 
     114    } 
     115 
     116 
     117    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 
     118    { 
     119        //ammus.Destroy(); 
     120    } 
     121 
     122 
     123    void AmmuAseella(AssaultRifle ase) 
     124    { 
     125        ase.AbsoluteAngle = pelaaja1.FacingDirection.Angle; 
     126        PhysicsObject ammus = ase.Shoot(); 
     127        HeitaHylsy(); 
     128 
     129        if (ammus != null) 
     130        { 
     131            ammus.Size *= 0.3; 
     132            ammus.Height = 1.5; 
     133            ammus.Image = ammuskuva; 
     134            ammus.MaximumLifetime = TimeSpan.FromSeconds(5.0); 
     135        } 
     136    } 
     137 
     138    void LuoAikaLaskuri() 
     139    { 
     140        Timer aikaLaskuri = new Timer(); 
     141        aikaLaskuri.Start(); 
     142 
     143        Label aikaNaytto = new Label(); 
     144        aikaNaytto.TextColor = Color.White; 
     145        aikaNaytto.DecimalPlaces = 1; 
     146        aikaNaytto.BindTo(aikaLaskuri.SecondCounter); 
     147        Add(aikaNaytto); 
     148        double aikaaKulunut = aikaLaskuri.SecondCounter.Value; 
    75149    } 
    76150 
     
    95169    } 
    96170 
     171    void Lisaametalliseina2(Vector paikka, double leveys, double korkeus) 
     172    { 
     173        PhysicsObject metalliseina2 = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     174        metalliseina2.IgnoresCollisionResponse = true; 
     175        metalliseina2.Position = paikka; 
     176        metalliseina2.Image = metalliseina2kuva; 
     177        metalliseina2.Tag = "metalliseina2"; 
     178        Add(metalliseina2); 
     179    } 
     180 
    97181    void LisaaNappaimet() 
    98182    { 
     
    106190        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
    107191 
     192        Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Ammu", pelaajan1Ase); 
     193 
    108194        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus); 
    109195        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus); 
Note: See TracChangeset for help on using the changeset viewer.