Changeset 1590 for 2010


Ignore:
Timestamp:
2010-08-04 13:43:09 (9 years ago)
Author:
eelaeepu
Message:
 
Location:
2010/31/eelaeepu/space defense 1.0
Files:
1 added
2 edited

Legend:

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

    r1588 r1590  
    1818    <XnaPlatform>Windows</XnaPlatform> 
    1919  </PropertyGroup> 
    20   <ItemGroup> 
    21     <Compile Include="alus.png"> 
    22       <Name>alus</Name> 
    23       <Importer>TextureImporter</Importer> 
    24       <Processor>TextureProcessor</Processor> 
    25     </Compile> 
    26   </ItemGroup> 
    2720  <ItemGroup> 
    2821    <Reference Include="Microsoft.Xna.Framework.Content.Pipeline.AudioImporters, Version=3.1.0.0, Culture=neutral, PublicKeyToken=6d5c3888ef60e27d" /> 
  • 2010/31/eelaeepu/space defense 1.0/Peli.cs

    r1588 r1590  
    99    PhysicsObject alus; 
    1010    List<Label> valikonKohdat; 
     11    List<Weapon> aseValikko; 
     12    int valittuAse; 
     13    Weapon aseKaytossa; 
     14 
    1115    double aluksennopeus = 200; 
    1216 
    13  
    1417    protected override void Begin() 
    1518    { 
     
    1720 
    1821        Valikko(); 
    19  
    2022 
    2123        MessageDisplay.TextColor = Color.White; 
     
    3638        alus = new PhysicsObject(100, 80); 
    3739        alus.Image = LoadImage("alus2"); 
     40        luoaseet(); 
    3841        Add(alus); 
    3942    } 
     
    4144    void AsetaOhjaimet() 
    4245    { 
    43         Mouse.Listen(MouseButton.Left, ButtonState.Pressed, Ammu, "Ammu aseella."); 
     46        Mouse.Listen(MouseButton.Left, ButtonState.Pressed, AmmuAseella, "Ammu aseella."); 
    4447        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    4548        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu"); 
     49        Keyboard.Listen(Key.RightShift, ButtonState.Pressed, VaihdaAse, "VaihtaaAseen"); 
    4650 
    4751        Keyboard.Listen(Key.Right, ButtonState.Pressed, LiikutaAlusta, "liikuta alusta oikeaan", alus, new Vector(aluksennopeus, 0.0)); 
     
    6165        alus.Hit(impulssi); 
    6266    } 
    63     void Ammu() 
    64     { 
    65         
    66  
    67     } 
     67 
    6868    void Valikko() 
    6969    { 
     
    9292 
    9393    } 
     94 
    9495    void AloitaPeli() 
    9596    { 
     
    99100        LuoAlus(); 
    100101        AsetaOhjaimet(); 
     102        Mouse.ListenMovement(0.1, KuunteleLiiketta, null); 
    101103        //Keyboard.Listen(Key.Escape, ButtonState.Pressed, Valikko, "Palaa valikkoon"); 
    102  
    103     } 
     104    } 
     105 
    104106    void ValikossaLiikkuminen(AnalogState hiirenTila) 
    105107    { 
     
    117119        } 
    118120    } 
     121 
    119122    void Lopeta() 
    120123    { 
     
    122125    } 
    123126 
    124  
    125     void luoaseet() 
    126      
    127     { 
     127    void luoaseet()     
     128    { 
     129        aseValikko = new List<Weapon>(); 
    128130        Cannon tykki = new Cannon(50, 10); 
    129         Add(tykki); 
    130     } 
     131        tykki.Power.Value = 10000; 
     132        tykki.IsVisible = false; 
     133        tykki.Tag = "tykki"; 
     134        tykki.CannonBallCollision = AmmusOsuu; 
     135        tykki.Angle = alus.Angle - Angle.Degrees(90); 
     136        alus.Add(tykki); 
     137 
     138        AssaultRifle rynnakkoKivaari = new AssaultRifle(60, 20); 
     139        rynnakkoKivaari.Angle = alus.Angle - Angle.Degrees(90); 
     140        rynnakkoKivaari.BulletCollision = AmmusOsuu; 
     141        rynnakkoKivaari.IsVisible = false; 
     142        PlasmaCannon plasmaTykki = new PlasmaCannon(60, 20); 
     143        plasmaTykki.Angle = alus.Angle - Angle.Degrees(90); 
     144        plasmaTykki.PlasmaParticleCollision = AmmusOsuu; 
     145        plasmaTykki.IsVisible = false; 
     146        LaserGun laserAse = new LaserGun(60, 20); 
     147        laserAse.Angle = alus.Angle - Angle.Degrees(90); 
     148        laserAse.LaserCollision = AmmusOsuu; 
     149        laserAse.IsVisible = false; 
     150 
     151        aseValikko.Add(rynnakkoKivaari); 
     152        aseValikko.Add(plasmaTykki); 
     153        aseValikko.Add(laserAse); 
     154        aseValikko.Add(tykki); 
     155        aseKaytossa = tykki; 
     156        valittuAse = 3; 
     157        //Add(tykki); 
     158    } 
     159 
     160    void AmmusOsuu(PhysicsObject ammus, PhysicsObject kohde) 
     161    { 
     162        if (kohde == alus) 
     163            return; 
     164        ammus.Destroy(); 
     165    } 
     166 
     167    void VaihdaAse() 
     168    { 
     169        int edellinenAse = valittuAse; 
     170        valittuAse++; 
     171        if (valittuAse >= aseValikko.Count) 
     172            valittuAse = 0; 
     173        alus.Remove(aseValikko[edellinenAse]); 
     174        Remove(alus); 
     175        alus.Add(aseValikko[valittuAse]); 
     176        aseKaytossa = aseValikko[valittuAse]; 
     177 
     178        Timer alusTakaisin = new Timer(); 
     179        alusTakaisin.Interval = 0; 
     180        alusTakaisin.Tag = alus; 
     181        alusTakaisin.Start(1); 
     182        alusTakaisin.Trigger += AlusTakaisinAseenVaihdonJalkeen; 
     183    } 
     184 
     185    void AlusTakaisinAseenVaihdonJalkeen(Timer ajastin) 
     186    { 
     187        PhysicsObject alus = (PhysicsObject)ajastin.Tag; 
     188        Add(alus); 
     189    } 
     190 
     191    void KuunteleLiiketta(AnalogState hiirenTila) 
     192    { 
     193 
     194         
     195    } 
     196    protected override void Update(Time time) 
     197    { 
     198 
     199        base.Update(time); 
     200 
     201        if (alus != null) 
     202        { 
     203            Vector suunta = Mouse.PositionOnWorld - alus.Position; 
     204            alus.Angle = suunta.Angle + Angle.Degrees(90); 
     205        } 
     206 
     207    } 
     208    void AmmuAseella() 
     209    { 
     210        PhysicsObject ammus = aseKaytossa.Shoot(); 
     211 
     212        if (ammus != null) 
     213        { 
     214            ammus.Size *= 3; 
     215            if (aseKaytossa.Tag.ToString() == "tykki") 
     216            { 
     217                Cannon tykki = (Cannon)aseKaytossa; 
     218                tykki.Power.Value += 10000; 
     219            } 
     220        } 
     221    } 
     222 
     223 
    131224 
    132225} 
Note: See TracChangeset for help on using the changeset viewer.