Ignore:
Timestamp:
2016-07-06 12:02:37 (3 years ago)
Author:
pepihlaj
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2016/27/PekkaP/FinnishTroops/FinnishTroops/FinnishTroops/FinnishTroops.cs

    r7785 r7865  
    1515    PlatformCharacter pelaaja1; 
    1616    Image pelaajanKuva = LoadImage("SOTILAS"); 
    17     Image tahtiKuva = LoadImage("tahti"); 
    18     Image pahisKuva = LoadImage("pahis"); 
     17    Image cash = LoadImage("Cash"); 
     18    Image pahisKuva = LoadImage("Sotilas1Vihollinen"); 
    1919    SoundEffect maaliAani = LoadSoundEffect("maali"); 
    2020    IntMeter pelaajan1Pisteet; 
     21    Image ammus = LoadImage("Ammus2"); 
    2122    public override void Begin() 
    2223    { 
     
    4748    void LisaaPahis(Vector paikka, double leveys, double korkeus) 
    4849    { 
    49         PlatformCharacter pahis = new PlatformCharacter(leveys, korkeus); 
     50        PlatformCharacter pahis = new PlatformCharacter(leveys*0.8, korkeus*0.9); 
    5051        pahis.Image = pahisKuva; 
    5152        Add(pahis); 
     53        pahis.Tag = "PahisSotilas"; 
    5254 
    5355        PlatformWandererBrain tasoAivot = new PlatformWandererBrain(); 
     
    5961 
    6062    } 
     63    class Vihu : PhysicsObject 
     64    { 
     65        private IntMeter elamaLaskuri = new IntMeter(3, 0, 3); 
     66        public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 
     67 
     68        public Vihu(double leveys, double korkeus) 
     69            : base(leveys, korkeus) 
     70        { 
     71            elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 
     72        } 
     73    } 
    6174 
    6275    void LisaaTaso(Vector paikka, double leveys, double korkeus) 
     
    7386        tahti.IgnoresCollisionResponse = true; 
    7487        tahti.Position = paikka; 
    75         tahti.Image = tahtiKuva; 
     88        tahti.Image = cash; 
    7689        tahti.Tag = "Cash"; 
    7790        Add(tahti); 
     
    8093    void LisaaPelaaja(Vector paikka, double leveys, double korkeus) 
    8194    { 
    82         pelaaja1 = new PlatformCharacter(leveys*0.7, korkeus); 
     95        pelaaja1 = new PlatformCharacter(leveys*0.6, korkeus*0.9); 
    8396        pelaaja1.Position = paikka; 
    8497        pelaaja1.Mass = 4.0; 
     
    8699        AddCollisionHandler(pelaaja1, "Cash", TormaaTahteen); 
    87100        Add(pelaaja1); 
    88     } 
     101        pelaaja1.Tag = "pelaaja1"; 
     102 
     103        //pelaaja1 on PlatformCharacter-tyyppinen 
     104        pelaaja1.Weapon = new AssaultRifle(30, 10); 
     105 
     106        //Ammusten määrä aluksi: 
     107        pelaaja1.Weapon.Ammo.Value = 1000; 
     108 
     109        //Mitä tapahtuu kun ammus osuu johonkin? 
     110        pelaaja1.Weapon.ProjectileCollision = AmmusOsui; 
     111 
     112        Grenade kranaatti = new Grenade(4.0); 
     113 
     114 
     115 
     116 
     117 
     118 
     119    } 
     120    void HeitaKranaatti(PlatformCharacter pelaaja) 
     121    { 
     122        Grenade kranu = new Grenade(4.0); 
     123        Add(kranu); 
     124        pelaaja.Throw(kranu, Angle.FromDegrees(30), 10000); 
     125        kranu.Explosion.ShockwaveReachesObject += KranaattiOsui; 
     126    } 
     127    void KranaattiOsui(IPhysicsObject rajahdyksenKohde, Vector v) 
     128    { 
     129        if(rajahdyksenKohde.Tag.Equals("PahisSotilas") || rajahdyksenKohde.Tag.Equals("pelaaja1")) rajahdyksenKohde.Destroy(); 
     130    } 
     131 
    89132 
    90133    void LisaaNappaimet() 
     
    92135        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    93136        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    94  
     137        Keyboard.Listen(Key.Z, ButtonState.Pressed, HeitaKranaatti, "Heitä kranu", pelaaja1); 
    95138        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 
    96139        Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus); 
     
    102145        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus); 
    103146        ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
     147 
     148        Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Ammu", pelaaja1); 
    104149 
    105150        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
     
    143188        return pelaajan1Pisteet; 
    144189    } 
     190    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 
     191    { 
     192        ammus.Destroy(); 
     193    } 
     194    void AmmuAseella(PlatformCharacter pelaaja) 
     195{ 
     196    PhysicsObject ammus = pelaaja.Weapon.Shoot(); 
     197 
     198    if(ammus != null) 
     199    { 
     200        ammus.Size *= 1.0; 
     201            ammus.Image = LoadImage("Ammus2"); 
     202        ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0); 
     203          
     204        } 
     205     
    145206} 
     207} 
Note: See TracChangeset for help on using the changeset viewer.