Changeset 1635 for 2010


Ignore:
Timestamp:
2010-08-05 15:00:11 (13 years ago)
Author:
eelaeepu
Message:
 
Location:
2010/31/eelaeepu/space defense 1.0
Files:
9 added
4 edited

Legend:

Unmodified
Added
Removed
  • 2010/31/eelaeepu/space defense 1.0/Content/Content.contentproj

    r1596 r1635  
    4040    </Compile> 
    4141  </ItemGroup> 
     42  <ItemGroup> 
     43    <Compile Include="vihollis alus5.png"> 
     44      <Name>vihollis alus5</Name> 
     45      <Importer>TextureImporter</Importer> 
     46      <Processor>TextureProcessor</Processor> 
     47    </Compile> 
     48  </ItemGroup> 
     49  <ItemGroup> 
     50    <Compile Include="vihollis alus9.png"> 
     51      <Name>vihollis alus9</Name> 
     52      <Importer>TextureImporter</Importer> 
     53      <Processor>TextureProcessor</Processor> 
     54    </Compile> 
     55  </ItemGroup> 
     56  <ItemGroup> 
     57    <Compile Include="vihollis alus12.png"> 
     58      <Name>vihollis alus12</Name> 
     59      <Importer>TextureImporter</Importer> 
     60      <Processor>TextureProcessor</Processor> 
     61    </Compile> 
     62  </ItemGroup> 
     63  <ItemGroup> 
     64    <Compile Include="vihollis alus2.png"> 
     65      <Name>vihollis alus2</Name> 
     66      <Importer>TextureImporter</Importer> 
     67      <Processor>TextureProcessor</Processor> 
     68    </Compile> 
     69  </ItemGroup> 
     70  <ItemGroup> 
     71    <Compile Include="vihollis alus 13.png"> 
     72      <Name>vihollis alus 13</Name> 
     73      <Importer>TextureImporter</Importer> 
     74      <Processor>TextureProcessor</Processor> 
     75    </Compile> 
     76  </ItemGroup> 
     77  <ItemGroup> 
     78    <Compile Include="vihollis alus6.png"> 
     79      <Name>vihollis alus6</Name> 
     80      <Importer>TextureImporter</Importer> 
     81      <Processor>TextureProcessor</Processor> 
     82    </Compile> 
     83  </ItemGroup> 
     84  <ItemGroup> 
     85    <Compile Include="vihollis alus10.png"> 
     86      <Name>vihollis alus10</Name> 
     87      <Importer>TextureImporter</Importer> 
     88      <Processor>TextureProcessor</Processor> 
     89    </Compile> 
     90  </ItemGroup> 
     91  <ItemGroup> 
     92    <Compile Include="vihollis alus 16.png"> 
     93      <Name>vihollis alus 16</Name> 
     94      <Importer>TextureImporter</Importer> 
     95      <Processor>TextureProcessor</Processor> 
     96    </Compile> 
     97  </ItemGroup> 
     98  <ItemGroup> 
     99    <Compile Include="vihollis alus8.png"> 
     100      <Name>vihollis alus8</Name> 
     101      <Importer>TextureImporter</Importer> 
     102      <Processor>TextureProcessor</Processor> 
     103    </Compile> 
     104  </ItemGroup> 
    42105  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    43106  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.  
  • 2010/31/eelaeepu/space defense 1.0/Peli.cs

    r1596 r1635  
    44using Jypeli.Assets; 
    55using System.Collections.Generic; 
     6using Physics2DDotNet.Ignorers; 
    67 
    78public class Avaruuspeli : PhysicsGame 
     
    1011    List<Label> valikonKohdat; 
    1112    List<Weapon> aseValikko; 
     13    List<Weapon> vihollistenaseet = new List<Weapon>(); 
     14    List<PhysicsObject> viholliset = new List<PhysicsObject>(); 
    1215    int valittuAse; 
    1316    Weapon aseKaytossa; 
    14  
     17    ObjectIgnorer ammusIgnorer = new ObjectIgnorer(); 
    1518    double aluksennopeus = 200; 
    1619 
     
    3033        Level.CreateBorders(0.2, false); 
    3134        Mouse.IsCursorVisible = true; 
    32         LuoVihollisAlukset(); 
     35        for (int a = 0; a < 5; a++) 
     36        { 
     37            LuoVihollisAlukset(RandomGen.NextDouble(Level.Left, Level.Right), (RandomGen.NextDouble(Level.Bottom, Level.Top))); 
     38        } 
     39 
     40        Timer ajastin = new Timer(); 
     41        ajastin.Interval = 0.1; 
     42        ajastin.Trigger += VihollisAlusAmpuu; 
     43        ajastin.Start(); 
    3344 
    3445 
     
    3748    void LuoAlus() 
    3849    { 
    39         alus = new PhysicsObject(100, 80); 
     50        alus = new PhysicsObject(40, 50); 
    4051        alus.Image = LoadImage("alus2"); 
    4152        luoaseet(); 
     
    126137    } 
    127138 
    128     void luoaseet()     
     139    void luoaseet() 
    129140    { 
    130141        aseValikko = new List<Weapon>(); 
     
    163174        if (kohde == alus) 
    164175            return; 
     176        if (kohde.Tag.ToString() == "ammus") 
     177        { 
     178            kohde.Destroy(); 
     179        } 
    165180        ammus.Destroy(); 
    166181    } 
     
    193208    { 
    194209 
    195          
     210 
    196211    } 
    197212    protected override void Update(Time time) 
     
    205220            alus.Angle = suunta.Angle + Angle.Degrees(90); 
    206221        } 
     222        foreach (PhysicsObject vihu in viholliset) 
     223        { 
     224            //vihu.Angle = Angle.Degrees(Math.Atan2(alus.Y - vihu.Y, alus.X - vihu.X) * 180 / Math.PI + 90); 
     225            Vector suunta = alus.Position - vihu.Position; 
     226            vihu.Angle = suunta.Angle + Angle.Degrees(270); 
     227            //vihu.Angle = suunta.Angle; 
     228        } 
    207229 
    208230    } 
     
    214236        { 
    215237            ammus.Size *= 3; 
     238            ammus.Tag = "ammus"; 
    216239            if (aseKaytossa.Tag.ToString() == "tykki") 
    217240            { 
     
    221244        } 
    222245    } 
    223         void LuoVihollisAlukset() 
    224         { 
    225             PhysicsObject vihollisalus1 = new PhysicsObject (100, 80); 
    226             vihollisalus1.Image = LoadImage ("vihollis alus1"); 
    227             Add(vihollisalus1);           
    228         } 
    229  
    230     } 
    231  
     246    void LuoVihollisAlukset(double aluksenx, double alukseny) 
     247    { 
     248        PhysicsObject vihollisalus1 = new PhysicsObject(50, 40); 
     249        vihollisalus1.CollisionIgnorer = ammusIgnorer; 
     250        int aluksenTyyppi = RandomGen.NextInt(10); 
     251        switch (aluksenTyyppi) 
     252        { 
     253            case 0: 
     254                { 
     255                    vihollisalus1.Image = LoadImage("vihollis alus1"); 
     256                    LaserGun laserase = new LaserGun(20, 10); 
     257                    laserase.LaserCollision = LaserOsuu; 
     258                    laserase.IsVisible = false; 
     259                    vihollisalus1.Add(laserase); 
     260                    laserase.Angle = Angle.Degrees(90); 
     261                    laserase.IsVisible = false; 
     262                    vihollistenaseet.Add(laserase); 
     263                    viholliset.Add(vihollisalus1); 
     264 
     265 
     266                    break; 
     267                } 
     268            case 1: 
     269                { 
     270                    vihollisalus1.Image = LoadImage("vihollis alus2"); 
     271                    LaserGun laserase = new LaserGun(20, 10); 
     272                    laserase.LaserCollision = LaserOsuu; 
     273                    laserase.IsVisible = false; 
     274                    vihollisalus1.Add(laserase); 
     275                    laserase.Angle = Angle.Degrees(90); 
     276                    vihollistenaseet.Add(laserase); 
     277                    viholliset.Add(vihollisalus1); 
     278                    break; 
     279                } 
     280            case 2: 
     281                { 
     282                    vihollisalus1.Image = LoadImage("vihollis alus5"); 
     283                    AssaultRifle pyssy = new AssaultRifle(40, 20); 
     284                    pyssy.BulletCollision = RifleOsuu; 
     285                    pyssy.TimeBetweenUse = new TimeSpan(4000000); 
     286                    pyssy.IsVisible = false; 
     287                    vihollisalus1.Add(pyssy); 
     288                    pyssy.Angle = Angle.Degrees(90); 
     289                    vihollistenaseet.Add(pyssy); 
     290                    viholliset.Add(vihollisalus1); 
     291                    break; 
     292                } 
     293 
     294            case 3: 
     295                { 
     296                    vihollisalus1.Image = LoadImage("vihollis alus6"); 
     297                    AssaultRifle pyssy = new AssaultRifle(40, 20); 
     298                    pyssy.BulletCollision = RifleOsuu; 
     299                    pyssy.TimeBetweenUse = new TimeSpan(2000000); 
     300                    pyssy.IsVisible = false; 
     301                    vihollisalus1.Add(pyssy); 
     302                    pyssy.Angle = Angle.Degrees(90); 
     303                    vihollistenaseet.Add(pyssy); 
     304                    viholliset.Add(vihollisalus1); 
     305                    break; 
     306                } 
     307            case 4: 
     308                { 
     309                    vihollisalus1.Image = LoadImage("vihollis alus8"); 
     310                    AssaultRifle pyssy = new AssaultRifle(40, 20); 
     311                    pyssy.BulletCollision = RifleOsuu; 
     312                    pyssy.TimeBetweenUse = new TimeSpan(2000000); 
     313                    pyssy.IsVisible = false; 
     314                    vihollisalus1.Add(pyssy); 
     315                    pyssy.Angle = Angle.Degrees(90); 
     316                    vihollistenaseet.Add(pyssy); 
     317                    viholliset.Add(vihollisalus1); 
     318                    break; 
     319                } 
     320            case 5: 
     321                { 
     322                    vihollisalus1.Image = LoadImage("vihollis alus9"); 
     323                    Cannon tykki = new Cannon(20, 10); 
     324                    tykki.IsVisible = false; 
     325                    vihollisalus1.Add(tykki); 
     326                    tykki.Angle = Angle.Degrees(90); 
     327                    tykki.TimeBetweenUse = new TimeSpan(30000000); 
     328                    vihollistenaseet.Add(tykki); 
     329                    viholliset.Add(vihollisalus1); 
     330                    tykki.Power.Value = 100000; 
     331                    tykki.CannonBallCollision = KuulaOsuu; 
     332                    break; 
     333 
     334                } 
     335            case 6: 
     336                { 
     337                    vihollisalus1.Image = LoadImage("vihollis alus10"); 
     338                    Cannon tykki = new Cannon(20, 10); 
     339                    vihollisalus1.Add(tykki); 
     340                    tykki.TimeBetweenUse = new TimeSpan(30000000); 
     341                    tykki.IsVisible = false; 
     342                    tykki.Angle = Angle.Degrees(90); 
     343                    viholliset.Add(vihollisalus1); 
     344                    vihollistenaseet.Add(tykki); 
     345                    tykki.Power.Value = 100000; 
     346                    tykki.CannonBallCollision = KuulaOsuu; 
     347                    break; 
     348                } 
     349            case 7: 
     350                { 
     351                    vihollisalus1.Image = LoadImage("vihollis alus12"); 
     352                    Cannon tykki = new Cannon(20, 10); 
     353                    vihollisalus1.Add(tykki); 
     354                    tykki.TimeBetweenUse = new TimeSpan(30000000); 
     355                    tykki.IsVisible = false; 
     356                    tykki.Angle = Angle.Degrees(90); 
     357                    viholliset.Add(vihollisalus1); 
     358                    vihollistenaseet.Add(tykki); 
     359                    tykki.Power.Value = 100000; 
     360                    tykki.CannonBallCollision = KuulaOsuu; 
     361                    break; 
     362                } 
     363 
     364            case 8: 
     365                { 
     366                    vihollisalus1.Image = LoadImage("vihollis alus 13"); 
     367                    PlasmaCannon plasmaTykki = new PlasmaCannon(100, 50); 
     368                    vihollisalus1.Add(plasmaTykki); 
     369                    plasmaTykki.TimeBetweenUse = new TimeSpan(3000000); 
     370                    plasmaTykki.IsVisible = false; 
     371                    plasmaTykki.Angle = Angle.Degrees(90); 
     372                    vihollistenaseet.Add(plasmaTykki); 
     373                    viholliset.Add(vihollisalus1); 
     374                    break; 
     375                } 
     376            case 9: 
     377                { 
     378                    vihollisalus1.Image = LoadImage("vihollis alus 16"); 
     379                    PlasmaCannon plasmaTykki = new PlasmaCannon(100, 50); 
     380                    plasmaTykki.TimeBetweenUse = new TimeSpan(3000000); 
     381                    vihollisalus1.Add(plasmaTykki); 
     382                    plasmaTykki.IsVisible = false; 
     383                    plasmaTykki.Angle = Angle.Degrees(90); 
     384                    vihollistenaseet.Add(plasmaTykki); 
     385                    viholliset.Add(vihollisalus1); 
     386                    break; 
     387                } 
     388            default: 
     389                { 
     390                    vihollisalus1.Image = LoadImage("vihollis alus9"); 
     391                    break; 
     392                } 
     393        } 
     394        vihollisalus1.X = aluksenx; 
     395        vihollisalus1.Y = alukseny; 
     396 
     397 
     398        Add(vihollisalus1); 
     399 
     400    } 
     401 
     402    void LaserOsuu(PhysicsObject ammus, PhysicsObject kohde) 
     403    { 
     404        if (kohde.Tag.ToString() == "ammus") 
     405            return; 
     406        ammus.Destroy(); 
     407    } 
     408 
     409    void RifleOsuu(PhysicsObject ammus, PhysicsObject kohde) 
     410    { 
     411        if (kohde.Tag.ToString() == "ammus") 
     412            return; 
     413        ammus.Destroy(); 
     414    } 
     415 
     416    void plasmaTykkiOsuu(PhysicsObject ammus, PhysicsObject kohde) 
     417    { 
     418        if (kohde.Tag.ToString() == "ammus") 
     419            return; 
     420        ammus.Destroy(); 
     421    } 
     422 
     423    void VihollisAlusAmpuu(Timer sender) 
     424    { 
     425        for (int i = 0; i < vihollistenaseet.Count; i++) 
     426        { 
     427            Weapon ase = vihollistenaseet[i]; 
     428            PhysicsObject vihollinen = viholliset[i]; 
     429 
     430            //Vector suunta = alus.Position - ase.AbsolutePosition; 
     431            //vihollinen.Angle = suunta.Angle + Angle.Degrees(270); 
     432            if (ase is AssaultRifle) 
     433            { 
     434                PhysicsObject a = ase.Shoot(); 
     435                if (a != null) 
     436                { 
     437                    a.Tag = "ammus"; 
     438                    a.CollisionIgnorer = ammusIgnorer; 
     439                    a.Size = new Vector(15, 5); 
     440                } 
     441                continue; 
     442            } 
     443            if (ase is Cannon) 
     444            { 
     445                (ase as Cannon).Power.Value = 10000; 
     446            } 
     447            PhysicsObject ammus = ase.Shoot(); 
     448            if (ammus != null) 
     449            { 
     450                ammus.CollisionIgnorer = ammusIgnorer; 
     451                ammus.Tag = "ammus"; 
     452                if (ase is PlasmaCannon) 
     453                { 
     454                    ammus.Size *= 5; 
     455                } 
     456 
     457            } 
     458        } 
     459 
     460    } 
     461 
     462    void KuulaOsuu(PhysicsObject kuula, PhysicsObject toinen) 
     463    { 
     464        if (toinen.Tag.ToString() == "ammus") 
     465            return; 
     466        kuula.Destroy(); 
     467        Explosion rajahdys = new Explosion(40); 
     468        rajahdys.Position = kuula.Position; 
     469        Add(rajahdys); 
     470    } 
     471 
     472 
     473} 
     474 
Note: See TracChangeset for help on using the changeset viewer.