Changeset 7938 for 2016


Ignore:
Timestamp:
2016-07-07 11:29:54 (3 years ago)
Author:
anvinurm
Message:
 
Location:
2016/27/AnttiN/SalainenTehtävä/SalainenTehtävä
Files:
5 added
10 edited

Legend:

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

    r7911 r7938  
    1515    const int RUUDUN_KOKO = 40; 
    1616 
     17    IntMeter voimaMittari; 
     18    int kenttaNRO = 1; 
     19    const int maxKentat = 1; 
    1720    PhysicsObject pelaaja1; 
    1821 
     
    2730    Image TykkiKuva = LoadImage("Tykki"); 
    2831 
    29     AssaultRifle pelaajan1Ase; 
     32    AssaultRifle tykkiAse; 
    3033 
    3134    SoundEffect maaliAani = LoadSoundEffect("maali"); 
     
    3336    public override void Begin() 
    3437    { 
     38        ClearAll(); 
     39        LuoPaavalikko(); 
     40    } 
     41 
     42    void LuoPaavalikko() 
     43    { 
     44        MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko", 
     45"Pelaa", "Lopeta"); 
     46        Add(alkuValikko); 
     47        alkuValikko.AddItemHandler(0, Pelaa); 
     48        alkuValikko.AddItemHandler(1, Exit); 
     49    } 
     50 
     51    void Pelaa() 
     52    { 
     53        MultiSelectWindow alkuValikko = new MultiSelectWindow("Valitse kenttä", 
     54"Kenntä 1", "Takaisin"); 
     55        Add(alkuValikko); 
     56        alkuValikko.AddItemHandler(0, delegate { AloitaPeli(1); }); 
     57        alkuValikko.AddItemHandler(1, LuoPaavalikko); 
     58 
     59    } 
     60 
     61    void AloitaPeli(int kentta) 
     62    { 
     63        this.kenttaNRO = kentta; 
    3564        IsMouseVisible = true; 
    3665        LuoKentta(); 
     66        LuoTahtiLaskuri(); 
    3767        LisaaNappaimet(); 
    3868 
     
    4474    void LuoKentta() 
    4575    { 
    46         TileMap kentta = TileMap.FromLevelAsset("kentta1"); 
     76        TileMap kentta = TileMap.FromLevelAsset("kentta"+kenttaNRO); 
    4777        kentta.SetTileMethod('#', LisaaTaso); 
    4878        kentta.SetTileMethod('*', LisaaTahti); 
     
    5888    } 
    5989 
     90    void LuoTahtiLaskuri() 
     91    { 
     92        voimaMittari = new IntMeter(0,0,3); 
     93        voimaMittari.UpperLimit += VoimaMittariTaynna; 
     94 
     95        ProgressBar voimaPalkki = new ProgressBar(150, 50); 
     96        voimaPalkki.X = Screen.Right - 250; 
     97        voimaPalkki.Y = Screen.Bottom + 100; 
     98        voimaPalkki.BindTo(voimaMittari); 
     99        voimaPalkki.Image = LoadImage("harmaatTahdet"); 
     100        voimaPalkki.BarImage = LoadImage("kultaisetTahdet"); 
     101        Add(voimaPalkki); 
     102 
     103    } 
     104 
     105    void VoimaMittariTaynna() 
     106    { 
     107        MessageDisplay.Add("Keräsit kaikki kolme tähteä!"); 
     108    } 
     109 
    60110    void LisaaTaso(Vector paikka, double leveys, double korkeus) 
    61111    { 
     
    87137        Add(pelaaja1); 
    88138        pelaaja1.LinearDamping = 0.9; 
     139        pelaaja1.Tag = "pelaaja"; 
    89140        pelaaja1.CanRotate = false; 
    90141 
    91         pelaajan1Ase = new AssaultRifle(30, 10); 
    92         pelaajan1Ase.Power.MaxValue = 50; 
    93         pelaajan1Ase.FireRate = 1; 
    94         pelaajan1Ase.ProjectileCollision = AmmusOsui; 
    95         pelaaja1.Add(pelaajan1Ase); 
     142        tykkiAse = new AssaultRifle(30, 10); 
     143        tykkiAse.Power.MaxValue = 50; 
     144        tykkiAse.FireRate = 1; 
     145        tykkiAse.ProjectileCollision = AmmusOsui; 
     146        pelaaja1.Add(tykkiAse); 
    96147 
    97148        
     
    158209        tykki.Position = paikka; 
    159210        tykki.Image = TykkiKuva; 
    160         tykki.Tag = "Tykkki"; 
     211        tykki.Tag = "Tykki"; 
    161212        Add(tykki); 
     213 
     214        AssaultRifle tykkiAse = new AssaultRifle(30, 10); 
     215        tykkiAse.IsVisible = false; 
     216        tykkiAse.Power.MaxValue = 50; 
     217        tykkiAse.FireRate = 0.5; 
     218        tykkiAse.ProjectileCollision = AmmusOsuiPelaajaan; 
     219        tykki.Add(tykkiAse); 
     220 
     221        Timer tykkiAjastin = new Timer(); 
     222        tykkiAjastin.Interval = 0.5; 
     223        tykkiAjastin.Timeout += delegate 
     224        { 
     225            AmmuAseella(tykkiAse); 
     226        }; 
     227        tykkiAjastin.Start(); 
     228 
     229        tykki.Destroyed += delegate { tykkiAjastin.Stop(); }; 
    162230 
    163231        Label pisteNaytto = new Label(); 
     
    178246        Keyboard.Listen(Key.Up, ButtonState.Down, Liikuta, "Pelaaja liikkuu ylöspäin", pelaaja1, new Vector(0, nopeus)); 
    179247        Keyboard.Listen(Key.Down, ButtonState.Down, Liikuta, "pelaaja liikkuu alaspäin", pelaaja1, new Vector(0, -nopeus)); 
    180         Mouse.Listen(MouseButton.Left, ButtonState.Down, AmmuAseella, "Ammu", pelaajan1Ase); 
     248        Mouse.Listen(MouseButton.Left, ButtonState.Down, AmmuAseella, "Ammu", tykkiAse); 
    181249        Mouse.ListenMovement(0.1, Tahtaa, "Tähtää aseella"); 
    182250 
     
    187255        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, new Vector(-nopeus, 0)); 
    188256        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Liikkuu oikealle", pelaaja1, new Vector(nopeus, 0)); 
    189         ControllerOne.Listen(Button.A, ButtonState.Down, AmmuAseella, "Ammu", pelaajan1Ase); 
     257        ControllerOne.Listen(Button.A, ButtonState.Down, AmmuAseella, "Ammu", tykkiAse); 
    190258        ControllerOne.ListenAnalog(AnalogControl.RightStick, 0.1, Tahtaa2, "Liikuta pelaajaa tattia pyörittämällä."); 
    191259 
     
    195263    void Tahtaa2(AnalogState tatinTila) 
    196264    { 
    197         pelaajan1Ase.Angle = tatinTila.StateVector.Angle; 
     265        tykkiAse.Angle = tatinTila.StateVector.Angle; 
    198266    } 
    199267 
     
    210278        MessageDisplay.Add("Keräsit tähden!"); 
    211279        tahti.Destroy(); 
     280        voimaMittari.Value += 1; 
    212281    } 
    213282 
    214283    void TormaaLaskeutumiseen(PhysicsObject hahmo, PhysicsObject Laskeutuminen) 
    215284    { 
     285 
    216286    MessageDisplay.Add("Läpäisit tason"); 
    217  
     287        Timer.SingleShot(1, Voitit); 
    218288    } 
    219289 
     
    226296            ((SahkoansaTykki)kohde).ElamaLaskuri.Value -= 10; 
    227297        } 
    228          
    229     } 
    230  
    231     void AmmusOsui2(PhysicsObject ammus, PhysicsObject kohde) 
    232     { 
    233         ammus.Destroy(); 
    234298        if (kohde.Tag.ToString() == "Tykki") 
    235299        { 
     300 
    236301            ((Tykki)kohde).ElamaLaskuri.Value -= 10; 
    237302 
    238303        } 
     304    } 
     305 
     306    void AmmusOsuiPelaajaan(PhysicsObject ammus, PhysicsObject kohde) 
     307    { 
     308        ammus.Destroy(); 
     309        if (kohde.Tag.ToString() == "pelaaja") 
     310        { 
     311            TuhoaPelaaja(pelaaja1, ammus); 
     312        } 
    239313 
    240314    } 
     
    242316    void Tahtaa(AnalogState hiirenLiike) 
    243317    { 
    244         Vector suunta = (Mouse.PositionOnWorld - pelaajan1Ase.AbsolutePosition).Normalize(); 
    245         pelaajan1Ase.Angle = suunta.Angle; 
     318        Vector suunta = (Mouse.PositionOnWorld - tykkiAse.AbsolutePosition).Normalize(); 
     319        tykkiAse.Angle = suunta.Angle; 
    246320    } 
    247321    void AmmuAseella(AssaultRifle ase) 
     
    253327            ammus.Size *= 1; 
    254328            //ammus.Image = ... 
    255             ammus.MaximumLifetime = TimeSpan.FromSeconds(20.0); 
     329            ammus.MaximumLifetime = TimeSpan.FromSeconds(200.0); 
    256330        } 
    257331    } 
     
    271345        ClearAll(); 
    272346        Level.Background.Color = Color.Black; 
    273         MultiSelectWindow alkuValikko = new MultiSelectWindow("Hävisit pelin","Aloita alusta", "Lopeta"); 
    274         Add(alkuValikko); 
    275         alkuValikko.AddItemHandler(0, Begin); 
    276         alkuValikko.AddItemHandler(1, Exit); 
    277     } 
     347        MultiSelectWindow havioValikko = new MultiSelectWindow("Hävisit pelin", "Aloita alusta", "Päävalikko", "Lopeta"); 
     348        Add(havioValikko); 
     349        havioValikko.AddItemHandler(0, delegate { AloitaPeli(kenttaNRO); }); 
     350        havioValikko.AddItemHandler(1, LuoPaavalikko); 
     351        havioValikko.AddItemHandler(2, Exit); 
     352    } 
     353 
     354    void Voitit() 
     355    { 
     356        ClearAll(); 
     357        Level.Background.Color = Color.Black; 
     358        MultiSelectWindow voittoValikko = new MultiSelectWindow("Taso suoritettu", "Pelaa uudelleen", "Päävalikko","Seuraava kenttä", "Lopeta"); 
     359        Add(voittoValikko); 
     360        voittoValikko.AddItemHandler(0, delegate { AloitaPeli(kenttaNRO); }); 
     361        voittoValikko.AddItemHandler(1, LuoPaavalikko); 
     362        voittoValikko.AddItemHandler(2, delegate { if (!(kenttaNRO < maxKentat)) LuoPaavalikko(); AloitaPeli(kenttaNRO += 1); }); 
     363        voittoValikko.AddItemHandler(3, Exit); 
     364 
     365    } 
     366 
    278367} 
    279368     
  • 2016/27/AnttiN/SalainenTehtävä/SalainenTehtävä/SalainenTehtävä/SalainenTehtävä.csproj.Debug.cachefile

    r7911 r7938  
    1212Content\Rajahdys.xnb 
    1313Content\Tykki.xnb 
     14Content\harmaatTahdet.xnb 
     15Content\kultaisetTahdet.xnb 
  • 2016/27/AnttiN/SalainenTehtävä/SalainenTehtävä/SalainenTehtävä/obj/x86/Debug/ContentPipeline-{FB1067CC-FEED-45F1-8CB8-8F3DD59AB260}.xml

    r7911 r7938  
    119119      <Time>2016-07-06T14:10:30.3215692+03:00</Time> 
    120120    </Item> 
     121    <Item> 
     122      <Source>harmaatTahdet.png</Source> 
     123      <Name>harmaatTahdet</Name> 
     124      <Importer>TextureImporter</Importer> 
     125      <Processor>TextureProcessor</Processor> 
     126      <Options>None</Options> 
     127      <Output>C:\MyTemp\AnttiN\SalainenTehtävä\SalainenTehtävä\SalainenTehtävä\bin\x86\Debug\Content\harmaatTahdet.xnb</Output> 
     128      <Time>2016-07-07T10:43:20.8191983+03:00</Time> 
     129    </Item> 
     130    <Item> 
     131      <Source>kultaisetTahdet.png</Source> 
     132      <Name>kultaisetTahdet</Name> 
     133      <Importer>TextureImporter</Importer> 
     134      <Processor>TextureProcessor</Processor> 
     135      <Options>None</Options> 
     136      <Output>C:\MyTemp\AnttiN\SalainenTehtävä\SalainenTehtävä\SalainenTehtävä\bin\x86\Debug\Content\kultaisetTahdet.xnb</Output> 
     137      <Time>2016-07-07T10:47:32.4173983+03:00</Time> 
     138    </Item> 
    121139    <BuildSuccessful>true</BuildSuccessful> 
    122140    <Settings> 
  • 2016/27/AnttiN/SalainenTehtävä/SalainenTehtävä/SalainenTehtävä/obj/x86/Debug/SalainenTehtävä.csproj.FileListAbsolute.txt

    r7911 r7938  
    2020C:\MyTemp\AnttiN\SalainenTehtÀvÀ\SalainenTehtÀvÀ\SalainenTehtÀvÀ\bin\x86\Debug\Content\Rajahdys.xnb 
    2121C:\MyTemp\AnttiN\SalainenTehtÀvÀ\SalainenTehtÀvÀ\SalainenTehtÀvÀ\bin\x86\Debug\Content\Tykki.xnb 
     22C:\MyTemp\AnttiN\SalainenTehtÀvÀ\SalainenTehtÀvÀ\SalainenTehtÀvÀ\bin\x86\Debug\Content\harmaatTahdet.xnb 
     23C:\MyTemp\AnttiN\SalainenTehtÀvÀ\SalainenTehtÀvÀ\SalainenTehtÀvÀ\bin\x86\Debug\Content\kultaisetTahdet.xnb 
  • 2016/27/AnttiN/SalainenTehtävä/SalainenTehtävä/SalainenTehtävä/obj/x86/Debug/cachefile-{FB1067CC-FEED-45F1-8CB8-8F3DD59AB260}-targetpath.txt

    r7911 r7938  
    1212Content\Rajahdys.xnb 
    1313Content\Tykki.xnb 
     14Content\harmaatTahdet.xnb 
     15Content\kultaisetTahdet.xnb 
  • 2016/27/AnttiN/SalainenTehtävä/SalainenTehtävä/SalainenTehtäväContent/SalainenTehtäväContent.contentproj

    r7911 r7938  
    130130    </Compile> 
    131131  </ItemGroup> 
     132  <ItemGroup> 
     133    <Compile Include="harmaatTahdet.png"> 
     134      <Name>harmaatTahdet</Name> 
     135      <Importer>TextureImporter</Importer> 
     136      <Processor>TextureProcessor</Processor> 
     137    </Compile> 
     138  </ItemGroup> 
     139  <ItemGroup> 
     140    <Compile Include="kultaisetTahdet.png"> 
     141      <Name>kultaisetTahdet</Name> 
     142      <Importer>TextureImporter</Importer> 
     143      <Processor>TextureProcessor</Processor> 
     144    </Compile> 
     145  </ItemGroup> 
    132146  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    133147  <!--  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.