Ignore:
Timestamp:
2016-03-12 14:59:44 (5 years ago)
Author:
aaelruut
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2015/koodauskerho/AakeR/IMBT/IMBT/IMBT/IMBT.cs

    r7123 r7133  
    99public class Pelaaja : PhysicsObject 
    1010{ 
     11    public SoundEffect tankkiAani; 
    1112    public DoubleMeter healthit; 
    1213    public bool savuttaa = false; 
     
    1516    public bool telaJaljetLimit; 
    1617    public bool voiLiikkua = true; 
     18    public bool liikkuu = false; 
    1719    public double vahinkoKerroin = 1; 
    18  
    19     public Pelaaja(double leveys, double korkeus, Image pelaajanKuva, Image tykkiTorninKuva, Image rajahdysKuva, Image liekkiKuva) 
     20    public GamePad kontrolleri; 
     21 
     22 
     23    public Pelaaja(double leveys, double korkeus, int valinta, Image pelaajanKuva, Image tykkiTorninKuva, Image rajahdysKuva, Image liekkiKuva, SoundEffect aani) 
    2024        : base(leveys, korkeus) 
    2125    { 
    22  
     26        this.tankkiAani = aani; 
    2327        this.Image = pelaajanKuva; 
    2428        this.healthit = new DoubleMeter(100, 0, 100); 
     
    4650            this.Ase.Destroy(); 
    4751            this.Destroy(); 
     52            kontrolleri.Vibrate(1, 1, 0, 0, 2); 
    4853        }; 
    4954 
     
    5156        { 
    5257            this.healthit.Value -= 3.5* vahinkoKerroin; 
     58            kontrolleri.Vibrate(0.5, 0.5, 10, 10, 0.1); 
    5359            SavuLiekki(); 
    5460        }); 
     
    5662        { 
    5763            this.healthit.Value -= 12* vahinkoKerroin; 
     64            kontrolleri.Vibrate(0.5, 0.5, 10, 10, 0.3); 
    5865            SavuLiekki(); 
    5966        }); 
     
    6168        { 
    6269            this.healthit.Value -= 18* vahinkoKerroin; 
     70            kontrolleri.Vibrate(0.5, 0.5, 10, 10, 0.1); 
    6371            SavuLiekki(); 
    6472        }); 
     
    7179        { 
    7280            this.healthit.Value -= 2.5*vahinkoKerroin; 
     81            kontrolleri.Vibrate(0.5, 0.5, 10, 10, 0.1); 
    7382            SavuLiekki(); 
    7483        }); 
     
    7685        { 
    7786            this.healthit.Value -= 3.5 * vahinkoKerroin; 
     87            kontrolleri.Vibrate(0.5, 0.5, 10, 10, 0.1); 
    7888            SavuLiekki(); 
    7989        }); 
    8090 
    81         this.Ase = new AssaultRifle(30, 30); 
     91        int[] tykkienKoot = { 30, 30, 30, 50 }; 
     92 
     93        this.Ase = new AssaultRifle(tykkienKoot[valinta], tykkienKoot[valinta]); 
    8294        this.Ase.Image = tykkiTorninKuva; 
    8395 
     
    123135            liekki.ScaleAmount = 0.8; 
    124136            Game.Instance.Add(liekki); 
     137            kontrolleri.Vibrate(0.1, 0.1, 0, 0, 1000); 
    125138            liekki.Position = this.Position; 
    126139            Timer seuraajaAjastin = new Timer(); 
     
    136149 
    137150    } 
    138  
    139  
    140151 
    141152 
     
    194205    static Image perusAmmus2 = LoadImage("Kone2PerusAmmus"); 
    195206    static Image perusAmmus3 = LoadImage("Kone3PerusAmmus"); 
    196     static Image perusammus4 = LoadImage("Kone4PerusAmmus"); 
    197  
    198     Image[] perusAmmus = { perusAmmus1, perusAmmus2, perusAmmus3 }; 
     207    static Image perusAmmus4 = LoadImage("Kone4PerusAmmus"); 
     208 
     209    Image[] perusAmmus = { perusAmmus1, perusAmmus2, perusAmmus3, perusAmmus4 }; 
    199210 
    200211    Image hakeutuvaRakettikuva = LoadImage("HakeutuvaRaketti"); 
     
    211222    Image suojaKilpiTykkiKuva = LoadImage("TykkiSuojaKilpi"); 
    212223    Image haulikkoAmmusKuva = LoadImage("haulikkoAmmus"); 
     224    Image superSniperAmmus = LoadImage("SuperSniperAmmus"); 
     225    Image tahtain = LoadImage("Tahtain"); 
     226    Image tahtain2 = LoadImage("Tahtain2"); 
    213227    public Image liekkiKuva = LoadImage("Liekki"); 
    214228    SoundEffect ammusAani = LoadSoundEffect("AmmusÄäni"); 
     
    220234    SoundEffect shieldAani = LoadSoundEffect("ShieldAani2"); 
    221235    SoundEffect haulikkoAani = LoadSoundEffect("HaulikkoAani"); 
    222     SoundEffect tankkiAani = LoadSoundEffect("TankkiAaniMuokattu"); 
     236    SoundEffect tankkiAaniMuokattu = LoadSoundEffect("TankkiAaniMuokattu"); 
     237    SoundEffect tankkiAani = LoadSoundEffect("TankkiAani"); 
    223238    Pelaaja pelaaja1; 
    224239    MultiSelectWindow alkuValikko; 
     
    262277 
    263278        alkuValikko.Destroy(); 
    264         string Kenttä = RandomGen.SelectOne<string>("Kenttä1", "Kenttä2", "Kenttä3", "Kenttä4", "Kenttä5"); 
     279        string Kenttä = RandomGen.SelectOne<string>("Kenttä1", "Kenttä2", "Kenttä3", "Kenttä4", "Kenttä5", "Kenttä6", "Kenttä7", "Kenttä8", "Kenttä9"); 
    265280        ColorTileMap ruudut = ColorTileMap.FromLevelAsset(Kenttä); 
    266281 
     
    286301    Pelaaja LuoPelaaja(Vector paikka, double leveys, double korkeus, int pelaajanr) 
    287302    { 
    288         //int valinta = RandomGen.NextInt(pelaaja1Koneet.Length); 
    289         int valinta = 3; 
    290  
    291         Pelaaja pelaaja = new Pelaaja(leveys * 0.8, korkeus * 0.8, pelaajienKoneet[pelaajanr - 1][valinta], pelaajienTykit[pelaajanr - 1][valinta], rajahdysKuva, liekkiKuva); 
     303        int valinta = RandomGen.NextInt(pelaaja1Koneet.Length); 
     304        //int valinta = 3; 
     305 
     306        Pelaaja pelaaja = new Pelaaja(leveys * 0.8, korkeus * 0.8, valinta, pelaajienKoneet[pelaajanr - 1][valinta], pelaajienTykit[pelaajanr - 1][valinta], rajahdysKuva, liekkiKuva, LoadSoundEffect("TankkiAani")); 
    292307        pelaaja.AngularDamping = 0.95; 
    293308        pelaaja.Position = paikka; 
     
    302317        kontrollerit[pelaajanr - 1].Listen(Button.LeftShoulder, ButtonState.Pressed, Boosti, "", pelaaja, valinta); 
    303318 
     319        pelaaja.kontrolleri = kontrollerit[pelaajanr - 1]; 
     320 
    304321        return pelaaja; 
    305322    } 
     
    373390        if (pelaaja.voiLiikkua) 
    374391        { 
     392            if (!pelaaja.liikkuu) 
     393            { 
     394                pelaaja.tankkiAani.Play(0.5, 0.0, 0.0); 
     395                pelaaja.liikkuu = true; 
     396            } 
     397            if (tatinTila.StateVector.Magnitude < 0.1) 
     398            { 
     399                pelaaja.tankkiAani.Stop(); 
     400                pelaaja.liikkuu = false; 
     401            } 
     402 
    375403            Angle vanhaKulma = pelaaja.Angle; 
    376404            pelaaja.Angle = tatinTila.StateVector.Angle; 
     
    385413                telaJaljet.Angle = pelaaja.Angle; 
    386414                telaJaljet.Position = pelaaja.Position; 
    387                 tankkiAani.Play(); 
     415                 
    388416                Add(telaJaljet, -1); 
    389417 
    390418                Timer.SingleShot(0.05, delegate { pelaaja.telaJaljetLimit = true; }); 
     419                 
    391420 
    392421                Timer.SingleShot(RandomGen.NextDouble(2.0, 20.0), delegate { telaJaljet.Destroy(); }); 
     
    528557                                    ammus.Image = haulikkoAmmusKuva; 
    529558                                    ammus.Tag = "haulikko"; 
    530                                     Vector suunta = Vector.FromLengthAndAngle(ammus.Velocity.Magnitude, (ammus.Velocity.Angle) + Angle.FromDegrees(RandomGen.NextDouble(-3.0, 3.0))); 
     559                                    Vector suunta = Vector.FromLengthAndAngle(ammus.Velocity.Magnitude, (ammus.Velocity.Angle) + Angle.FromDegrees(RandomGen.NextDouble(-10.0, 10.0))); 
    531560                                    ammus.Velocity = suunta; 
    532561                                    AddCollisionHandler(ammus, delegate (PhysicsObject a, PhysicsObject b) 
     
    738767 
    739768    } 
     769 
     770    public void TarkistaTatti() 
     771    { 
     772        /* 
     773        if (pelaaja1 != null && ControllerOne.LeftThumbDirection.Magnitude < 0.001) 
     774        { 
     775            tankkiAani.Stop(); 
     776            pelaaja1.liikkuu = false; 
     777        } 
     778        */ 
     779 
     780 
     781 
     782        for (int i = 0; i < pelaajat.Count; i++) 
     783        { 
     784            if (pelaajat != null && pelaajat.Count > i && pelaajat[i].kontrolleri.LeftThumbDirection.Magnitude < 0.0001) 
     785            { 
     786                Pelaaja pelaaja = pelaajat[i]; 
     787                pelaaja.tankkiAani.Stop(); 
     788                pelaaja.liikkuu = false; 
     789            } 
     790        } 
     791         
     792    } 
     793 
     794    protected override void Update(Time time) 
     795    { 
     796        base.Update(time); 
     797        TarkistaTatti(); 
     798    } 
     799 
    740800} 
Note: See TracChangeset for help on using the changeset viewer.