Ignore:
Timestamp:
2016-07-07 15:04:58 (3 years ago)
Author:
aaelruut
Message:
 
File:
1 edited

Legend:

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

    r7908 r7972  
    3838public class MonsteriPelaaja : Pelaaja 
    3939{ 
     40    public bool voiLyoda = true; 
     41    public bool voiTehdaErikoiskyvyn = true; //sallii napin painamisen 
    4042    public MonsteriPelaaja(double leveys, double korkeus, int valinta, Image pelaajanKuva) 
    4143        : base(leveys, korkeus, valinta, pelaajanKuva) 
    4244    { 
    43          
     45        this.LinearDamping = 0.65; 
     46        Nopeus = 9000; 
     47        healthit.MaxValue = 200; 
     48        healthit.Value = 200; 
    4449    } 
    4550} 
     
    278283    Image boostKuva8 = LoadImage("BoostKuva8"); 
    279284    Image boostKuva9 = LoadImage("BoostKuva9"); 
     285    Image lyontiKuva = LoadImage("LyontiKuva"); 
     286    Image lyontiKuvaKaannetty = LoadImage("LyontiKuvaKaannetty"); 
     287    Image monsteriJaljet = LoadImage("MonsterJaljet"); 
    280288    Image[] boostinKuvat = LoadImages( 
    281289             "BoostKuva1", 
     
    292300        "Pelaaja1MonsterKavelyAnimaatio1", 
    293301        "Pelaaja1MonsterKavelyAnimaatio2", 
    294         "Pelaaja1MonsterKavelyAnimaatio3" 
     302        "Pelaaja1MonsterKavelyAnimaatio3", 
     303        "Pelaaja1MonsterKavelyAnimaatio4" 
    295304        ); 
    296305 
     
    298307        "Pelaaja2MonsterKavelyAnimaatio1", 
    299308        "Pelaaja2MonsterKavelyAnimaatio2", 
    300         "Pelaaja2MonsterKavelyAnimaatio3" 
     309        "Pelaaja2MonsterKavelyAnimaatio3", 
     310        "Pelaaja2MonsterKavelyAnimaatio4" 
    301311        ); 
    302312 
     
    304314        "Pelaaja3MonsterKavelyAnimaatio1", 
    305315        "Pelaaja3MonsterKavelyAnimaatio2", 
    306         "Pelaaja3MonsterKavelyAnimaatio3" 
     316        "Pelaaja3MonsterKavelyAnimaatio3", 
     317        "Pelaaja3MonsterKavelyAnimaatio4" 
    307318        ); 
    308319 
     
    310321        "Pelaaja4MonsterKavelyAnimaatio1", 
    311322        "Pelaaja4MonsterKavelyAnimaatio2", 
    312         "Pelaaja4MonsterKavelyAnimaatio3" 
     323        "Pelaaja4MonsterKavelyAnimaatio3", 
     324        "Pelaaja4MonsterKavelyAnimaatio4" 
    313325        ); 
    314326 
     
    350362    void Alkuvalikko() 
    351363    { 
    352         MediaPlayer.Play("MenuMusic"); 
    353         MediaPlayer.IsRepeating = true; 
     364        /*MediaPlayer.Play("MenuMusic"); 
     365        MediaPlayer.IsRepeating = true;*/ 
    354366 
    355367        alkuValikko = new MultiSelectWindow("Pelin alkuvalikko", 
     
    376388        MediaPlayer.Stop(); 
    377389        alkuValikko.Destroy(); 
    378         switch (RandomGen.NextInt(4)) 
     390        /*switch (RandomGen.NextInt(4)) 
    379391        { 
    380392            case 0: 
     
    396408        } 
    397409 
    398         MediaPlayer.Volume = 0.5; 
     410        MediaPlayer.Volume = 0.5;*/ 
    399411        string Kenttä = RandomGen.SelectOne<string>("Kenttä1", "Kenttä2", "Kenttä3", "Kenttä4", "Kenttä5", "Kenttä6", "Kenttä7", "Kenttä8", "Kenttä9"); 
    400412        ColorTileMap ruudut = ColorTileMap.FromLevelAsset(Kenttä); 
     
    431443    { 
    432444        Pelaaja luotuPelaaja; 
    433  
    434         //luotuPelaaja = LuoTankkiPelaaja(paikka, leveys, korkeus, pelaajanr); 
    435         luotuPelaaja = LuoMonsteriPelaaja(paikka, leveys, korkeus, pelaajanr); 
     445        /*var luonti = RandomGen.SelectOne<Func<Vector, double, double, int, Pelaaja>>(LuoTankkiPelaaja, LuoMonsteriPelaaja); 
     446        luotuPelaaja = luonti(paikka, leveys, korkeus, pelaajanr);*/ 
     447        luotuPelaaja = LuoTankkiPelaaja(paikka, leveys, korkeus, pelaajanr); 
     448        //luotuPelaaja = LuoMonsteriPelaaja(paikka, leveys, korkeus, pelaajanr); 
    436449        return luotuPelaaja; 
    437450    } 
     
    440453    { 
    441454        //int valinta = RandomGen.NextInt(0,3); 
    442         int valinta = 1; 
    443         MonsteriPelaaja pelaaja = new MonsteriPelaaja(leveys, korkeus, valinta, pelaaja1MonsterKavelyKuvat[0]); 
     455        int valinta = 0; 
     456        MonsteriPelaaja pelaaja = new MonsteriPelaaja(leveys*1.5, korkeus* 0.8, valinta, pelaaja1MonsterKavelyKuvat[0]); 
     457        pelaaja.AngularDamping = 0.95; 
    444458        pelaaja.Position = paikka; 
     459        pelaaja.Animation = new Animation(pelaaja1MonsterKavelyKuvat); 
     460        pelaaja.Animation.FPS = 8; 
    445461 
    446462        GamePad[] kontrollerit = { ControllerOne, ControllerTwo, ControllerThree, ControllerFour }; 
    447463          //kontrollerit[pelaajanr - 1].ListenAnalog(AnalogControl.RightStick, 0.0, KaannaTykkia, "", pelaaja); 
    448           //kontrollerit[pelaajanr - 1].ListenAnalog(AnalogControl.LeftStick, 0.0, KaannaPelaajaa, "", pelaaja); 
     464          kontrollerit[pelaajanr - 1].ListenAnalog(AnalogControl.LeftStick, 0.0, KaannaPelaajaa, "", pelaaja); 
    449465         
    450         //kontrollerit[pelaajanr - 1].Listen(Button.RightTrigger, ButtonState.Pressed, Ammu, "", pelaaja, "perus", valinta); 
     466        kontrollerit[pelaajanr - 1].Listen(Button.RightTrigger, ButtonState.Pressed, MonsterLyonti, "", pelaaja); 
    451467        //kontrollerit[pelaajanr - 1].Listen(Button.LeftTrigger, ButtonState.Pressed, Ammu, "", pelaaja, "raketti", valinta); 
    452468        //kontrollerit[pelaajanr - 1].Listen(Button.RightShoulder, ButtonState.Pressed, Ammu, "", pelaaja, "pallo", valinta); 
    453         //kontrollerit[pelaajanr - 1].Listen(Button.LeftShoulder, ButtonState.Pressed, Erikoiskyky, "", pelaaja, valinta); 
     469        kontrollerit[pelaajanr - 1].Listen(Button.LeftShoulder, ButtonState.Pressed, MonsteriErikoisKyky, "", pelaaja); 
    454470        pelaaja.kontrolleri = kontrollerit[pelaajanr - 1]; 
    455471 
     
    616632        if (pelaaja.voiLiikkua) 
    617633        { 
    618             if (!pelaaja.liikkuu) 
     634            if (tatinTila.StateVector.Magnitude > 0.75) 
     635            { 
     636                if (pelaaja.liikkuu == false) 
     637                { 
     638                    pelaaja.Animation.Start(); 
     639                    pelaaja.liikkuu = true; 
     640                } 
     641                 
     642            } 
     643 
     644            else 
    619645            { 
    620646                
     647                pelaaja.liikkuu = false; 
     648                pelaaja.Animation.Stop(); 
     649                 
     650            } 
     651            /*if (pelaaja.liikkuu) 
     652            { 
     653 
    621654                pelaaja.liikkuu = true; 
    622             } 
    623             if (tatinTila.StateVector.Magnitude < 0.1) 
    624             { 
    625                  
    626                 pelaaja.liikkuu = false; 
    627             } 
     655                pelaaja.Animation.Start(); 
     656 
     657            }*/ 
     658             
     659            /*if (tatinTila.StateVector.Magnitude > 0.9) 
     660            { 
     661                pelaaja.liikkuu = true; 
     662                pelaaja.Animation.Start(); 
     663            }*/ 
    628664 
    629665            Angle vanhaKulma = pelaaja.Angle; 
     
    699735                            ammus.Image = rakettiKuva; 
    700736                            ammus.Tag = "raketti"; 
     737                            ammus.Velocity *= 1.5; 
    701738                            ammus.Size *= 2.5; 
    702739                            AddCollisionHandler(ammus, delegate (PhysicsObject a, PhysicsObject b) 
     
    10921129    } 
    10931130 
     1131    void MonsterLyonti(MonsteriPelaaja pelaaja) 
     1132    { 
     1133        if (pelaaja.healthit.Value == 0 ||pelaaja.voiLyoda == false ) return; 
     1134        Vector hit = pelaaja.Position + Vector.FromLengthAndAngle(pelaaja.Width* 0.75, pelaaja.Angle); 
     1135        GameObject Lyonti = new GameObject(25.5, 48); 
     1136        Lyonti.Angle = pelaaja.Angle; 
     1137        Lyonti.Image = RandomGen.SelectOne(lyontiKuva, lyontiKuvaKaannetty); 
     1138        Lyonti.Position = hit; 
     1139        Lyonti.LifetimeLeft = TimeSpan.FromSeconds(0.2); 
     1140        Add(Lyonti); 
     1141        pelaaja.voiLyoda = false; 
     1142        Timer.SingleShot(0.2, delegate  
     1143        { 
     1144            pelaaja.voiLyoda = true; 
     1145        }); 
     1146        List<GameObject> kohteet = GetObjects(x => x is Pelaaja && Vector.Distance( x.Position, hit) < 50); 
     1147        foreach (GameObject item in kohteet) 
     1148        { 
     1149            Pelaaja kohde = item as Pelaaja; 
     1150            kohde.healthit.Value -= 10; 
     1151 
     1152        } 
     1153    } 
     1154 
     1155    void MonsteriErikoisKyky(MonsteriPelaaja pelaaja) 
     1156    { 
     1157        if (pelaaja.voiTehdaErikoiskyvyn == true) 
     1158        { 
     1159            pelaaja.IgnoresCollisionResponse = true; 
     1160            pelaaja.Nopeus = 20000; 
     1161            pelaaja.voiTehdaErikoiskyvyn = false; 
     1162            Timer.SingleShot(4.5, delegate 
     1163            { 
     1164                pelaaja.voiTehdaErikoiskyvyn = true; 
     1165            }); 
     1166            Timer.SingleShot(1.25, delegate 
     1167            { 
     1168                pelaaja.IgnoresCollisionResponse = false; 
     1169                pelaaja.Nopeus = 9000; 
     1170            }); 
     1171        } 
     1172    } 
     1173 
    10941174 
    10951175    public void TarkistaTatti() 
Note: See TracChangeset for help on using the changeset viewer.