Ignore:
Timestamp:
2016-03-12 15:01:36 (3 years ago)
Author:
otjojunt
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2014/koodauskerho/38/PietuR/Weaporage/Weaporage/Weaporage/Weaporage.cs

    r7071 r7134  
    3030    } 
    3131} 
    32  
     32class Valomiekka2 : MeleeAse 
     33{ 
     34    public Valomiekka2(Weaporage peli, double leveys, double korkeus) 
     35            : base(peli, leveys, korkeus) 
     36    { 
     37    } 
     38} 
     39class Valomiekka3 : MeleeAse 
     40{ 
     41    public Valomiekka3(Weaporage peli, double leveys, double korkeus) 
     42            : base(peli, leveys, korkeus) 
     43    { 
     44    } 
     45} 
    3346class MeleeAse : PhysicsObject 
    3447{ 
     
    5063    } 
    5164} 
    52  
    5365class Pommi : PhysicsObject 
    5466{ 
    5567    Weaporage peli; 
    5668 
     69     
     70 
    5771    public Pommi(Weaporage peli, double leveys, double korkeus) 
    5872        : base(leveys, korkeus) 
     
    6175    } 
    6276 
    63     public void Sytyta() 
     77    public void Sytyta(SoundEffect Bombuchan) 
    6478    { 
    6579        Animation = new Animation(peli.Pomminposaus); 
    66         Animation.FPS = 1; 
     80        Animation.FPS = 1.46; 
     81        Bombuchan.Play(); 
    6782        Animation.Played += delegate 
    6883        { 
     
    164179    public Image[] Pomminposaus = LoadImages("Pommi2", "Pommi3", "Pommi4", "Pommi5", "Pommi6"); 
    165180 
     181    SoundEffect Saber = LoadSoundEffect("Valo"); 
     182    SoundEffect Saber2 = LoadSoundEffect("Valo2"); 
     183    SoundEffect SaberOff = LoadSoundEffect("Valopois"); 
     184    SoundEffect Ampuu = LoadSoundEffect("Ampuu"); 
     185    SoundEffect Bombuchan = LoadSoundEffect("Pommi"); 
     186 
    166187    Image Miekankuva = LoadImage("Miekka"); 
    167188    Image Nuijankuva = LoadImage("Nuija"); 
     
    171192    Image Pistoolinkuva = LoadImage("Sniper"); 
    172193    Image Luodinkuva = LoadImage("Luoti"); 
     194    Image DoubleSaber = LoadImage("DoubleSaber"); 
     195    Image[] DoubleSaberOn = LoadImages("DoubleSaber1", "DoubleSaber2", "DoubleSaber3", "DoubleSaber4", "DoubleSaber5", "DoubleSaber6", "DoubleSaber7"); 
     196    Image[] DoubleSaberOff = LoadImages("DoubleSaber7", "DoubleSaber6", "DoubleSaber5", "DoubleSaber4", "DoubleSaber3", "DoubleSaber2", "DoubleSaber1"); 
    173197    Image Valomiekankuva = LoadImage("Valomiekka"); 
     198    Image ToisenValomiekankuva = LoadImage("ToinenValomiekka"); 
    174199    Image[] Valomiekkaaukeaa = LoadImages("Valomiekka1", "Valomiekka2", "Valomiekka3", "Valomiekka4", "Valomiekka5"); 
    175      
    176      
    177      
     200    Image[] ToinenValomiekkaaukeaa = LoadImages("ToinenValomiekka1", "ToinenValomiekka2", "ToinenValomiekka3", "ToinenValomiekka4", "ToinenValomiekka5"); 
     201    Image[] Valomiekkasulkeutuu = LoadImages("Valomiekka5", "Valomiekka4", "Valomiekka3", "Valomiekka2", "Valomiekka1", "ToinenValomiekka"); 
     202    Image[] Valomiekka2sulkeutuu = LoadImages("ToinenValomiekka5", "ToinenValomiekka4", "ToinenValomiekka3", "ToinenValomiekka2", "ToinenValomiekka1", "ToinenValomiekka"); 
     203 
     204 
     205 
    178206    Image Pallonkuva = LoadImage("Pallo"); 
    179207 
     
    187215        LisaaAseetPeliin(new Vector(-700, 700)); 
    188216 
    189  
    190217        { 
    191218            Timer pallotulee = new Timer(); 
    192             pallotulee.Interval = 3; 
     219            pallotulee.Interval = 5; 
    193220            pallotulee.Timeout += delegate 
    194221            { 
     
    204231                pallo.Tag = "ase"; 
    205232                AddCollisionHandler(pallo, "ase", CollisionHandler.ExplodeObject(500, true)); 
    206                 Add(pallo); 
    207  
     233                //Add(pallo); 
     234 
     235                Pommi ase7 = new Pommi(this, 75, 75); 
     236                ase7.Position = new Vector(0, 0); 
     237                ase7.Image = Pomminkuva; 
     238                ase7.Shape = Shape.FromImage(Pomminkuva); 
     239                ase7.Tag = "ase"; 
     240                //Add(ase7); 
     241 
     242                LisaaAseetPeliin(new Vector(0, 0)); 
    208243 
    209244            }; 
     
    232267        Luopelaaja(pelaaja4, 30, new Vector(-200, 200), RandomGen.NextColor()); 
    233268 
    234         Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja1, new Vector(-100, 0)); 
    235         Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja1, new Vector(100, 0)); 
    236         Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja1, new Vector(0, -100)); 
    237         Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja1, new Vector(0, 100)); 
     269        Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja1, new Vector(-300, 0)); 
     270        Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja1, new Vector(300, 0)); 
     271        Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja1, new Vector(0, -300)); 
     272        Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja1, new Vector(0, 300)); 
    238273        Keyboard.Listen(Key.RightControl, ButtonState.Pressed, ValmiinaOttamaanAseen, null, pelaaja1); 
    239274        Keyboard.Listen(Key.RightAlt, ButtonState.Pressed, IrrotaAseet, null, pelaaja1); 
     
    241276        Keyboard.Listen(Key.Space, ButtonState.Pressed, AloitaAlustaPeli, null); 
    242277 
    243         Keyboard.Listen(Key.A, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja2, new Vector(-100, 0)); 
    244         Keyboard.Listen(Key.D, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja2, new Vector(100, 0)); 
    245         Keyboard.Listen(Key.S, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja2, new Vector(0, -100)); 
    246         Keyboard.Listen(Key.W, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja2, new Vector(0, 100)); 
     278        Keyboard.Listen(Key.A, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja2, new Vector(-300, 0)); 
     279        Keyboard.Listen(Key.D, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja2, new Vector(300, 0)); 
     280        Keyboard.Listen(Key.S, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja2, new Vector(0, -300)); 
     281        Keyboard.Listen(Key.W, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja2, new Vector(0, 300)); 
    247282        Keyboard.Listen(Key.Q, ButtonState.Pressed, ValmiinaOttamaanAseen, null, pelaaja2); 
    248283        Keyboard.Listen(Key.E, ButtonState.Pressed, IrrotaAseet, null, pelaaja2); 
    249284 
    250         Keyboard.Listen(Key.J, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja3, new Vector(-100, 0)); 
    251         Keyboard.Listen(Key.L, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja3, new Vector(100, 0)); 
    252         Keyboard.Listen(Key.K, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja3, new Vector(0, -100)); 
    253         Keyboard.Listen(Key.I, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja3, new Vector(0, 100)); 
     285        Keyboard.Listen(Key.J, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja3, new Vector(-300, 0)); 
     286        Keyboard.Listen(Key.L, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja3, new Vector(300, 0)); 
     287        Keyboard.Listen(Key.K, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja3, new Vector(0, -300)); 
     288        Keyboard.Listen(Key.I, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja3, new Vector(0, 300)); 
    254289        Keyboard.Listen(Key.U, ButtonState.Pressed, ValmiinaOttamaanAseen, null, pelaaja3); 
    255290        Keyboard.Listen(Key.O, ButtonState.Pressed, IrrotaAseet, null, pelaaja3); 
    256291 
    257         Keyboard.Listen(Key.NumPad4, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja4, new Vector(-100, 0)); 
    258         Keyboard.Listen(Key.NumPad6, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja4, new Vector(100, 0)); 
    259         Keyboard.Listen(Key.NumPad5, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja4, new Vector(0, -100)); 
    260         Keyboard.Listen(Key.NumPad8, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja4, new Vector(0, 100)); 
     292        Keyboard.Listen(Key.NumPad4, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja4, new Vector(-300, 0)); 
     293        Keyboard.Listen(Key.NumPad6, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja4, new Vector(300, 0)); 
     294        Keyboard.Listen(Key.NumPad5, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja4, new Vector(0, -300)); 
     295        Keyboard.Listen(Key.NumPad8, ButtonState.Down, LiikutaPelaajaa, "liikuta", pelaaja4, new Vector(0, 300)); 
    261296        Keyboard.Listen(Key.Divide, ButtonState.Pressed, ValmiinaOttamaanAseen, null, pelaaja4); 
    262297        Keyboard.Listen(Key.Multiply, ButtonState.Pressed, IrrotaAseet, null, pelaaja4); 
     
    305340            p.LopetaAmpuminen(); 
    306341 
     342        Valomiekka miekka = pelaaja.tamanhetkinenAse as Valomiekka; 
     343        if (miekka != null) 
     344            SammutaValomiekka(miekka); 
     345 
     346        Valomiekka2 miekka2 = pelaaja.tamanhetkinenAse as Valomiekka2; 
     347        if (miekka2 != null) 
     348            SammutaValomiekka2(miekka2); 
     349 
     350        Valomiekka3 miekka3 = pelaaja.tamanhetkinenAse as Valomiekka3; 
     351        if (miekka3 != null) 
     352            SammutaValomiekka3(miekka3); 
     353 
    307354        pelaaja.tamanhetkinenAse = null; 
    308355        //p = null; 
    309356    } 
    310  
    311  
    312357    void ValmiinaOttamaanAseen(Pelaaja pelaaja) 
    313358    { 
     
    317362    } 
    318363 
    319  
     364    void SammutaValomiekka(Valomiekka miekka) 
     365    { 
     366        Animation anim = new Animation(Valomiekkasulkeutuu); 
     367        anim.FPS = 10; 
     368        SaberOff.Play(); 
     369        //anim.StopOnLastFrame = true; 
     370        miekka.Animation = anim; 
     371        miekka.Animation.Start(); 
     372 
     373        anim.Played += delegate 
     374        { 
     375            miekka.Animation = null; 
     376            miekka.Image = Valomiekkasulkeutuu[Valomiekkasulkeutuu.Length - 1]; 
     377            miekka.Shape = Shape.FromImage(Valomiekkasulkeutuu[Valomiekkasulkeutuu.Length - 1]); 
     378        }; 
     379    } 
     380 
     381        void SammutaValomiekka2(Valomiekka2 miekka2) 
     382    { 
     383            Animation anim2 = new Animation(Valomiekka2sulkeutuu); 
     384            anim2.FPS = 10; 
     385            SaberOff.Play(); 
     386            //anim.StopOnLastFrame = true; 
     387            miekka2.Animation = anim2; 
     388            miekka2.Animation.Start(); 
     389 
     390            anim2.Played += delegate 
     391            { 
     392                miekka2.Animation = null; 
     393                miekka2.Image = Valomiekka2sulkeutuu[Valomiekka2sulkeutuu.Length - 1]; 
     394                miekka2.Shape = Shape.FromImage(Valomiekka2sulkeutuu[Valomiekka2sulkeutuu.Length - 1]); 
     395            }; 
     396        } 
     397    void SammutaValomiekka3(Valomiekka3 miekka3) 
     398    { 
     399        Timer.SingleShot(0.4, 
     400           delegate { SaberOff.Play(); }); 
     401 
     402            Animation anim = new Animation(DoubleSaberOff); 
     403        anim.FPS = 10; 
     404        SaberOff.Play(); 
     405        //anim.StopOnLastFrame = true; 
     406        miekka3.Animation = anim; 
     407        miekka3.Animation.Start(); 
     408 
     409        anim.Played += delegate 
     410        { 
     411            Image kuva = DoubleSaber; //DoubleSaberOff[DoubleSaberOff.Length - 1]; 
     412            miekka3.Animation = null; 
     413            miekka3.Image = kuva; 
     414            miekka3.Size = new Vector(kuva.Width, kuva.Height) * 2; 
     415            //miekka3.Shape = Shape.FromImage(DoubleSaberOff[DoubleSaberOff.Length - 1]); 
     416        }; 
     417    } 
    320418    void LisaaAseetPeliin(Vector asepaikka) 
    321419    { 
    322         int asenumero = RandomGen.NextInt(1, 9); 
    323         if (asenumero == 1) 
    324         { 
    325             MeleeAse ase = new MeleeAse(this, 116, 404); 
     420        int asenumero = RandomGen.NextInt(1, 11); 
     421        if (asenumero == 8) 
     422        { 
     423            MeleeAse ase = new MeleeAse(this, 76*2, 182*2); 
    326424            ase.Position = asepaikka; 
    327             ase.Mass = 5; 
     425            ase.Mass = 3; 
    328426            ase.Image = Kirveenkuva; 
    329427            ase.Shape = Shape.FromImage(Kirveenkuva); 
     
    331429            Add(ase); 
    332430        } 
    333         else if (asenumero == 2) 
     431        else if (asenumero == 9) 
    334432        { 
    335433            MeleeAse ase2 = new MeleeAse(this, 40, 93); 
     
    341439            Add(ase2); 
    342440        } 
    343         else if (asenumero == 3) 
     441        else if (asenumero == 10) 
    344442        { 
    345443            MeleeAse ase3 = new MeleeAse(this, 52, 320); 
     
    355453        else if (asenumero == 4) 
    356454        { 
    357             MeleeAse ase4 = new MeleeAse(this, 160, 374); 
     455            MeleeAse ase4 = new MeleeAse(this, 72*2, 176*2); 
    358456            ase4.Position = asepaikka; 
    359             ase4.Mass = 7; 
     457            ase4.Mass = 2; 
    360458            ase4.Image = Nuijankuva; 
    361459            ase4.Shape = Shape.FromImage(Nuijankuva); 
     
    390488            Add(ase7); 
    391489        } 
    392         else if (asenumero == 8) 
     490        else if (asenumero == 1) 
    393491        { 
    394492            Valomiekka ase7 = new Valomiekka(this, 40, 296); 
     
    398496            ase7.Tag = "ase"; 
    399497            Add(ase7); 
     498        } 
     499        else if (asenumero == 2) 
     500        { 
     501            Valomiekka2 ase8 = new Valomiekka2(this, 40, 296); 
     502            ase8.Position = asepaikka; 
     503            ase8.Image = ToisenValomiekankuva; 
     504            ase8.Shape = Shape.FromImage(ToisenValomiekankuva); 
     505            ase8.Tag = "ase"; 
     506            Add(ase8); 
     507        } 
     508        else if (asenumero == 3) 
     509        { 
     510            Valomiekka3 ase9 = new Valomiekka3(this, 14, 112); 
     511            ase9.Position = asepaikka; 
     512            ase9.Image = DoubleSaber; 
     513            ase9.Shape = Shape.Rectangle; 
     514            ase9.Tag = "ase"; 
     515            Add(ase9); 
    400516        } 
    401517 
     
    470586            Add(rajahdys); 
    471587            paa.Destroy(); 
     588            oikeaKammen.Destroy(); 
     589            vasenKammen.Destroy(); 
    472590            pelaaja.RikoLiitokset(); 
     591            IrrotaAseet(pelaaja); 
    473592        }; 
    474593 
     
    541660            if (ase is Pommi) 
    542661            { 
    543                 (ase as Pommi).Sytyta(); 
     662                (ase as Pommi).Sytyta(Bombuchan); 
    544663                //Sytytapommi(ase); 
    545664            } 
     
    557676                    luoti.Tag = "ase"; 
    558677                    AddCollisionHandler(luoti, "ase", CollisionHandler.ExplodeObject(50, true)); 
     678                    Ampuu.Play(); 
    559679                    Add(luoti); 
    560680                }; 
     
    567687                Animation anim = new Animation(Valomiekkaaukeaa); 
    568688                anim.FPS = 5; 
     689                Saber2.Play(); 
    569690                //anim.StopOnLastFrame = true; 
    570691                ase.Animation = anim; 
     
    578699                }; 
    579700            } 
    580  
     701            else if (ase is Valomiekka2) 
     702            { 
     703                Animation anim = new Animation(ToinenValomiekkaaukeaa); 
     704                anim.FPS = 5; 
     705                Saber.Play(); 
     706                //anim.StopOnLastFrame = true; 
     707                ase.Animation = anim; 
     708                ase.Animation.Start(); 
     709 
     710                anim.Played += delegate 
     711                { 
     712                    ase.Animation = null; 
     713                    ase.Image = ToinenValomiekkaaukeaa[ToinenValomiekkaaukeaa.Length - 1]; 
     714                    ase.Shape = Shape.FromImage(ToinenValomiekkaaukeaa[ToinenValomiekkaaukeaa.Length - 1]); 
     715                }; 
     716            } 
     717            else if (ase is Valomiekka3) 
     718            { 
     719                Timer.SingleShot(0.666666667, 
     720               delegate {Saber.Play(); }); 
     721 
     722                Animation anim = new Animation(DoubleSaberOn); 
     723                anim.FPS = 5; 
     724                Saber.Play(); 
     725                //anim.StopOnLastFrame = true; 
     726                ase.Height = 2 * 296; 
     727                ase.Width = 2 * 20; 
     728                ase.Animation = anim; 
     729                ase.Animation.Start(); 
     730 
     731                anim.Played += delegate 
     732                { 
     733                    ase.Animation = null; 
     734                    ase.Image = DoubleSaberOn[DoubleSaberOn.Length - 1]; 
     735                    ase.Shape = Shape.FromImage(DoubleSaberOn[DoubleSaberOn.Length - 1]); 
     736                }; 
     737            } 
    581738        } 
    582739        //ase.CollisionIgnoreGroup = kasi.CollisionIgnoreGroup; 
     
    599756            if (ase is Pommi) 
    600757            { 
    601                 (ase as Pommi).Sytyta(); 
     758                (ase as Pommi).Sytyta(Bombuchan); 
    602759            } 
    603760            else if (ase is Pistooli) 
     
    614771                    luoti.Tag = "ase"; 
    615772                    AddCollisionHandler(luoti, "ase", CollisionHandler.ExplodeObject(50, true)); 
     773                    Ampuu.Play(); 
    616774                    Add(luoti); 
    617775                }; 
     
    624782                Animation anim = new Animation(Valomiekkaaukeaa); 
    625783                anim.FPS = 5; 
    626                 //anim.StopOnLastFrame = true; 
     784                Saber2.Play(); 
    627785                ase.Animation = anim; 
    628786                ase.Animation.Start(); 
     
    633791                    ase.Image = Valomiekkaaukeaa[Valomiekkaaukeaa.Length - 1]; 
    634792                    ase.Shape = Shape.FromImage(Valomiekkaaukeaa[Valomiekkaaukeaa.Length - 1]); 
     793                }; 
     794            } 
     795            else if (ase is Valomiekka2) 
     796            { 
     797                Animation anim = new Animation(ToinenValomiekkaaukeaa); 
     798                anim.FPS = 5; 
     799                Saber.Play(); 
     800                ase.Animation = anim; 
     801                ase.Animation.Start(); 
     802 
     803                anim.Played += delegate 
     804                { 
     805                    ase.Animation = null; 
     806                    ase.Image = ToinenValomiekkaaukeaa[ToinenValomiekkaaukeaa.Length - 1]; 
     807                    ase.Shape = Shape.FromImage(ToinenValomiekkaaukeaa[ToinenValomiekkaaukeaa.Length - 1]); 
     808                }; 
     809            } 
     810            else if (ase is Valomiekka3) 
     811            { 
     812                Timer.SingleShot(0.666666667, 
     813               delegate { Saber.Play(); }); 
     814 
     815                Animation anim = new Animation(DoubleSaberOn); 
     816                anim.FPS = 5; 
     817                Saber.Play(); 
     818                //anim.StopOnLastFrame = true; 
     819                ase.Height = 2 * 296; 
     820                ase.Width = 2 * 20; 
     821                ase.Animation = anim; 
     822                ase.Animation.Start(); 
     823 
     824                anim.Played += delegate 
     825                { 
     826                    ase.Animation = null; 
     827                    ase.Image = DoubleSaberOn[DoubleSaberOn.Length - 1]; 
     828                    ase.Shape = Shape.FromImage(DoubleSaberOn[DoubleSaberOn.Length - 1]); 
    635829                }; 
    636830            } 
Note: See TracChangeset for help on using the changeset viewer.