Changeset 7882


Ignore:
Timestamp:
2016-07-06 13:49:33 (7 years ago)
Author:
anvinurm
Message:

aseet ja hitpointsit

Location:
2016/27/AnttiN/SalainenTehtävä
Files:
1 added
13 edited

Legend:

Unmodified
Added
Removed
  • 2016/27/AnttiN/SalainenTehtävä/SalainenTehtävä/SalainenTehtävä/SalainenTehtävä.cs

    r7866 r7882  
    2424    Image SahkoansaTykkiKuva = LoadImage("SahkoansaTykki"); 
    2525    Image SahkoansaSahkoKuva = LoadImage("SahkoansaSahko"); 
    26     ase.Image = null; 
     26    Image RajahdysKuva = LoadImage("Rajahdys"); 
    2727 
    2828    AssaultRifle pelaajan1Ase; 
    2929 
    3030    SoundEffect maaliAani = LoadSoundEffect("maali"); 
    31     ase.AttackSound = null; 
    3231 
    3332    public override void Begin() 
    3433    { 
    35  
     34        IsMouseVisible = true; 
    3635        LuoKentta(); 
    3736        LisaaNappaimet(); 
     
    8180        pelaaja1.Mass = 4.0; 
    8281        pelaaja1.Image = pelaajanKuva; 
     82        AddCollisionHandler(pelaaja1, "SahkoansaSahko", TuhoaPelaaja); 
    8383        AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 
    8484        AddCollisionHandler(pelaaja1, "Laskeutuminen", TormaaLaskeutumiseen); 
     
    8888 
    8989        pelaajan1Ase = new AssaultRifle(30, 10); 
    90         pelaajan1Ase = new AssaultRifle(30, 10); 
     90        pelaajan1Ase.Power.MaxValue = 50; 
     91        pelaajan1Ase.FireRate = 1; 
    9192        pelaajan1Ase.ProjectileCollision = AmmusOsui; 
    9293        pelaaja1.Add(pelaajan1Ase); 
    9394 
    94         //pelaaja1 on PlatformCharacter-tyyppinen 
    95         pelaaja1.Weapon = new AssaultRifle(30, 10); 
    96  
    97         //Ammusten määrä aluksi: 
    98         pelaaja1.Weapon.Ammo.Value = 1000000; 
    99  
    100         //Mitä tapahtuu kun ammus osuu johonkin? 
    101         pelaaja1.Weapon.ProjectileCollision = AmmusOsui; 
    102  
     95        
    10396    } 
    10497 
     
    136129        Sahkoansa.RotateImage = true; 
    137130        Sahkoansa.Angle = kaanna; 
     131 
     132        Label pisteNaytto = new Label(); 
     133        pisteNaytto.TextColor = Color.Black; 
     134        pisteNaytto.Color = Color.White; 
     135        pisteNaytto.BindTo(Sahkoansa.ElamaLaskuri); 
     136        Sahkoansa.Add(pisteNaytto); 
    138137    } 
    139138 
     
    160159        Keyboard.Listen(Key.Up, ButtonState.Down, Liikuta, "Pelaaja liikkuu ylöspäin", pelaaja1, new Vector(0, nopeus)); 
    161160        Keyboard.Listen(Key.Down, ButtonState.Down, Liikuta, "pelaaja liikkuu alaspäin", pelaaja1, new Vector(0, -nopeus)); 
    162         Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Ammu", pelaajan1Ase); 
    163         Mouse.ListenMovement(0.1, Tahtaa, "tähtää aseella"); 
     161        Mouse.Listen(MouseButton.Left, ButtonState.Down, AmmuAseella, "Ammu", pelaajan1Ase); 
     162        Mouse.ListenMovement(0.1, Tahtaa, "Tähtää aseella"); 
    164163 
    165164 
     
    192191    } 
    193192 
     193 
     194    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 
     195    { 
     196        ammus.Destroy(); 
     197        if(kohde.Tag.ToString() == "SahkoansaTykki") 
     198        { 
     199            ((SahkoansaTykki)kohde).ElamaLaskuri.Value -= 10; 
     200        } 
     201    } 
     202 
     203    void Tahtaa(AnalogState hiirenLiike) 
     204    { 
     205        Vector suunta = (Mouse.PositionOnWorld - pelaajan1Ase.AbsolutePosition).Normalize(); 
     206        pelaajan1Ase.Angle = suunta.Angle; 
     207    } 
     208    void AmmuAseella(AssaultRifle ase) 
     209    { 
     210        PhysicsObject ammus = ase.Shoot(); 
     211 
     212        if (ammus != null) 
     213        { 
     214            ammus.Size *= 1; 
     215            //ammus.Image = ... 
     216            ammus.MaximumLifetime = TimeSpan.FromSeconds(20.0); 
     217        } 
     218    } 
     219 
     220    void TuhoaPelaaja(PhysicsObject pelaaja, PhysicsObject kohde) 
     221    { 
     222        pelaaja.Destroy(); 
     223        Explosion rajahdys = new Explosion(500); 
     224        rajahdys.Position = pelaaja.Position; 
     225        Add(rajahdys); 
     226        Mouse.Disable(MouseButton.Left); 
     227        Timer.SingleShot(2, Havisit); 
     228    } 
     229 
     230    void Havisit() 
     231    { 
     232        ClearAll(); 
     233        Level.Background.Color = Color.Black; 
     234        MultiSelectWindow alkuValikko = new MultiSelectWindow("Hävisit pelin","Aloita alusta", "Lopeta"); 
     235        Add(alkuValikko); 
     236        alkuValikko.AddItemHandler(0, Begin); 
     237        alkuValikko.AddItemHandler(1, Exit); 
     238    } 
    194239} 
     240     
     241 
    195242 
    196243class SahkoansaTykki : PhysicsObject 
     
    209256    } 
    210257 
    211     void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 
    212     { 
    213         ammus.Destroy(); 
    214     } 
    215  
    216     void AmmuAseella(AssaultRifle ase) 
    217     { 
    218         PhysicsObject ammus = ase.Shoot(); 
    219  
    220         if (ammus != null) 
    221         { 
    222             ammus.Size *= 3; 
    223             ammus.Image = ... 
    224             ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0); 
    225             pyssy.Angle += Angle.FromDegrees(1); 
    226  
    227             AssaultRifle pyssy = new AssaultRifle(20, 5); 
    228             pyssy.ProjectileCollision = AmmusOsui; 
    229             ase.InfiniteAmmo = true; 
    230             ase.Power.Value = 2000; 
    231             ase.Power.DefaultValue = 2000; 
    232             ase.FireRate = 0.5; 
    233             ase.AmmoIgnoresGravity = false; 
    234             ase.AmmoIgnoresExplosions = false; 
    235             ase.CanHitOwner = false; 
    236             ase.Image = aseenKuva; 
    237             ase.AttackSound = aseenAani; 
    238             ase.X = 10.0; 
    239             ase.Y = -5.0; 
    240         } 
    241     } 
    242  
    243     void Tahtaa(AnalogState hiirenLiike) 
    244     { 
    245         Vector suunta = (Mouse.PositionOnWorld - pelaaja1.Weapon.AbsolutePosition).Normalize(); 
    246         pelaaja1.Weapon.Angle = suunta.Angle; 
    247     } 
     258 
     259 
    248260 
    249261} 
  • 2016/27/AnttiN/SalainenTehtävä/SalainenTehtävä/SalainenTehtävä/SalainenTehtävä.csproj.Debug.cachefile

    r7862 r7882  
    1010Content\SahkoansaTykki.xnb 
    1111Content\SahkoansaSahko.xnb 
     12Content\Rajahdys.xnb 
  • 2016/27/AnttiN/SalainenTehtävä/SalainenTehtävä/SalainenTehtävä/obj/x86/Debug/ContentPipeline-{FB1067CC-FEED-45F1-8CB8-8F3DD59AB260}.xml

    r7862 r7882  
    7272      <Options>None</Options> 
    7373      <Output>C:\MyTemp\AnttiN\SalainenTehtävä\SalainenTehtävä\SalainenTehtävä\bin\x86\Debug\Content\Hahmo.xnb</Output> 
    74       <Time>2016-07-06T11:08:36.8796757+03:00</Time> 
     74      <Time>2016-07-06T13:02:17.4065692+03:00</Time> 
    7575    </Item> 
    7676    <Item> 
     
    100100      <Output>C:\MyTemp\AnttiN\SalainenTehtävä\SalainenTehtävä\SalainenTehtävä\bin\x86\Debug\Content\SahkoansaSahko.xnb</Output> 
    101101      <Time>2016-07-06T10:17:30.2356913+03:00</Time> 
     102    </Item> 
     103    <Item> 
     104      <Source>Rajahdys.png</Source> 
     105      <Name>Rajahdys</Name> 
     106      <Importer>TextureImporter</Importer> 
     107      <Processor>TextureProcessor</Processor> 
     108      <Options>None</Options> 
     109      <Output>C:\MyTemp\AnttiN\SalainenTehtävä\SalainenTehtävä\SalainenTehtävä\bin\x86\Debug\Content\Rajahdys.xnb</Output> 
     110      <Time>2016-07-06T10:25:38.4196913+03:00</Time> 
    102111    </Item> 
    103112    <BuildSuccessful>true</BuildSuccessful> 
  • 2016/27/AnttiN/SalainenTehtävä/SalainenTehtävä/SalainenTehtävä/obj/x86/Debug/SalainenTehtävä.csproj.FileListAbsolute.txt

    r7862 r7882  
    1818C:\MyTemp\AnttiN\SalainenTehtÀvÀ\SalainenTehtÀvÀ\SalainenTehtÀvÀ\bin\x86\Debug\Content\SahkoansaTykki.xnb 
    1919C:\MyTemp\AnttiN\SalainenTehtÀvÀ\SalainenTehtÀvÀ\SalainenTehtÀvÀ\bin\x86\Debug\Content\SahkoansaSahko.xnb 
     20C:\MyTemp\AnttiN\SalainenTehtÀvÀ\SalainenTehtÀvÀ\SalainenTehtÀvÀ\bin\x86\Debug\Content\Rajahdys.xnb 
  • 2016/27/AnttiN/SalainenTehtävä/SalainenTehtävä/SalainenTehtävä/obj/x86/Debug/cachefile-{FB1067CC-FEED-45F1-8CB8-8F3DD59AB260}-targetpath.txt

    r7862 r7882  
    1010Content\SahkoansaTykki.xnb 
    1111Content\SahkoansaSahko.xnb 
     12Content\Rajahdys.xnb 
  • 2016/27/AnttiN/SalainenTehtävä/SalainenTehtävä/SalainenTehtäväContent/SalainenTehtäväContent.contentproj

    r7862 r7882  
    116116    </Compile> 
    117117  </ItemGroup> 
     118  <ItemGroup> 
     119    <Compile Include="Rajahdys.png"> 
     120      <Name>Rajahdys</Name> 
     121      <Importer>TextureImporter</Importer> 
     122      <Processor>TextureProcessor</Processor> 
     123    </Compile> 
     124  </ItemGroup> 
    118125  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    119126  <!--  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.