Changeset 2561


Ignore:
Timestamp:
2011-08-04 14:59:55 (8 years ago)
Author:
alkivima
Message:

Talletus.

Location:
2011/31/AleksiK
Files:
3 added
21 edited

Legend:

Unmodified
Added
Removed
  • 2011/31/AleksiK/WorkingTitle/WorkingTitle/Peli.cs

    r2525 r2561  
    2323    AssaultRifle pyssy2; 
    2424 
     25    bool voikoPelaaja1Heittaa = true; 
     26    bool voikoPelaaja2Heittaa = true; 
     27 
    2528    Image auto1Kuva = LoadImage("PunAuto"); 
    2629    Image auto2Kuva = LoadImage("SinAuto"); 
     
    3538    Image raja = LoadImage("stone"); 
    3639 
     40    Image splosion = LoadImage("rajahdysEsimerkki"); 
     41 
     42    Image liekinkuva = LoadImage("liekkiEsimerkki"); 
     43 
     44    Image kuti = LoadImage("panos"); 
     45 
    3746    List<Label> valikonKohdat; 
    3847 
     
    5261        if (auto == 1) 
    5362        { 
    54             auto1 = new Automobile(50, 27.5); 
     63            auto1 = new Automobile(60, 30); 
    5564            auto1.CollisionIgnorer = new ObjectIgnorer(); 
    5665            auto1.Mass = 100.0; 
     
    6675            pyssy1 = new AssaultRifle(20, 5); 
    6776            pyssy1.Tag = "ase"; 
    68             pyssy1.TimeBetweenUse = TimeSpan.FromMilliseconds(70); 
     77            pyssy1.TimeBetweenUse = TimeSpan.FromMilliseconds(60); 
    6978            pyssy1.IsVisible = false; 
    7079            pyssy1.Ammo.Value = 9999; 
     
    7483        else 
    7584        { 
    76             auto2 = new Automobile(50, 27.5); 
     85            auto2 = new Automobile(60, 30); 
    7786            auto2.CollisionIgnorer = new ObjectIgnorer(); 
    78             auto2.Mass = 50.0; 
     87            auto2.Mass = 100.0; 
    7988            auto2.Color = new Color(255, 255, 255); 
    8089            auto2.X = 300; 
     
    8998            pyssy2 = new AssaultRifle(20, 5); 
    9099            pyssy2.Tag = "ase"; 
    91             pyssy2.TimeBetweenUse = TimeSpan.FromMilliseconds(70); 
     100            pyssy2.TimeBetweenUse = TimeSpan.FromMilliseconds(60); 
    92101            pyssy2.IsVisible = false; 
    93102            pyssy2.Ammo.Value = 9999; 
    94103            auto2.Add(pyssy2); 
    95104        } 
    96          
    97      
     105 
     106 
    98107    } 
    99108 
     
    167176        Exit(); 
    168177    } 
    169  
    170178 
    171179    void AsetaOhjaimet() 
     
    181189        Keyboard.Listen(Key.LeftControl, ButtonState.Released, LopetaAmpuminen, null, auto1, pyssy1); 
    182190 
     191        Keyboard.Listen(Key.Space, ButtonState.Pressed, AmmuNaatti1, "Ammu", auto1); 
     192 
     193        Keyboard.Listen(Key.NumPad0, ButtonState.Pressed, AmmuNaatti2, "Ammu", auto2); 
     194 
     195 
    183196        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    184197        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä"); 
     
    204217    void kaanny(Automobile auto, double kaannos) 
    205218    { 
    206         auto.Angle = Angle.FromDegrees(auto.Angle.Degrees + kaannos * 1.7); 
     219        auto.Angle = Angle.FromDegrees(auto.Angle.Degrees + kaannos * 1.25); 
    207220    } 
    208221 
     
    222235            //new TimeSpan(0,0,0,1,0); 
    223236            Add(kura); 
     237 
     238            Flame liekki = new Flame(liekinkuva); 
     239            //, 25, Vector.FromLengthAndAngle(25,(auto1.Angle + Angle.FromDegrees(180)))); 
     240            liekki.Position = auto1.Position + Vector.FromLengthAndAngle(0, (auto1.Angle + Angle.FromDegrees(180))); 
     241            liekki.Angle = auto1.Angle + Angle.FromDegrees(180); 
     242            liekki.Width = 0.5; 
     243            liekki.MaximumLifetime = new TimeSpan(0, 0, 0, 0, 50); 
     244            liekki.MaxScale = 0.01; 
     245            Add(liekki, -1); 
     246 
    224247        } 
    225248 
     
    367390    void PelaajaTuhoutuu(Automobile auto) 
    368391    { 
    369          if (voimaMittari1.Value <= 0) 
    370         { 
    371         Explosion rajahdys1 = new Explosion(200); 
    372         rajahdys1.Position = auto1.Position; 
    373         rajahdys1.Speed = 500.0; 
    374         rajahdys1.Force = 3000; 
    375         Add(rajahdys1); 
    376         } 
    377           
     392        if (voimaMittari1.Value <= 0) 
     393        { 
     394            Explosion rajahdys1 = new Explosion(200); 
     395            rajahdys1.Position = auto1.Position; 
     396            rajahdys1.Speed = 300.0; 
     397            rajahdys1.Force = 2000; 
     398 
     399            Add(rajahdys1); 
     400            rajahdys1.IsVisible = false; 
     401 
     402            ExplosionSystem splosion1 = new ExplosionSystem(splosion, 100); 
     403 
     404            Add(splosion1); 
     405            splosion1.BlendMode = BlendMode.Additive; 
     406            double x = auto1.X; 
     407            double y = auto1.Y; 
     408            splosion1.MinScale = 200; 
     409            splosion1.MaxScale = 400; 
     410            splosion1.MinLifetime = 2; 
     411            splosion1.MaxLifetime = 3; 
     412            splosion1.MinVelocity = 1; 
     413            splosion1.MaxVelocity = 75; 
     414            int pMaara = 50; 
     415            splosion1.AddEffect(auto1.X, auto1.Y, pMaara); 
     416 
     417        } 
     418 
    378419        if (voimaMittari2.Value <= 0) 
    379          { 
    380              Explosion rajahdys2 = new Explosion(200); 
    381              rajahdys2.Position = auto2.Position; 
    382              rajahdys2.Speed = 500.0; 
    383              rajahdys2.Force = 3000; 
    384              Add(rajahdys2); 
    385          } 
     420        { 
     421            Explosion rajahdys2 = new Explosion(200); 
     422            rajahdys2.Position = auto2.Position; 
     423            rajahdys2.Speed = 300.0; 
     424            rajahdys2.Force = 2000; 
     425            Add(rajahdys2); 
     426 
     427            ExplosionSystem splosion2 = new ExplosionSystem(splosion, 100); 
     428 
     429            Add(splosion2); 
     430            splosion2.BlendMode = BlendMode.Additive; 
     431            double x = auto2.X; 
     432            double y = auto2.Y; 
     433            splosion2.MinScale = 200; 
     434            splosion2.MaxScale = 400; 
     435            splosion2.MinLifetime = 2; 
     436            splosion2.MaxLifetime = 3; 
     437            splosion2.MinVelocity = 1; 
     438            splosion2.MaxVelocity = 75; 
     439            int pMaara = 50; 
     440            splosion2.AddEffect(auto2.X, auto2.Y, pMaara); 
     441 
     442        } 
    386443        auto.Destroy(); 
    387444        if (auto == auto1) pelaajan2Pisteet.Value += 1; else pelaajan1Pisteet.Value += 1; 
    388445        if (pelaajan1Pisteet.Value >= pelaajan1Pisteet.MaxValue || pelaajan2Pisteet >= pelaajan2Pisteet.MaxValue) return; 
    389         UusiEra();       
     446        UusiEra(); 
    390447    } 
    391448 
     
    415472    void HPmittarit() 
    416473    { 
    417         voimaMittari1 = new DoubleMeter(40); 
    418         voimaMittari1.MaxValue = 40; 
     474        voimaMittari1 = new DoubleMeter(50); 
     475        voimaMittari1.MaxValue = 50; 
    419476        voimaMittari1.MinValue = 0; 
    420477        voimaMittari1.LowerLimit += delegate { PelaajaTuhoutuu(auto1); }; 
     
    426483        Add(voimaPalkki); 
    427484 
    428         voimaMittari2 = new DoubleMeter(40); 
    429         voimaMittari2.MaxValue = 40; 
     485        voimaMittari2 = new DoubleMeter(50); 
     486        voimaMittari2.MaxValue = 50; 
    430487        voimaMittari2.MinValue = 0; 
    431488        voimaMittari2.LowerLimit += delegate { PelaajaTuhoutuu(auto2); }; 
     
    442499        if (auto1.Velocity.Magnitude > 300) 
    443500        { 
    444             voimaMittari1.Value--; 
     501            voimaMittari1.Value -= 5; 
    445502        } 
    446503 
    447504        if (auto2.Velocity.Magnitude > auto1.Velocity.Magnitude) 
    448505        { 
    449             voimaMittari1.Value--; 
     506            voimaMittari1.Value -= 5; 
    450507        } 
    451508    } 
     
    455512        if (auto2.Velocity.Magnitude > 300) 
    456513        { 
    457             voimaMittari2.Value--; 
     514            voimaMittari2.Value -= 5; 
    458515        } 
    459516 
    460517        if (auto1.Velocity.Magnitude > auto2.Velocity.Magnitude) 
    461518        { 
    462             voimaMittari2.Value--; 
     519            voimaMittari2.Value -= 5; 
    463520        } 
    464521    } 
     
    486543        //ClearControls(); 
    487544 
    488         voimaMittari1.Value = 40; 
    489         voimaMittari2.Value = 40; 
     545        voimaMittari1.Value = 50; 
     546        voimaMittari2.Value = 50; 
    490547 
    491548 
     
    528585        { 
    529586            ammus.CollisionIgnorer = auto.CollisionIgnorer; 
    530             ammus.Size *= 0.5; 
     587            ammus.IgnoresExplosions = true; 
     588            ammus.Size *= 2; 
     589            ammus.Image = kuti; 
    531590            AddCollisionHandler(ammus, AmmusOsui); 
    532591        } 
    533592    } 
    534593 
     594    void AmmuNaatti1(Automobile auto) 
     595    { 
     596        if (voikoPelaaja1Heittaa) 
     597        { 
     598            voikoPelaaja1Heittaa = false; 
     599            Grenade kranu = new Grenade(0.7); 
     600            kranu.FuseTime = TimeSpan.FromSeconds(0.3); 
     601            kranu.ExplosionRadius = 100; 
     602            kranu.ExplosionForce = 300; 
     603            kranu.ExplosionSpeed = 500; 
     604            kranu.MaximumLifetime = TimeSpan.FromSeconds(1); 
     605            Add(kranu); 
     606            kranu.Position = auto.Position + Vector.FromLengthAndAngle(35, (auto.Angle + Angle.FromDegrees(180))); 
     607            kranu.Angle = auto.Angle + Angle.FromDegrees(180); 
     608            Vector heittoVoima = Vector.FromLengthAndAngle(6000, (auto.Angle + Angle.FromDegrees(180))); 
     609            kranu.Hit(heittoVoima); 
     610 
     611            if (kranu != null) 
     612            { 
     613                kranu.Size *= 4; 
     614                AddCollisionHandler(kranu, KranaattiOsui); 
     615            } 
     616            Timer.SingleShot(2.0, delegate { voikoPelaaja1Heittaa = true; }); 
     617        } 
     618    } 
     619    void AmmuNaatti2(Automobile auto) 
     620    { 
     621        if (voikoPelaaja2Heittaa) 
     622        { 
     623            voikoPelaaja2Heittaa = false; 
     624            Grenade kranu = new Grenade(0.7); 
     625            kranu.FuseTime = TimeSpan.FromSeconds(0.3); 
     626            kranu.ExplosionRadius = 100; 
     627            kranu.ExplosionForce = 300; 
     628            kranu.ExplosionSpeed = 500; 
     629            kranu.MaximumLifetime = TimeSpan.FromSeconds(1); 
     630            Add(kranu); 
     631            kranu.Position = auto.Position + Vector.FromLengthAndAngle(35, (auto.Angle + Angle.FromDegrees(180))); 
     632            kranu.Angle = auto.Angle + Angle.FromDegrees(180); 
     633            Vector heittoVoima = Vector.FromLengthAndAngle(6000, (auto.Angle + Angle.FromDegrees(180))); 
     634            kranu.Hit(heittoVoima); 
     635 
     636            if (kranu != null) 
     637            { 
     638                kranu.Size *= 4; 
     639                AddCollisionHandler(kranu, KranaattiOsui); 
     640            } 
     641            Timer.SingleShot(2.0, delegate { voikoPelaaja1Heittaa = true; }); 
     642        } 
     643    } 
    535644    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 
    536645    { 
     
    548657        } 
    549658    } 
    550  
     659    void KranaattiOsui(PhysicsObject kranu, PhysicsObject kohde) 
     660    { 
     661        kranu.Destroy(); 
     662 
     663        if (kohde == auto1) 
     664        { 
     665            voimaMittari1.Value -= 10; 
     666            return; 
     667        } 
     668        if (kohde == auto2) 
     669        { 
     670            voimaMittari2.Value -= 10; 
     671            return; 
     672        } 
     673    } 
    551674    void Aftermath() 
    552     {         
     675    { 
    553676        Timer jalkiaika = new Timer(); 
    554677        jalkiaika.Interval = 3; 
     
    558681    void EranAlku() 
    559682    { 
    560     
    561         Add(auto1, 0); 
    562         Add(auto2, 0); 
     683 
     684        //Add(auto1, 0); 
     685        //Add(auto2, 0); 
    563686 
    564687        auto1.X = -300; 
     
    579702 
    580703        MessageDisplay.Clear(); 
    581          
     704 
    582705        Timer aikaLaskuri = new Timer(); 
    583706        aikaLaskuri.Interval = 3; 
     
    601724        auto1.Stop(); 
    602725        auto2.Stop(); 
    603     } 
    604  
    605     void AikaLoppui(Timer ajastin) 
    606     { 
     726 
    607727        if (auto1.IsDestroyed) 
    608728        { 
     
    615735            Add(auto2, 0); 
    616736        } 
     737    } 
     738 
     739    void AikaLoppui(Timer ajastin) 
     740    { 
     741 
    617742 
    618743        auto1.Animation.Stop(); 
  • 2011/31/AleksiK/WorkingTitle/WorkingTitle/WorkingTitle.csproj.Debug.cachefile

    r2525 r2561  
    1212Content\tiili.xnb 
    1313Content\stone.xnb 
     14Content\panos.xnb 
  • 2011/31/AleksiK/WorkingTitle/WorkingTitle/obj/x86/Debug/WorkingTitle.csproj.FileListAbsolute.txt

    r2525 r2561  
    2020C:\MyTemp\AleksiK\WorkingTitle\WorkingTitle\bin\x86\Debug\Content\tiili.xnb 
    2121C:\MyTemp\AleksiK\WorkingTitle\WorkingTitle\bin\x86\Debug\Content\stone.xnb 
     22C:\MyTemp\AleksiK\WorkingTitle\WorkingTitle\bin\x86\Debug\Content\panos.xnb 
  • 2011/31/AleksiK/WorkingTitle/WorkingTitle/obj/x86/Debug/cachefile-{5BE16854-838A-4380-8B3A-3416305E4ECD}-targetpath.txt

    r2525 r2561  
    1212Content\tiili.xnb 
    1313Content\stone.xnb 
     14Content\panos.xnb 
  • 2011/31/AleksiK/WorkingTitle/WorkingTitleContent/WorkingTitleContent.contentproj

    r2525 r2561  
    6565      <Processor>TextureProcessor</Processor> 
    6666    </Compile> 
    67     <Compile Include="SinAuto.png"> 
    68       <Name>SinAuto</Name> 
    69       <Importer>TextureImporter</Importer> 
    70       <Processor>TextureProcessor</Processor> 
    71     </Compile> 
    7267    <Compile Include="SinAutoAmpuu.png"> 
    7368      <Name>SinAutoAmpuu</Name> 
     
    125120    </Compile> 
    126121  </ItemGroup> 
     122  <ItemGroup> 
     123    <Compile Include="SinAuto.png"> 
     124      <Name>SinAuto</Name> 
     125      <Importer>TextureImporter</Importer> 
     126      <Processor>TextureProcessor</Processor> 
     127    </Compile> 
     128  </ItemGroup> 
     129  <ItemGroup> 
     130    <Compile Include="panos.png"> 
     131      <Name>panos</Name> 
     132      <Importer>TextureImporter</Importer> 
     133      <Processor>TextureProcessor</Processor> 
     134    </Compile> 
     135  </ItemGroup> 
    127136  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    128137  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
  • 2011/31/AleksiK/WorkingTitle/WorkingTitleContent/obj/x86/Debug/ContentPipeline.xml

    r2525 r2561  
    1818      <Options>None</Options> 
    1919      <Output>C:\MyTemp\AleksiK\WorkingTitle\WorkingTitle\bin\x86\Debug\Content\PunAuto.xnb</Output> 
    20       <Time>2011-08-01T11:59:28.6671907+03:00</Time> 
     20      <Time>2011-08-04T12:27:52.0807639+03:00</Time> 
    2121    </Item> 
    2222    <Item> 
     
    2727      <Options>None</Options> 
    2828      <Output>C:\MyTemp\AleksiK\WorkingTitle\WorkingTitle\bin\x86\Debug\Content\PunAutoAmpuu.xnb</Output> 
    29       <Time>2011-08-01T11:59:28.6671907+03:00</Time> 
     29      <Time>2011-08-04T12:01:56.2672525+03:00</Time> 
    3030    </Item> 
    3131    <Item> 
     
    3636      <Options>None</Options> 
    3737      <Output>C:\MyTemp\AleksiK\WorkingTitle\WorkingTitle\bin\x86\Debug\Content\rajahdysEsimerkki.xnb</Output> 
    38       <Time>2011-08-01T14:33:24.9572887+03:00</Time> 
     38      <Time>2011-08-04T09:49:56.6794183+03:00</Time> 
    3939    </Item> 
    4040    <Item> 
     
    4545      <Options>None</Options> 
    4646      <Output>C:\MyTemp\AleksiK\WorkingTitle\WorkingTitle\bin\x86\Debug\Content\SinAuto.xnb</Output> 
    47       <Time>2011-08-01T11:59:28.6671907+03:00</Time> 
     47      <Time>2011-08-04T12:40:01.9338559+03:00</Time> 
    4848    </Item> 
    4949    <Item> 
     
    5454      <Options>None</Options> 
    5555      <Output>C:\MyTemp\AleksiK\WorkingTitle\WorkingTitle\bin\x86\Debug\Content\SinAutoAmpuu.xnb</Output> 
    56       <Time>2011-08-01T11:59:28.6671907+03:00</Time> 
     56      <Time>2011-08-04T12:00:33.3099636+03:00</Time> 
    5757    </Item> 
    5858    <Item> 
     
    119119      <Time>2011-08-03T10:41:57.6057055+03:00</Time> 
    120120    </Item> 
     121    <Item> 
     122      <Source>panos.png</Source> 
     123      <Name>panos</Name> 
     124      <Importer>TextureImporter</Importer> 
     125      <Processor>TextureProcessor</Processor> 
     126      <Options>None</Options> 
     127      <Output>C:\MyTemp\AleksiK\WorkingTitle\WorkingTitle\bin\x86\Debug\Content\panos.xnb</Output> 
     128      <Time>2011-08-04T14:37:29.8365679+03:00</Time> 
     129    </Item> 
    121130    <BuildSuccessful>true</BuildSuccessful> 
    122131    <Settings> 
Note: See TracChangeset for help on using the changeset viewer.