Changeset 3775 for 2012/30


Ignore:
Timestamp:
2012-07-26 15:02:26 (11 years ago)
Author:
anlakane
Message:
 
Location:
2012/30/MiskaK/MW2(My Warfare 2)
Files:
19 added
23 edited

Legend:

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

    r3697 r3775  
    111111  </ItemGroup> 
    112112  <ItemGroup> 
     113    <Compile Include="Ase.cs" /> 
    113114    <Compile Include="Ohjelma.cs" /> 
    114115    <Compile Include="MW2_My_Warfare_2_.cs" /> 
     116    <Compile Include="Pelaaja.cs" /> 
    115117    <Compile Include="Properties\AssemblyInfo.cs" /> 
     118    <Compile Include="Tuhoutuva.cs" /> 
    116119  </ItemGroup> 
    117120  <ItemGroup> 
  • 2012/30/MiskaK/MW2(My Warfare 2)/MW2(My Warfare 2)/MW2(My Warfare 2)/MW2(My Warfare 2).csproj.Debug.cachefile

    r3757 r3775  
    3131Content\kivirikki3.xnb 
    3232Content\liekkihiukkanen2.xnb 
     33Content\kamaa1.xnb 
     34Content\kamaa2.xnb 
     35Content\kamaa3.xnb 
     36Content\kamaa4.xnb 
     37Content\kamaatyhjÀ.xnb 
     38Content\QAdling 1.xnb 
     39Content\QAdling 2.xnb 
    3340Content\kenttÀ1.png 
  • 2012/30/MiskaK/MW2(My Warfare 2)/MW2(My Warfare 2)/MW2(My Warfare 2)/MW2_My_Warfare_2_.cs

    r3757 r3775  
    1212    Pelaaja pelaaja2; 
    1313 
    14     PhysicsObject tähtäin; 
    15     PhysicsObject tähtäin2; 
    16     Ase rynkky; 
    17     Ase rynkky2; 
    18     Ase pistooli; 
    19     Ase minigun; 
    20     Ase snipa; 
    21     Ase sinko; 
    22     PhysicsObject rynkynhylsy; 
    23  
    24  
    2514    DoubleMeter pelaajan1terveys; 
    2615    DoubleMeter pelaajan2terveys; 
     
    2918    Label asenäyttö; 
    3019    Label asenäyttö2; 
     20    Ase pistooli; 
    3121    IntMeter ammusmittari; 
    3222    IntMeter ammusmittari2; 
     
    3828 
    3929    //Kenttä 
     30    #region Kuvat 
    4031    Image kivenKuva = LoadImage("kivi"); 
    4132    Image piikkilankaKuva = LoadImage("piikkilanka"); 
     
    4839    Image pystypuunKuva = LoadImage("puupysty"); 
    4940    Image laatikonKuva = LoadImage("kamaa"); 
     41    Image laatikkoTyhjä = LoadImage("kamaatyhjä"); 
     42    Image[] laatikonAnimaatioKuvat = LoadImages("kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa1", "kamaa2", "kamaa3", "kamaa4"); 
    5043    Image bussinkuva = LoadImage("bussi"); 
    51     int kivenKestävyys; 
     44 
    5245 
    5346    Image kiviRikki0 = LoadImage("kivirikki0"); 
     
    6861    Image liekkiHiukkanen1 = LoadImage("liekkihiukkanen1"); 
    6962    Image liekkiHiukkanen2 = LoadImage("liekkihiukkanen2"); 
     63    #endregion 
     64 
    7065    Smoke savu; 
    7166    Flame sinkoliekki; 
     
    7469    { 
    7570        LuoKenttä(); 
    76          
    7771        AsetaOhjaimet(); 
    78          
    79          
    80  
    81  
    8272    } 
    8373 
     
    10898        AmmusMittari(); 
    10999        AmmusMittari2(); 
     100        LuoAseAjastin(); 
    110101        Level.AmbientLight = 0.3; 
    111102 
     
    115106        valo.Position = (new Vector(0.0, 0.0)); 
    116107        Add(valo); 
    117          
    118          
    119  
    120  
    121  
    122  
    123  
    124108    } 
    125109 
     
    139123        piikkilanka.Image = piikkilankaKuva; 
    140124        piikkilanka.CollisionIgnoreGroup = 1; 
     125        piikkilanka.Tag = "piikkilanka"; 
    141126        Add(piikkilanka); 
    142127 
     
    148133        pystypiikkilanka.Position = paikka; 
    149134        pystypiikkilanka.Image = pystypiikkilankaKuva; 
     135        pystypiikkilanka.Tag = "piikkilanka"; 
    150136        Add(pystypiikkilanka); 
    151137 
     
    159145        naamioverkko.CollisionIgnoreGroup = 1; 
    160146        naamioverkko.IgnoresCollisionResponse = true; 
    161  
    162147        Add(naamioverkko, 2); 
    163148    } 
    164149 
    165     void    LuoKivi(Vector paikka, double leveys, double korkeus) 
     150    void LuoKivi(Vector paikka, double leveys, double korkeus) 
    166151    { 
    167152        Tuhoutuva kivi = new Tuhoutuva(leveys, korkeus, 20); 
     
    196181        kivi.Tag = "kivi"; 
    197182        Add(kivi); 
     183 
    198184    } 
    199185 
     
    227213    void LuoVaakaPuu(Vector paikka, double leveys, double korkeus) 
    228214    { 
    229         Tuhoutuva vaakapuu = new Tuhoutuva (leveys, korkeus / 4, 10); 
     215        Tuhoutuva vaakapuu = new Tuhoutuva(leveys, korkeus / 4, 10); 
    230216        vaakapuu.Position = paikka; 
    231217        vaakapuu.MakeStatic(); 
     
    245231    { 
    246232        laatikko = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     233        laatikko.Animation = new Animation(laatikonAnimaatioKuvat); 
     234        laatikko.Animation.Start(); 
     235        laatikko.Animation.FPS = 10; 
    247236        laatikko.Position = paikka; 
    248         laatikko.Image = laatikonKuva; 
     237        //laatikko.Image = laatikonKuva; 
    249238        AddCollisionHandler(laatikko, AnnaKamaa); 
    250239        Add(laatikko); 
     
    267256    } 
    268257     */ 
    269      
     258 
    270259    #endregion 
    271260 
     
    281270        pelaaja1.Tag = "pelaaja"; 
    282271        pelaaja1.Nro = 1; 
     272        pelaaja1.tähtäin = LuoTähtäin(Color.Green); 
    283273        Add(pelaaja1); 
    284  
    285274         
    286275 
    287  
     276        //pelaaja.LisaaAse(pistooli); 
    288277        //AddCollisionHandler(pelaaja1, Pelaaja1Törmää); 
    289         LuoTähtäin(); 
     278        //LuoTähtäin(); 
     279        pelaaja1.Destroyed += delegate 
     280        { 
     281 
     282            KuolemaEfekti(pelaaja1.X, pelaaja1.Y, 600); 
     283            Timer.SingleShot(2.0, delegate 
     284            { 
     285                LuoPelaaja1(paikka, leveys, korkeus); 
     286 
     287                Keyboard.Listen(Key.W, ButtonState.Down, LiikutaPelaajaa, "", pelaaja1, new Vector(0.0, 1.0)); 
     288                Keyboard.Listen(Key.S, ButtonState.Down, LiikutaPelaajaa, "", pelaaja1, new Vector(0.0, -1.0)); 
     289                Keyboard.Listen(Key.A, ButtonState.Down, LiikutaPelaajaa, "", pelaaja1, new Vector(-1.0, 0.0)); 
     290                Keyboard.Listen(Key.D, ButtonState.Down, LiikutaPelaajaa, "", pelaaja1, new Vector(1.0, 0.0)); 
     291                Mouse.ListenWheel(delegate { VaihdaAsetta(pelaaja1); }, null); 
     292                Mouse.Listen(MouseButton.Left, ButtonState.Down, Ammu, null, pelaaja1); 
     293                Mouse.ListenMovement(0.1, KuunteleLiiketta, null, pelaaja1.tähtäin); 
     294                Camera.Follow(pelaaja1, pelaaja2); 
     295            }); 
     296        }; 
    290297        LuoTerveysmittari1(); 
    291298    } 
     
    297304            (pelaaja1 as Pelaaja).Elamat.Value--; 
    298305        } 
    299  
    300306    } 
    301307 
     
    312318    } 
    313319 
    314     void LuoTähtäin() 
    315     { 
    316         tähtäin = new PhysicsObject(10.0, 10.0); 
    317         tähtäin.Shape = Shape.Circle; 
    318         tähtäin.Color = Color.Green; 
    319         tähtäin.IgnoresCollisionResponse = true; 
    320         tähtäin.IgnoresExplosions = true; 
    321         tähtäin.IgnoresPhysicsLogics = true; 
    322         Add(tähtäin, 3); 
    323  
    324         Mouse.ListenMovement(0.1, KuunteleLiiketta, null); 
    325         pelaaja1.Position.ToString(); 
    326         tähtäin.Position.ToString(); 
    327  
    328     } 
    329  
    330     //void Pelaaja1Ampuu() 
    331     //{ 
    332     //    pelaaja1.Ammu(); 
    333     //} 
    334  
    335  
    336  
    337     void RynkynHylsy() 
    338     { 
    339         rynkynhylsy = new PhysicsObject(1, 5.5); 
    340         rynkynhylsy.Image = rynkynhylsynKuva; 
    341         rynkynhylsy.Position = pelaaja1.Position; 
    342         rynkynhylsy.Hit(new Vector(350.0, 0.0)); 
    343         Add(rynkynhylsy); 
    344  
    345         rynkynhylsy.IgnoresCollisionResponse = true; 
    346         rynkynhylsy.AngularVelocity = 10.0; 
    347         rynkynhylsy.AngularDamping = 0.95; 
    348         rynkynhylsy.LinearDamping = RandomGen.NextDouble(0.90, 0.99); 
    349         rynkynhylsy.MaximumLifetime = TimeSpan.FromSeconds(3.0); 
    350  
    351     } 
    352  
    353     void KuunteleLiiketta(AnalogState hiirenTila) 
    354     { 
    355         tähtäin.X = Mouse.PositionOnWorld.X; 
    356         tähtäin.Y = Mouse.PositionOnWorld.Y; 
    357  
     320    void KuunteleLiiketta(AnalogState hiirenTila, PhysicsObject tähtäin) 
     321    { 
     322        pelaaja1.tähtäin.X = Mouse.PositionOnWorld.X; 
     323        pelaaja1.tähtäin.Y = Mouse.PositionOnWorld.Y; 
    358324        Vector hiirenLiike = hiirenTila.MouseMovement; 
    359325    } 
     
    383349        pelaaja2.Nro = 2; 
    384350        Add(pelaaja2); 
    385         LuoTähtäin2(); 
     351        pelaaja2.tähtäin = LuoTähtäin(Color.Red); 
    386352        //AddCollisionHandler(pelaaja2, Pelaaja2Törmää); 
    387353        pelaaja2.Tag = "pelaaja"; 
    388354        LuoTerveysmittari2(); 
     355 
     356        pelaaja2.Destroyed += delegate 
     357        { 
     358            KuolemaEfekti(pelaaja2.X, pelaaja2.Y, 600); 
     359            Timer.SingleShot(2.0, delegate 
     360            { 
     361                LuoPelaaja2(paikka, leveys, korkeus); 
     362 
     363                ControllerOne.ListenAnalog(AnalogControl.LeftStick, 0.1, LiikutaPelaajaa2, null); 
     364                ControllerOne.ListenAnalog(AnalogControl.RightStick, 0.1, PyöritäPelaajaa2, null); 
     365                ControllerOne.Listen(Button.RightTrigger, ButtonState.Down, Ammu, null, pelaaja2); 
     366                ControllerOne.Listen(Button.LeftShoulder, ButtonState.Pressed, delegate { VaihdaAsetta(pelaaja2, -1); }, null); 
     367                ControllerOne.Listen(Button.RightShoulder, ButtonState.Pressed, delegate { VaihdaAsetta(pelaaja2, 1); }, null); 
     368                ControllerOne.Listen(Button.A, ButtonState.Pressed, EtsiTähtäin, null); 
     369                Camera.Follow(pelaaja1, pelaaja2); 
     370 
     371 
     372            }); 
     373        }; 
    389374    } 
    390375 
     
    410395    } 
    411396 
    412     //void Pelaaja2Ampuu() 
    413     //{ 
    414     //    pelaaja2.Ammu(); 
    415     //} 
    416397 
    417398    void LiikutaPelaajaa2(AnalogState tatinTila) 
     
    419400        Vector tatinAsento = tatinTila.StateVector; 
    420401        pelaaja2.Move(tatinAsento * 200); 
    421         tähtäin2.Move(tatinAsento * 250); 
    422          
    423     } 
    424  
    425     void LuoTähtäin2() 
    426     { 
    427         tähtäin2 = new PhysicsObject(10.0, 10.0); 
    428         tähtäin2.Shape = Shape.Circle; 
    429         tähtäin2.Color = Color.Red; 
    430         tähtäin2.IgnoresCollisionResponse = true; 
    431         tähtäin2.IgnoresExplosions = true; 
    432         tähtäin2.IgnoresPhysicsLogics = true; 
    433         tähtäin2.LinearDamping = 0.60; 
    434         Add(tähtäin2, 3); 
     402        pelaaja2.tähtäin.Move(tatinAsento * 250); 
     403 
     404    } 
     405 
     406    PhysicsObject LuoTähtäin(Color vari) 
     407    { 
     408        PhysicsObject tähtäin = new PhysicsObject(10.0, 10.0); 
     409        tähtäin.Shape = Shape.Circle; 
     410        tähtäin.Color = vari; 
     411        tähtäin.IgnoresCollisionResponse = true; 
     412        tähtäin.IgnoresExplosions = true; 
     413        tähtäin.IgnoresPhysicsLogics = true; 
     414        tähtäin.LinearDamping = 0.60; 
     415        Add(tähtäin, 3); 
     416        return tähtäin; 
    435417    } 
    436418 
    437419    void EtsiTähtäin() 
    438420    { 
    439         tähtäin2.Position = pelaaja2.Position; 
     421        pelaaja2.tähtäin.Position = pelaaja2.Position; 
    440422    } 
    441423 
     
    444426        Vector tatinAsento = tatinTila.StateVector; 
    445427        //pelaaja2.Angle = tatinAsento.Angle; 
    446  
    447  
    448          
    449         tähtäin2.Move(tatinAsento * 1400); 
    450  
    451         pelaaja2.Position.ToString(); 
    452         tähtäin2.Position.ToString(); 
    453  
    454         Vector suunta2 = (tähtäin2.Position - pelaaja2.Position).Normalize(); 
     428        pelaaja2.tähtäin.Move(tatinAsento * 1400); 
     429 
     430        Vector suunta2 = (pelaaja2.tähtäin.Position - pelaaja2.Position).Normalize(); 
    455431        pelaaja2.Angle = suunta2.Angle; 
    456432    } 
    457433 
    458     void RynkynHylsy2() 
    459     { 
    460         rynkynhylsy = new PhysicsObject(1, 5.5); 
    461         rynkynhylsy.Image = rynkynhylsynKuva; 
    462         rynkynhylsy.Position = pelaaja2.Position; 
    463         rynkynhylsy.Hit(new Vector(350.0, 0.0)); 
    464         Add(rynkynhylsy); 
    465  
    466         rynkynhylsy.IgnoresCollisionResponse = true; 
    467         rynkynhylsy.AngularVelocity = 10.0; 
    468         rynkynhylsy.AngularDamping = 0.95; 
    469         rynkynhylsy.LinearDamping = RandomGen.NextDouble(0.90, 0.99); 
    470         rynkynhylsy.MaximumLifetime = TimeSpan.FromSeconds(3.0); 
    471  
    472     } 
    473  
    474434    #endregion 
    475435 
     
    479439    Ase LuoRynkky() 
    480440    { 
    481         rynkky = new Ase(30, 10); 
     441        Ase rynkky = new Ase(30, 10); 
    482442        rynkky.IsVisible = false; 
     443        rynkky.aikaJolloinVoiLuoda = 15; 
     444        rynkky.FireRate = 5; 
    483445        rynkky.tuhovoimaTuhoutuviaVastaan = 2; 
    484446        rynkky.tuhovoimaPelaajaaVastaan = 1; 
    485         rynkky.Ammo.Value = 90; 
     447        //rynkky.Ammo.Value = 90; 
     448        rynkky.Ammo.MaxValue = 90; 
    486449        rynkky.MaxAmmoLifetime = TimeSpan.FromSeconds(1.5); 
    487450        //rynkky.ProjectileCollision = RynkynAmmusOsuu; 
    488451        rynkky.Tag = "rynkky"; 
    489452        return rynkky; 
    490  
    491453    } 
    492454 
     
    494456    { 
    495457        pistooli = new Ase(30, 10); 
    496         pistooli.Ammo.Value = 50; 
     458        pistooli.aikaJolloinVoiLuoda = 0; 
     459        pistooli.Ammo.MaxValue = 50; 
     460        pistooli.IsVisible = false; 
    497461        pistooli.tuhovoimaPelaajaaVastaan = 2; 
    498462        pistooli.FireRate = 1; 
     
    508472    Ase LuoMinigun() 
    509473    { 
    510         minigun = new Ase(30, 10); 
     474        Ase minigun = new Ase(30, 10); 
    511475        minigun.tuhovoimaTuhoutuviaVastaan = 0.2; 
    512         minigun.tuhovoimaPelaajaaVastaan = 0.5; 
    513         minigun.Ammo.Value = 1200; 
     476        minigun.tuhovoimaPelaajaaVastaan = 0.3; 
     477        minigun.aikaJolloinVoiLuoda = 60; 
     478        minigun.Ammo.MaxValue = 600; 
    514479        minigun.FireRate = 30; 
    515480        minigun.IsVisible = false; 
     
    522487    Ase LuoSnipa() 
    523488    { 
    524         snipa = new Ase(30, 10); 
    525         snipa.Ammo.Value = 100; 
     489        Ase snipa = new Ase(30, 10); 
     490        snipa.Ammo.MaxValue = 10; 
    526491        snipa.FireRate = 1.0; 
    527492        snipa.tuhovoimaTuhoutuviaVastaan = 10; 
    528         snipa.tuhovoimaPelaajaaVastaan = 10; 
     493        snipa.tuhovoimaPelaajaaVastaan = 20; 
     494        snipa.aikaJolloinVoiLuoda = 90; 
    529495        snipa.Power.DefaultValue = 500; 
    530496        snipa.IsVisible = false; 
     
    537503    Ase LuoSinko() 
    538504    { 
    539         sinko = new Ase(30, 10); 
    540         sinko.InfiniteAmmo = true; 
     505        Ase sinko = new Ase(30, 10); 
     506        sinko.Ammo.MaxValue = 2; 
    541507        sinko.Power.DefaultValue = 500; 
    542508        sinko.IsVisible = false; 
    543509        sinko.MaxAmmoLifetime = TimeSpan.FromSeconds(5); 
    544510        sinko.ProjectileCollision = SingonAmmusOsuu; 
    545  
     511        sinko.aikaJolloinVoiLuoda = 120; 
    546512        sinko.Tag = "sinko"; 
    547513        return sinko; 
    548514    } 
     515    #endregion 
     516 
     517    #region aseiden toiminnot 
    549518 
    550519    void Ammu(Pelaaja pelaaja) 
    551520    { 
    552          
    553521        if (pelaaja.ValittuAse != null) 
    554522        { 
    555523            PhysicsObject ammus = pelaaja.ValittuAse.Shoot(); 
    556              
     524 
    557525            if (pelaaja == pelaaja1) ammusmittari.Value = pelaaja.ValittuAse.Ammo.Value; 
    558526            if (pelaaja == pelaaja2) ammusmittari2.Value = pelaaja.ValittuAse.Ammo.Value; 
    559          
    560              
    561527 
    562528            if (ammus != null) 
     
    587553                    }); 
    588554                ammus.Size *= 0.3; 
     555 
     556                //AddCollisionHandler(ammus, AmmusOsuuPiikkilankaan); 
    589557            } 
    590              
    591              
     558        } 
     559    } 
     560 
     561    void AnnaKamaa(PhysicsObject laatikko, PhysicsObject kohde) 
     562    { 
     563        if (kohde.Tag.ToString() == "pelaaja") 
     564        { 
     565            Pelaaja pelaaja = (kohde as Pelaaja); 
     566            Func<Ase>[] aseidenLuontimetodit = { LuoRynkky, LuoSnipa, LuoSinko, LuoMinigun }; 
     567            double aikaKentanAlustaSek = aseajastin.SecondCounter.Value; 
     568            if (aikaKentanAlustaSek < 15) 
     569            { 
     570                MessageDisplay.Add("Vielä et voi ottaa mitään"); 
     571                return; 
     572            } 
     573 
     574            int arvottuAse = RandomGen.NextInt(0, 4); 
     575            Ase ase = aseidenLuontimetodit[arvottuAse](); 
     576 
     577            while (pelaaja.OnkoPelaajallaAse(ase.Tag.ToString())  || aikaKentanAlustaSek < ase.aikaJolloinVoiLuoda) 
     578            { 
     579                if (arvottuAse >= 4) arvottuAse++; 
     580                else arvottuAse = 0; 
     581 
    592582                 
    593              
     583                ase = aseidenLuontimetodit[arvottuAse](); 
     584                break; 
     585            } 
     586 
     587            pelaaja.LisaaAse(ase); 
     588            MessageDisplay.Add("Pelaaja" + pelaaja.Nro + " sai aseen " + ase.Tag.ToString()); 
     589            laatikko.Animation.Stop(); 
     590            laatikko.Image = laatikkoTyhjä; 
    594591        } 
    595  
    596     } 
    597  
    598     void AnnaKamaa(PhysicsObject laatikko, PhysicsObject kohde) 
    599     { 
    600  
    601  
    602         if (kohde.Tag == "pelaaja") 
    603         { 
    604             Pelaaja pelaaja = (kohde as Pelaaja); 
    605             int ase = RandomGen.NextInt(1, 6); 
    606  
    607  
    608             double aseajastimenarvo = aseajastin.SecondCounter.Value; 
    609  
    610             if (ase == 1) 
    611             { 
    612                 pelaaja.LisaaAse(LuoPistooli()); 
    613                 MessageDisplay.Add("Pelaaja" + pelaaja.Nro + " sai pistoolin!"); 
    614             } 
    615                  
    616  
    617  
    618             else if (ase == 2) 
    619             { 
    620                 pelaaja.LisaaAse(LuoRynkky()); 
    621                 MessageDisplay.Add("Pelaaja" + pelaaja.Nro + " sai rynkyn!"); 
    622             } 
    623  
    624             else if (ase == 3) 
    625             { 
    626                 pelaaja.LisaaAse(LuoSnipa()); 
    627                 MessageDisplay.Add("Pelaaja" + pelaaja.Nro + " sai tarkkuuskiväärin!"); 
    628             } 
    629  
    630             else if (ase == 4) 
    631             { 
    632                 pelaaja.LisaaAse(LuoMinigun()); 
    633                 MessageDisplay.Add("Pelaaja" + pelaaja.Nro + " sai minigunin!"); 
    634             } 
    635  
    636             else if (ase == 5) 
    637             { 
    638                 pelaaja.LisaaAse(LuoSinko()); 
    639                 MessageDisplay.Add("Pelaaja" + pelaaja.Nro + " sai singon!"); 
    640             } 
    641  
    642         } 
    643  
    644  
    645  
    646     } 
     592    } 
     593 
     594    //ammusten saanti aseen ollessa tyhjä 
     595    //singon vahinko pelaajaa vastaan -DONE 
     596    //aseajastimen uusien aseiden ilmoitukset  
    647597 
    648598    void AseNäyttö() 
     
    661611        asenäyttö2.TextColor = Color.White; 
    662612        asenäyttö2.BorderColor = Color.White; 
    663                   
     613 
    664614    } 
    665615 
     
    668618        aseajastin = new Timer(); 
    669619        aseajastin.Start(); 
     620 
     621        aseajastin.SecondCounter.AddTrigger(15.0, TriggerDirection.Down, delegate { MessageDisplay.Add(" Rynkky saatavilla nyt."); }); 
     622        aseajastin.SecondCounter.AddTrigger(60.0, TriggerDirection.Down, delegate { MessageDisplay.Add(" Minigun saatavilla nyt."); }); 
     623        aseajastin.SecondCounter.AddTrigger(90.0, TriggerDirection.Down, delegate { MessageDisplay.Add(" Snipa saatavilla nyt."); }); 
     624        aseajastin.SecondCounter.AddTrigger(120.0, TriggerDirection.Down, delegate { MessageDisplay.Add(" Sinko saatavilla nyt."); }); 
    670625 
    671626    } 
     
    717672        Mouse.ListenWheel(delegate { VaihdaAsetta(pelaaja1); }, null); 
    718673        Mouse.Listen(MouseButton.Left, ButtonState.Down, Ammu, null, pelaaja1); 
    719  
    720         //Keyboeard.Listen(Key.2, buttons, VaihdaAsetta, null, pelaaja1, rynkky); 
     674        Mouse.ListenMovement(0.1, KuunteleLiiketta, null, pelaaja1.tähtäin); 
     675 
     676 
    721677 
    722678        ControllerOne.ListenAnalog(AnalogControl.LeftStick, 0.1, LiikutaPelaajaa2, null); 
     
    776732        puuhajoaa.MinLifetime = 0.2; 
    777733        puuhajoaa.MaxVelocity = 0.5; 
    778          
     734 
    779735        puuhajoaa.AddEffect(x, y, pMaara); 
    780736    } 
     
    789745        kipinäpartikkelit.MaxLifetime = 0.5; 
    790746        kipinäpartikkelit.MinLifetime = 0.2; 
    791         kipinäpartikkelit.MaxVelocity = 1; 
     747        kipinäpartikkelit.MaxVelocity = 0.5; 
    792748 
    793749        kipinäpartikkelit.AddEffect(x, y, pMaara); 
     
    835791        kuolemaefekti.MinLifetime = 1.0; 
    836792        kuolemaefekti.MaxVelocity = 5; 
    837          
     793 
    838794        kuolemaefekti.AddEffect(x, y, pMaara); 
    839795    } 
     
    851807        räjähdyspartikkelit.MaxVelocity = 60.0; 
    852808        räjähdyspartikkelit.MinVelocity = 1.0; 
    853  
    854809        räjähdyspartikkelit.AddEffect(x, y, pMaara); 
    855  
    856810 
    857811    } 
     
    870824 
    871825        räjähdyspartikkelit2.AddEffect(x, y, pMaara); 
    872  
    873  
    874  
     826    } 
     827 
     828    void AmmusOsuuPiikkilankaan(PhysicsObject ammus, PhysicsObject kohde) 
     829    { 
     830        if (kohde.Tag.ToString() == "piikkilanka") 
     831        { 
     832            KipinäPartikkelit(ammus.X, ammus.Y, 300); 
     833        } 
    875834    } 
    876835 
    877836    void SingonAmmusOsuu(PhysicsObject ammus, PhysicsObject kohde) 
    878837    { 
     838        Explosion sinkopaineaalto = new Explosion(200); 
     839        sinkopaineaalto.Position = ammus.Position; 
     840        sinkopaineaalto.Image = null; 
     841        sinkopaineaalto.Sound = null; 
     842        sinkopaineaalto.Force = 400; 
     843        sinkopaineaalto.Speed = 1000; 
     844        sinkopaineaalto.ShockwaveColor = Color.Transparent; 
     845        sinkopaineaalto.ShockwaveReachesObject += SingonPaineaaltoOsuu; 
     846        Add(sinkopaineaalto); 
     847 
    879848        RäjähdysPartikkelit(ammus.X, ammus.Y, 800); 
    880849        RäjähdysPartikkelit2(ammus.X, ammus.Y, 300); 
    881850        ammus.Destroy(); 
    882          
    883          
    884          
    885851        Vector suunta = (new Vector(ammus.X, ammus.Y)); 
    886  
    887  
    888     } 
    889  
    890  
    891  
    892     
     852    } 
     853 
     854    void SingonPaineaaltoOsuu(IPhysicsObject kohde, Vector shokki) 
     855    { 
     856        if (kohde.Tag.ToString() != "pelaaja" && kohde.Tag.ToString() != "piikkilanka") 
     857        { 
     858            KiviHajoaa(kohde.X, kohde.Y, 200); 
     859            PuuHajoaa(kohde.X, kohde.Y, 200); 
     860            kohde.Destroy(); 
     861            return; 
     862        } 
     863 
     864 
     865        if (kohde.Tag.ToString() == "pelaaja") 
     866        { 
     867            Pelaaja kohdePelaaja = kohde as Pelaaja; 
     868            kohdePelaaja.Elamat.Value = kohdePelaaja.Elamat.Value - 15; 
     869        } 
     870    } 
     871 
    893872    #endregion 
    894  
    895  
    896873 
    897874    void VaihdaAsetta(Pelaaja pelaaja, int vaihtosuunta = 0) 
     
    907884    { 
    908885        base.Update(time); 
    909         Vector suunta = (tähtäin.Position - pelaaja1.Position).Normalize(); 
     886        Vector suunta = (pelaaja1.tähtäin.Position - pelaaja1.Position).Normalize(); 
    910887        pelaaja1.Angle = suunta.Angle; 
    911  
    912         //Vector suunta2 = (tähtäin2.Position - pelaaja2.Position).Normalize(); 
    913         //pelaaja2.Angle = suunta2.Angle; 
    914888    } 
    915889} 
    916  
    917 public class Tuhoutuva : PhysicsObject 
    918 { 
    919     private DoubleMeter kesto; 
    920     public DoubleMeter Kesto 
    921     { 
    922         get { return kesto; } 
    923         set { kesto = value; } 
    924     } 
    925  
    926     public Tuhoutuva(double width, double height, int kesto) 
    927         : base(width, height) 
    928     { 
    929         this.kesto = new DoubleMeter(kesto); 
    930     } 
    931 } 
    932  
    933 public class Pelaaja : PhysicsObject 
    934 { 
    935      
    936  
    937     private List<Ase> aseet; 
    938     private Ase valittuAse = null; 
    939     public Ase ValittuAse { get { return valittuAse; } } 
    940     public int AseidenMaara { get { return aseet.Count; } } 
    941  
    942     public int Nro; 
    943  
    944     public DoubleMeter Elamat 
    945     { 
    946         get { return elamat; } 
    947         set { elamat = value; } 
    948     } 
    949     public DoubleMeter elamat; 
    950  
    951  
    952     public Pelaaja(double width, double height) 
    953         : base(width, height) 
    954     { 
    955         elamat = new DoubleMeter(20); 
    956         elamat.MaxValue = 20; 
    957         elamat.LowerLimit += Kuolema; 
    958         aseet = new List<Ase>(); 
    959     } 
    960  
    961     public void Kuolema() 
    962     { 
    963         this.Destroy(); 
    964          
    965          
    966     } 
    967  
    968     public void LisaaAse(Ase w) 
    969     { 
    970         // Ei lisätä samaa asetta aseisiin montaa kertaa 
    971         if (!aseet.Exists(x => x.Tag.ToString() == w.Tag.ToString())) 
    972         { 
    973             aseet.Add(w); 
    974             this.Add(w); 
    975             if (aseet.Count == 1) 
    976                 valittuAse = aseet[0]; 
    977         } 
    978     } 
    979  
    980     public void PoistaAse(Ase w) 
    981     { 
    982         if (!aseet.Contains(w)) 
    983             aseet.Remove(w); 
    984     } 
    985  
    986     /// <summary> 
    987     /// Vaihtaa asetta 
    988     /// </summary> 
    989     /// <param name="suunta">Monta hiiren rullan naksua ollaan liikutettu, pos (rulla ylöspäin) 
    990     /// tai neg (rulla alaspäin)</param> 
    991     public void VaihdaAse(int suunta) 
    992     { 
    993         int tamanHetkinenValinta = aseet.IndexOf(valittuAse); 
    994  
    995         if (aseet != null && aseet.Count > 1) 
    996         { 
    997             foreach (Weapon ase in aseet) 
    998             { 
    999                 ase.IsVisible = false; 
    1000             } 
    1001             if (tamanHetkinenValinta + suunta >= aseet.Count) valittuAse = aseet[0]; // ympäri loppupäästä 
    1002             else if (tamanHetkinenValinta + suunta < 0) valittuAse = aseet[aseet.Count - 1]; // ympäri alkupäästä 
    1003             else valittuAse = aseet[tamanHetkinenValinta + suunta]; 
    1004             valittuAse.IsVisible = true; 
    1005         } 
    1006     } 
    1007 } 
    1008  
    1009 public class Ase : AssaultRifle 
    1010 { 
    1011     public double tuhovoimaTuhoutuviaVastaan; 
    1012     public double tuhovoimaPelaajaaVastaan; 
    1013  
    1014     public Ase(double leveys, double korkeus) 
    1015         : base(leveys, korkeus) 
    1016     { 
    1017     } 
    1018 } 
  • 2012/30/MiskaK/MW2(My Warfare 2)/MW2(My Warfare 2)/MW2(My Warfare 2)/obj/x86/Debug/MW2(My Warfare 2).csproj.FileListAbsolute.txt

    r3757 r3775  
    7878C:\MyTemp\npo_pelit\2012\30\MiskaK\MW2(My Warfare 2)\MW2(My Warfare 2)\MW2(My Warfare 2)\bin\x86\Debug\Content\kivirikki3.xnb 
    7979C:\MyTemp\npo_pelit\2012\30\MiskaK\MW2(My Warfare 2)\MW2(My Warfare 2)\MW2(My Warfare 2)\bin\x86\Debug\Content\liekkihiukkanen2.xnb 
     80C:\MyTemp\MiskaK\MW2(My Warfare 2)\MW2(My Warfare 2)\MW2(My Warfare 2)\bin\x86\Debug\Content\kivirikki0.xnb 
     81C:\MyTemp\MiskaK\MW2(My Warfare 2)\MW2(My Warfare 2)\MW2(My Warfare 2)\bin\x86\Debug\Content\kivirikki3.xnb 
     82C:\MyTemp\MiskaK\MW2(My Warfare 2)\MW2(My Warfare 2)\MW2(My Warfare 2)\bin\x86\Debug\Content\liekkihiukkanen2.xnb 
     83C:\MyTemp\MiskaK\MW2(My Warfare 2)\MW2(My Warfare 2)\MW2(My Warfare 2)\bin\x86\Debug\Content\kamaa1.xnb 
     84C:\MyTemp\MiskaK\MW2(My Warfare 2)\MW2(My Warfare 2)\MW2(My Warfare 2)\bin\x86\Debug\Content\kamaa2.xnb 
     85C:\MyTemp\MiskaK\MW2(My Warfare 2)\MW2(My Warfare 2)\MW2(My Warfare 2)\bin\x86\Debug\Content\kamaa3.xnb 
     86C:\MyTemp\MiskaK\MW2(My Warfare 2)\MW2(My Warfare 2)\MW2(My Warfare 2)\bin\x86\Debug\Content\kamaa4.xnb 
     87C:\MyTemp\MiskaK\MW2(My Warfare 2)\MW2(My Warfare 2)\MW2(My Warfare 2)\bin\x86\Debug\Content\kamaatyhjÀ.xnb 
     88C:\MyTemp\MiskaK\MW2(My Warfare 2)\MW2(My Warfare 2)\MW2(My Warfare 2)\bin\x86\Debug\Content\QAdling 1.xnb 
     89C:\MyTemp\MiskaK\MW2(My Warfare 2)\MW2(My Warfare 2)\MW2(My Warfare 2)\bin\x86\Debug\Content\QAdling 2.xnb 
  • 2012/30/MiskaK/MW2(My Warfare 2)/MW2(My Warfare 2)/MW2(My Warfare 2)/obj/x86/Debug/cachefile-{22ADBDA1-5A43-4401-8049-15C4051FEE11}-targetpath.txt

    r3757 r3775  
    3131Content\kivirikki3.xnb 
    3232Content\liekkihiukkanen2.xnb 
     33Content\kamaa1.xnb 
     34Content\kamaa2.xnb 
     35Content\kamaa3.xnb 
     36Content\kamaa4.xnb 
     37Content\kamaatyhjÀ.xnb 
     38Content\QAdling 1.xnb 
     39Content\QAdling 2.xnb 
    3340Content\kenttÀ1.png 
  • 2012/30/MiskaK/MW2(My Warfare 2)/MW2(My Warfare 2)/MW2(My Warfare 2)Content/MW2(My Warfare 2)Content.contentproj

    r3757 r3775  
    254254    </Compile> 
    255255  </ItemGroup> 
     256  <ItemGroup> 
     257    <Compile Include="kamaa1.png"> 
     258      <Name>kamaa1</Name> 
     259      <Importer>TextureImporter</Importer> 
     260      <Processor>TextureProcessor</Processor> 
     261    </Compile> 
     262    <Compile Include="kamaa2.png"> 
     263      <Name>kamaa2</Name> 
     264      <Importer>TextureImporter</Importer> 
     265      <Processor>TextureProcessor</Processor> 
     266    </Compile> 
     267    <Compile Include="kamaa3.png"> 
     268      <Name>kamaa3</Name> 
     269      <Importer>TextureImporter</Importer> 
     270      <Processor>TextureProcessor</Processor> 
     271    </Compile> 
     272    <Compile Include="kamaa4.png"> 
     273      <Name>kamaa4</Name> 
     274      <Importer>TextureImporter</Importer> 
     275      <Processor>TextureProcessor</Processor> 
     276    </Compile> 
     277  </ItemGroup> 
     278  <ItemGroup> 
     279    <Compile Include="kamaatyhjä.png"> 
     280      <Name>kamaatyhjä</Name> 
     281      <Importer>TextureImporter</Importer> 
     282      <Processor>TextureProcessor</Processor> 
     283    </Compile> 
     284  </ItemGroup> 
     285  <ItemGroup> 
     286    <Compile Include="QAdling 1.png"> 
     287      <Name>QAdling 1</Name> 
     288      <Importer>TextureImporter</Importer> 
     289      <Processor>TextureProcessor</Processor> 
     290    </Compile> 
     291    <Compile Include="QAdling 2.png"> 
     292      <Name>QAdling 2</Name> 
     293      <Importer>TextureImporter</Importer> 
     294      <Processor>TextureProcessor</Processor> 
     295    </Compile> 
     296  </ItemGroup> 
    256297  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    257298  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
Note: See TracChangeset for help on using the changeset viewer.