Changeset 7862 for 2016/27


Ignore:
Timestamp:
2016-07-06 11:36:17 (3 years ago)
Author:
anvinurm
Message:

Sähköansojen alku ja aseiden alku.

Location:
2016/27/AnttiN/SalainenTehtävä
Files:
3 added
15 edited

Legend:

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

    r7796 r7862  
    2121    Image SahkoansaKuva = LoadImage("Sähköansa"); 
    2222    Image SahkoansaTykkiKuva = LoadImage("SahkoansaTykki"); 
     23    Image SahkoansaSahkoKuva = LoadImage("SahkoansaSahko"); 
     24    AssaultRifle pelaajan1Ase; 
    2325 
    2426    SoundEffect maaliAani = LoadSoundEffect("maali"); 
     
    4244        kentta.SetTileMethod('N', LisaaPelaaja); 
    4345        kentta.SetTileMethod('L', LisaaLaskeutuminen); 
    44         //kentta.SetTileMethod('S', LisaaSahkoansa); 
    45         kentta.SetTileMethod('A', LisaaSahkoansaTykki); 
     46        kentta.SetTileMethod('R', LisaaSahkoansaTykkiVaaka); 
     47        kentta.SetTileMethod('S', LisaaSahkoansaTykkiPysty); 
    4648        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    4749        Level.CreateBorders(); 
     
    7072    void LisaaPelaaja(Vector paikka, double leveys, double korkeus) 
    7173    { 
    72         pelaaja1 = new PhysicsObject(leveys, korkeus); 
     74        pelaaja1 = new PhysicsObject(leveys*0.9, korkeus*0.9); 
    7375        pelaaja1.Position = paikka; 
    7476        pelaaja1.Mass = 4.0; 
     
    7981        pelaaja1.LinearDamping = 0.9; 
    8082        pelaaja1.CanRotate = false; 
     83 
     84        pelaajan1Ase = new AssaultRifle(30, 10); 
     85        pelaajan1Ase = new AssaultRifle(30, 10); 
     86        pelaajan1Ase.ProjectileCollision = AmmusOsui; 
     87        pelaaja1.Add(pelaajan1Ase); 
    8188    } 
    8289 
     
    9198    } 
    9299 
    93     void LisaaSahkoansaTykki(Vector paikka, double leveys, double korkeus) 
    94     { 
    95         PhysicsObject Sahkoansa = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     100    void LisaaSahkoansaTykkiPysty(Vector paikka, double leveys, double korkeus) 
     101    { 
     102        PhysicsObject sahko = LisaaSahkoansaSahko(new Vector(paikka.X, paikka.Y-korkeus), leveys/2, korkeus, Angle.FromDegrees(0)); 
     103        LisaaSahkoansaTykki(paikka, leveys, korkeus, sahko, Angle.FromDegrees(180)); 
     104        LisaaSahkoansaTykki(new Vector(paikka.X, paikka.Y-korkeus*2), leveys, korkeus, sahko, Angle.FromDegrees(0)); 
     105    } 
     106 
     107    void LisaaSahkoansaTykkiVaaka(Vector paikka, double leveys, double korkeus) 
     108    { 
     109        PhysicsObject sahko = LisaaSahkoansaSahko(new Vector(paikka.X + leveys, paikka.Y), leveys/2, korkeus, Angle.FromDegrees(-90)); 
     110        LisaaSahkoansaTykki(paikka,leveys,korkeus,sahko, Angle.FromDegrees(-90)); 
     111        LisaaSahkoansaTykki(new Vector(paikka.X + leveys*2, paikka.Y), leveys, korkeus, sahko, Angle.FromDegrees(90)); 
     112    } 
     113 
     114    void LisaaSahkoansaTykki(Vector paikka, double leveys, double korkeus, PhysicsObject sahko, Angle kaanna) 
     115    { 
     116        SahkoansaTykki Sahkoansa = new SahkoansaTykki(leveys, korkeus, sahko); 
    96117        Sahkoansa.Position = paikka; 
    97118        Sahkoansa.Image = SahkoansaTykkiKuva; 
    98119        Sahkoansa.Tag = "SahkoansaTykki"; 
    99120        Add(Sahkoansa); 
    100  
    101     } 
    102  
     121        Sahkoansa.RotateImage = true; 
     122        Sahkoansa.Angle = kaanna; 
     123    } 
     124 
     125 
     126 
     127    PhysicsObject LisaaSahkoansaSahko(Vector paikka, double leveys, double korkeus,Angle kaanna) 
     128    { 
     129        PhysicsObject SahkoansaSahko = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     130        SahkoansaSahko.Position = paikka; 
     131        SahkoansaSahko.Image = SahkoansaSahkoKuva; 
     132        SahkoansaSahko.Tag = "SahkoansaSahko"; 
     133        Add(SahkoansaSahko); 
     134        SahkoansaSahko.RotateImage = true; 
     135        SahkoansaSahko.Angle = kaanna; 
     136        return SahkoansaSahko; 
     137    } 
    103138    void LisaaNappaimet() 
    104139    { 
     
    110145        Keyboard.Listen(Key.Up, ButtonState.Down, Liikuta, "Pelaaja liikkuu ylöspäin", pelaaja1, new Vector(0, nopeus)); 
    111146        Keyboard.Listen(Key.Down, ButtonState.Down, Liikuta, "pelaaja liikkuu alaspäin", pelaaja1, new Vector(0, -nopeus)); 
    112  
     147        Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Ammu", pelaajan1Ase); 
    113148 
    114149        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
     
    140175 
    141176} 
     177 
     178class SahkoansaTykki : PhysicsObject 
     179{ 
     180    private IntMeter elamaLaskuri = new IntMeter(50, 0, 50); 
     181 
     182    private PhysicsObject sahko; 
     183    public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 
     184 
     185    public SahkoansaTykki(double leveys, double korkeus, PhysicsObject sahko) 
     186        : base(leveys, korkeus) 
     187    { 
     188        MakeStatic(); 
     189        this.sahko = sahko; 
     190        elamaLaskuri.LowerLimit += delegate { this.sahko.Destroy(); this.Destroy(); }; 
     191    } 
     192 
     193    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 
     194    { 
     195        ammus.Destroy(); 
     196    } 
     197 
     198    void AmmuAseella(AssaultRifle ase) 
     199    { 
     200        PhysicsObject ammus = ase.Shoot(); 
     201 
     202        if (ammus != null) 
     203        { 
     204            ammus.Size *= 3; 
     205            ammus.Image = ... 
     206            ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0); 
     207        } 
     208    } 
     209 
     210} 
  • 2016/27/AnttiN/SalainenTehtävä/SalainenTehtävä/SalainenTehtävä/SalainenTehtävä.csproj.Debug.cachefile

    r7796 r7862  
    99Content\kiviseina.xnb 
    1010Content\SahkoansaTykki.xnb 
     11Content\SahkoansaSahko.xnb 
  • 2016/27/AnttiN/SalainenTehtävä/SalainenTehtävä/SalainenTehtävä/obj/x86/Debug/ContentPipeline-{FB1067CC-FEED-45F1-8CB8-8F3DD59AB260}.xml

    r7796 r7862  
    3636      <Options>None</Options> 
    3737      <Output>C:\MyTemp\AnttiN\SalainenTehtävä\SalainenTehtävä\SalainenTehtävä\bin\x86\Debug\Content\kentta1.xnb</Output> 
    38       <Time>2016-07-05T14:55:07.2650871+03:00</Time> 
     38      <Time>2016-07-06T10:45:55.0766913+03:00</Time> 
    3939    </Item> 
    4040    <Item> 
     
    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-05T14:23:13.3184292+03:00</Time> 
     74      <Time>2016-07-06T11:08:36.8796757+03:00</Time> 
    7575    </Item> 
    7676    <Item> 
     
    9191      <Output>C:\MyTemp\AnttiN\SalainenTehtävä\SalainenTehtävä\SalainenTehtävä\bin\x86\Debug\Content\SahkoansaTykki.xnb</Output> 
    9292      <Time>2016-07-05T14:41:23.4839338+03:00</Time> 
     93    </Item> 
     94    <Item> 
     95      <Source>SahkoansaSahko.png</Source> 
     96      <Name>SahkoansaSahko</Name> 
     97      <Importer>TextureImporter</Importer> 
     98      <Processor>TextureProcessor</Processor> 
     99      <Options>None</Options> 
     100      <Output>C:\MyTemp\AnttiN\SalainenTehtävä\SalainenTehtävä\SalainenTehtävä\bin\x86\Debug\Content\SahkoansaSahko.xnb</Output> 
     101      <Time>2016-07-06T10:17:30.2356913+03:00</Time> 
    93102    </Item> 
    94103    <BuildSuccessful>true</BuildSuccessful> 
  • 2016/27/AnttiN/SalainenTehtävä/SalainenTehtävä/SalainenTehtävä/obj/x86/Debug/SalainenTehtävä.csproj.FileListAbsolute.txt

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

    r7796 r7862  
    99Content\kiviseina.xnb 
    1010Content\SahkoansaTykki.xnb 
     11Content\SahkoansaSahko.xnb 
  • 2016/27/AnttiN/SalainenTehtävä/SalainenTehtävä/SalainenTehtäväContent/SalainenTehtäväContent.contentproj

    r7796 r7862  
    109109    </Compile> 
    110110  </ItemGroup> 
     111  <ItemGroup> 
     112    <Compile Include="SahkoansaSahko.png"> 
     113      <Name>SahkoansaSahko</Name> 
     114      <Importer>TextureImporter</Importer> 
     115      <Processor>TextureProcessor</Processor> 
     116    </Compile> 
     117  </ItemGroup> 
    111118  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    112119  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
  • 2016/27/AnttiN/SalainenTehtävä/SalainenTehtävä/SalainenTehtäväContent/kentta1.txt

    r7796 r7862  
    22############*########### 
    33############ ########### 
    4 ###########   ########## 
     4###########R  ########## 
    55######             ##### 
     6######             S#### 
     7#L           N       *## 
    68######              #### 
    7 #L           N       *## 
    8 ######             A#### 
    99######             ##### 
    10 ###########   ########## 
     10###########R  ########## 
    1111############ ########### 
    1212############*########### 
Note: See TracChangeset for help on using the changeset viewer.