Changeset 3811 for 2012/30


Ignore:
Timestamp:
2012-07-27 12:31:56 (7 years ago)
Author:
anlakane
Message:

Talletus.

Location:
2012/30/MiskaK/MW2(My Warfare 2)
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • 2012/30/MiskaK/MW2(My Warfare 2)/MW2(My Warfare 2)/MW2(My Warfare 2)/MW2_My_Warfare_2_.cs

    r3780 r3811  
    1212    Pelaaja pelaaja2; 
    1313    Timer aseajastin; 
     14    int teeKerran = 0; 
     15    int teeKerran2 = 0; 
     16    int tappolimit; 
    1417 
    1518    Label asenäyttö; 
     
    6568    public override void Begin() 
    6669    { 
    67         LuoKenttä(); 
    68         AsetaOhjaimet(); 
     70        LuoAlkuValikko(); 
     71        //LuoKenttä(); 
     72        //AsetaOhjaimet(); 
    6973         
    7074    } 
     
    105109    } 
    106110 
     111    void LuoAlkuValikko() 
     112    { 
     113        MultiSelectWindow valikko = new MultiSelectWindow("MY WARFARE 2", 
     114        "Hardcore (1 taposta poikki)", "Lyhyt (5 taposta poikki) ", "Pitkä (11 taposta poikki)", "Loputon(ei mistään poikki)", "Lopeta peli"); 
     115        valikko.ItemSelected += PainettiinValikonNappia; 
     116        valikko.Color = Color.Green; 
     117        Level.BackgroundColor = Color.Black; 
     118        valikko.DefaultCancel = 4; 
     119        Add(valikko); 
     120 
     121    } 
     122 
     123    void PainettiinValikonNappia(int valinta) 
     124    { 
     125        switch (valinta) 
     126        { 
     127            case 0: 
     128                LuoKenttä(); 
     129                ClearControls(); 
     130                AsetaOhjaimet(); 
     131                tappolimit = 1; 
     132                break; 
     133            case 1: 
     134                LuoKenttä(); 
     135                ClearControls(); 
     136                AsetaOhjaimet(); 
     137                tappolimit = 5; 
     138                break; 
     139            case 2: 
     140                LuoKenttä(); 
     141                ClearControls(); 
     142                AsetaOhjaimet(); 
     143                tappolimit = 11; 
     144                break; 
     145 
     146            case 3: 
     147                LuoKenttä(); 
     148                ClearControls(); 
     149                AsetaOhjaimet(); 
     150                tappolimit = 99999999; 
     151                break; 
     152 
     153            case 4: 
     154                Exit(); 
     155                break; 
     156        } 
     157    } 
     158      
     159 
     160 
    107161    void LuoBussi(Vector paikka, double leveys, double korkeus) 
    108162    { 
     
    250304    void LuoPelaaja1(Vector paikka, double leveys, double korkeus) 
    251305    { 
     306         
     307 
    252308        pelaaja1 = new Pelaaja(28.5, 19.5); 
    253309        pelaaja1.Image = pelaaja1Kuva; 
     
    259315        pelaaja1.Nro = 1; 
    260316        pelaaja1.tähtäin = LuoTähtäin(Color.Green); 
    261         //Pelaaja1HPPalautus(); 
     317        if (teeKerran == 0)  
     318        { 
     319            Pelaaja1HPPalautus(); 
     320            teeKerran = 1; 
     321        } 
    262322        LuoPistooli(pelaaja1); 
    263         
     323 
    264324        Add(pelaaja1); 
    265325        pelaaja1.Destroyed += delegate 
    266326        { 
     327            MessageDisplay.Add("Pelaaja 2 tappoi pelaajan 1 aseella " + pelaaja2.ValittuAse.Tag.ToString()); 
    267328            pelaajan2tapot.Value++; 
     329            if (pelaajan1tapot + pelaajan2tapot >= tappolimit) 
     330            { 
     331                if (pelaajan1tapot - pelaajan2tapot > 0) 
     332                { 
     333                     
     334                    //Pelaaja 1 voittaa 
     335                    //MessageDisplay.Add("Pelaaja 1 voitti!"); 
     336 
     337                    Label voittaja = new Label("Pelaaja 1 voitti!"); 
     338                    voittaja.X = 0; 
     339                    voittaja.Y = 0; 
     340                    voittaja.TextColor = Color.Red; 
     341                    voittaja.BorderColor = Color.White; 
     342                    Add(voittaja); 
     343                    Timer.SingleShot(5.0, LoppuTuho); 
     344                } 
     345 
     346                else 
     347                { 
     348                    //Pelaaja 2 voittaa 
     349 
     350                    Label voittaja = new Label("Pelaaja 2 voitti!"); 
     351                    voittaja.X = 0; 
     352                    voittaja.Y = 0; 
     353                    voittaja.TextColor = Color.Red; 
     354                    voittaja.BorderColor = Color.White; 
     355                    Add(voittaja); 
     356                    Timer.SingleShot(5.0, LoppuTuho); 
     357                    //MessageDisplay.Add("Pelaaja 2 voitti!"); 
     358                } 
     359                 
     360                 
     361            } 
     362             
     363 
    268364            KuolemaEfekti(pelaaja1.X, pelaaja1.Y, 600); 
    269365            Timer.SingleShot(2.0, delegate 
     
    288384                Camera.Follow(pelaaja1, pelaaja2); 
    289385            }); 
    290               
     386 
    291387        }; 
    292388        LuoTerveysmittari1(); 
    293389    } 
    294390 
    295     /*void Pelaaja1HPPalautus() 
     391    void Pelaaja1HPPalautus() 
    296392    { 
    297393        Timer hppalautin1 = new Timer(); 
     
    300396        hppalautin1.Start(); 
    301397    } 
    302 */ 
     398 
    303399    void Pelaajan1Tapot() 
    304400    { 
     
    354450        Add(pelaaja2); 
    355451        pelaaja2.tähtäin = LuoTähtäin(Color.Red); 
    356         //Pelaaja2HPPalautus(); 
     452        if (teeKerran2 == 0) 
     453        { 
     454            Pelaaja2HPPalautus(); 
     455            teeKerran2 = 1; 
     456        } 
    357457        LuoPistooli(pelaaja2); 
    358458         
     
    365465        { 
    366466            pelaajan1tapot.Value++; 
     467            MessageDisplay.Add("Pelaaja 1 tappoi pelaajan 2 aseella " + pelaaja1.ValittuAse.Tag.ToString()); 
    367468            KuolemaEfekti(pelaaja2.X, pelaaja2.Y, 600); 
     469 
     470            if (pelaajan1tapot + pelaajan2tapot >= tappolimit) 
     471            { 
     472                if (pelaajan1tapot - pelaajan2tapot > 0) 
     473                { 
     474                    //Pelaaja 1 voittaa 
     475                    Label voittaja = new Label("Pelaaja 1 voitti!"); 
     476                    voittaja.X = 0; 
     477                    voittaja.Y = 0; 
     478                    voittaja.TextColor = Color.Red; 
     479                    voittaja.BorderColor = Color.White; 
     480                    Add(voittaja); 
     481 
     482                    Timer.SingleShot(5.0, LoppuTuho); 
     483 
     484                    //MessageDisplay.Add("Pelaaja 1 voitti!"); 
     485                } 
     486 
     487                else 
     488                { 
     489                    //Pelaaja 2 voittaa 
     490                    Label voittaja = new Label("Pelaaja 2 voitti!"); 
     491                    voittaja.X = 0; 
     492                    voittaja.Y = 0; 
     493                    voittaja.TextColor = Color.Red; 
     494                    voittaja.BorderColor = Color.White; 
     495                    Add(voittaja); 
     496 
     497                    Timer.SingleShot(5.0, LoppuTuho); 
     498                    //MessageDisplay.Add("Pelaaja 2 voitti!"); 
     499                } 
     500 
     501 
     502            } 
    368503             
    369504 
     
    397532    } 
    398533 
    399     /*void Pelaaja2HPPalautus() 
     534    void Pelaaja2HPPalautus() 
    400535    { 
    401536        Timer hppalautin2 = new Timer(); 
     
    404539        hppalautin2.Start(); 
    405540    } 
    406     */ 
     541     
    407542    void Pelaajan2Tapot() 
    408543    { 
     
    472607        Ase rynkky = new Ase(30, 10); 
    473608        rynkky.IsVisible = false; 
    474         rynkky.aikaJolloinVoiLuoda = 15; 
     609        rynkky.aikaJolloinVoiLuoda = 15;//15 
    475610        rynkky.FireRate = 5; 
    476611        rynkky.tuhovoimaTuhoutuviaVastaan = 1; 
     
    487622        pistooli.aikaJolloinVoiLuoda = 0; 
    488623        pistooli.Ammo.Value = 10000; 
     624        pistooli.Ammo.MaxValue = 10000; 
    489625        pistooli.IsVisible = false; 
    490626        pistooli.tuhovoimaPelaajaaVastaan = 2; 
     
    502638        minigun.tuhovoimaTuhoutuviaVastaan = 0.2; 
    503639        minigun.tuhovoimaPelaajaaVastaan = 0.5; 
    504         minigun.aikaJolloinVoiLuoda = 60; 
     640        minigun.aikaJolloinVoiLuoda = 60;//60 
    505641        minigun.Ammo.MaxValue = 600; 
    506642        minigun.FireRate = 30; 
     
    518654        snipa.tuhovoimaTuhoutuviaVastaan = 10; 
    519655        snipa.tuhovoimaPelaajaaVastaan = 20; 
    520         snipa.aikaJolloinVoiLuoda = 90; 
     656        snipa.aikaJolloinVoiLuoda = 90;//90 
    521657        snipa.Power.DefaultValue = 500; 
    522658        snipa.IsVisible = false; 
     
    591727            
    592728            Pelaaja pelaaja = (kohde as Pelaaja); 
    593             Func<Ase>[] aseidenLuontimetodit = { LuoRynkky, LuoSnipa, LuoSinko, LuoMinigun }; 
     729            Func<Ase>[] aseidenLuontimetodit = { LuoRynkky,LuoMinigun,LuoSnipa, LuoSinko }; 
    594730            double aikaKentanAlustaSek = aseajastin.SecondCounter.Value; 
    595731            aseajastin.SecondCounter.AddTrigger(15.0, TriggerDirection.Down, delegate { MessageDisplay.Add("Rynkky saatavilla nyt!"); }); 
    596             if (aikaKentanAlustaSek < 15) 
     732            if (aikaKentanAlustaSek < 5) 
    597733            { 
    598734                MessageDisplay.Add("Liian aikaista ottaa aseita, odota"); 
     
    600736            } 
    601737 
    602             int arvottuAse = RandomGen.NextInt(0, 4); 
    603             Ase ase = aseidenLuontimetodit[arvottuAse](); 
    604  
    605             if (pelaaja.OnkoPelaajallaAse(ase.Tag.ToString())  || aikaKentanAlustaSek < ase.aikaJolloinVoiLuoda) 
     738 
     739            for (int i = 0; i < aseidenLuontimetodit.Length; i++) 
    606740            { 
    607                 if (arvottuAse >= 4) arvottuAse++; 
    608                 else arvottuAse = 0; 
    609                 ase = aseidenLuontimetodit[arvottuAse](); 
    610                  
    611                  
     741                Ase ase = aseidenLuontimetodit[i](); 
     742                if (!pelaaja.OnkoPelaajallaAse(ase.Tag.ToString())) 
     743                { 
     744                    if (aikaKentanAlustaSek > ase.aikaJolloinVoiLuoda) 
     745                    { 
     746                        pelaaja.LisaaAse(ase); 
     747                        MessageDisplay.Add("Pelaaja" + pelaaja.Nro + " sai aseen: " + ase.Tag.ToString()); 
     748                        return; 
     749                    } 
     750                } 
    612751            } 
    613              
    614             pelaaja.LisaaAse(ase); 
    615             MessageDisplay.Add("Pelaaja" + pelaaja.Nro + " sai aseen: " + ase.Tag.ToString()); 
    616             laatikko.Animation.Stop(); 
    617             laatikko.Image = laatikkoTyhjä; 
     752 
     753            Ase satunnainenPelaajanAse = RandomGen.SelectOne<Ase>(pelaaja.Aseet); 
     754            satunnainenPelaajanAse.Ammo.Value = satunnainenPelaajanAse.Ammo.MaxValue; 
     755            MessageDisplay.Add("Pelaaja" + pelaaja.Nro + " sai ammuksia aseeseen: " + satunnainenPelaajanAse.Tag.ToString()); 
     756 
     757            //laatikko.Animation.Stop(); 
     758            //laatikko.Image = laatikkoTyhjä; 
    618759        } 
    619760    } 
     
    8601001            KipinäPartikkelit(ammus.X, ammus.Y, 300); 
    8611002        } 
     1003    } 
     1004 
     1005    void LoppuTuho() 
     1006    { 
     1007        Vector sijainti = RandomGen.NextVector(-400.0, -400.0, 400.0, 400.0); 
     1008        Camera.StopFollowing(); 
     1009 
     1010        Camera.ZoomToLevel(); 
     1011        Explosion loppuräjähdys = new Explosion(1000); 
     1012        loppuräjähdys.Position = sijainti; 
     1013        loppuräjähdys.Image = null; 
     1014        loppuräjähdys.Sound = null; 
     1015        loppuräjähdys.Force = 400; 
     1016        loppuräjähdys.Speed = 1000; 
     1017        loppuräjähdys.ShockwaveColor = Color.Transparent; 
     1018        loppuräjähdys.ShockwaveReachesObject += LoppuTuhoOsuu; 
     1019        Add(loppuräjähdys); 
     1020 
     1021        RäjähdysPartikkelit(sijainti.X, sijainti.Y, 800); 
     1022        RäjähdysPartikkelit2(sijainti.X, sijainti.Y, 300); 
     1023    } 
     1024 
     1025    void LoppuTuhoOsuu(IPhysicsObject kohde, Vector shokki) 
     1026    { 
     1027        KiviHajoaa(kohde.X, kohde.Y, 50); 
     1028        PuuHajoaa(kohde.X, kohde.Y, 50); 
     1029        kohde.Destroy(); 
     1030        Timer.SingleShot(4.0, AloitaAlusta); 
     1031    } 
     1032 
     1033    void AloitaAlusta() 
     1034    { 
     1035        ClearAll(); 
     1036        LuoAlkuValikko(); 
    8621037    } 
    8631038 
     
    9121087    { 
    9131088        base.Update(time); 
    914         Vector suunta = (pelaaja1.tähtäin.Position - pelaaja1.Position).Normalize(); 
    915         pelaaja1.Angle = suunta.Angle; 
     1089        if (pelaaja1 != null) 
     1090        { 
     1091            Vector suunta = (pelaaja1.tähtäin.Position - pelaaja1.Position).Normalize(); 
     1092            pelaaja1.Angle = suunta.Angle; 
     1093        } 
    9161094    } 
    9171095} 
  • 2012/30/MiskaK/MW2(My Warfare 2)/MW2(My Warfare 2)/MW2(My Warfare 2)/Pelaaja.cs

    r3780 r3811  
    1212{ 
    1313    private List<Ase> aseet; 
     14    public List<Ase> Aseet { get { return aseet; } } 
    1415    private Ase valittuAse = null; 
    1516    public Ase ValittuAse { get { return valittuAse; } } 
     
    6162                valittuAse = aseet[0]; 
    6263        } 
    63         else 
    64         { 
    65             int i = aseet.FindIndex(x => x.Tag.ToString() == w.Tag.ToString()); 
    66             aseet[i].Ammo.Reset(); 
    67         } 
     64        //else 
     65        //{ 
     66        //    int i = aseet.FindIndex(x => x.Tag.ToString() == w.Tag.ToString()); 
     67        //    aseet[i].Ammo.Reset(); 
     68        //} 
    6869    } 
    6970 
  • 2012/30/MiskaK/MW2(My Warfare 2)/MW2(My Warfare 2)/MW2(My Warfare 2)/obj/x86/Debug/ContentPipeline-{22ADBDA1-5A43-4401-8049-15C4051FEE11}.xml

    r3775 r3811  
    216216      <Options>None</Options> 
    217217      <Output>C:\MyTemp\MiskaK\MW2(My Warfare 2)\MW2(My Warfare 2)\MW2(My Warfare 2)\bin\x86\Debug\Content\kenttä2.xnb</Output> 
    218       <Time>2012-07-26T13:00:43.5698999+03:00</Time> 
     218      <Time>2012-07-27T09:16:01.3661551+03:00</Time> 
    219219    </Item> 
    220220    <Item> 
Note: See TracChangeset for help on using the changeset viewer.