Changeset 5437 for 2014/27


Ignore:
Timestamp:
2014-07-04 12:09:43 (5 years ago)
Author:
katleino
Message:

Valmis peli

Location:
2014/27/KatjuL/OmaPeli
Files:
4 added
13 edited

Legend:

Unmodified
Added
Removed
  • 2014/27/KatjuL/OmaPeli/OmaPeli/OmaPeli/OmaPeli.cs

    r5348 r5437  
    1515    PlatformCharacter pelaaja; 
    1616    IntMeter pisteLaskuri = new IntMeter(0); 
    17  
     17    List<Label> valikonKohdat = new List<Label>(); 
     18    EasyHighScore topLista = new EasyHighScore(); 
    1819 
    1920    public override void Begin() 
    2021    { 
    21         Gravity = new Vector(0, -1000); 
    22  
    23         LuoKentta(); 
    24         LisaaNappaimet(); 
    25         LuoPistelaskuri(); 
    26         LuoVihollisAjastin(); 
    27  
    28         Camera.Follow(pelaaja); 
    29         Camera.ZoomFactor = 1.2; 
    30         Camera.StayInLevel = true; 
     22        Mouse.IsCursorVisible = true; 
     23         
     24        Valikko(); 
    3125    } 
    3226 
     
    6458        pelaaja.Weapon.InfiniteAmmo = true; 
    6559        pelaaja.Weapon.ProjectileCollision = AmmusOsui; 
    66         pelaaja.Weapon.AmmoIgnoresGravity = false; 
     60        pelaaja.Weapon.AmmoIgnoresGravity = true; 
    6761        pelaaja.Weapon.CanHitOwner = false; 
    6862 
    69         AddCollisionHandler(pelaaja, "pahis", CollisionHandler.DestroyObject); 
     63        AddCollisionHandler(pelaaja, "pahis", PelaajaTormasi); 
     64    } 
     65 
     66    void PelaajaTormasi(PhysicsObject tormaaja, PhysicsObject vihu) 
     67    { 
     68        if (vihu.Tag.Equals("pahis")) 
     69        { 
     70            pelaaja.Destroy(); 
     71            GameOver(); 
     72        } 
    7073    } 
    7174 
     
    7376    { 
    7477        ammus.Destroy(); 
    75         if (kohde.Tag == "pahis") 
     78        if (kohde.Tag.Equals("pahis")) 
    7679        { 
    7780            kohde.Destroy(); 
     
    122125        vihollinen.Tag = "pahis"; 
    123126        Add(vihollinen); 
    124         vihollinen.LifetimeLeft = TimeSpan.FromSeconds(30.0); 
     127        vihollinen.LifetimeLeft = TimeSpan.FromSeconds(25.0); 
    125128 
    126129        PlatformWandererBrain tasoAivot = new PlatformWandererBrain(); 
     
    132135        tasoAivot.TriesToJump = true; 
    133136        pelaaja.Weapon.ProjectileCollision = AmmusOsui; 
     137 
     138        if (RandomGen.NextBool() == true) 
     139        { 
     140            vihollinen.X = Level.Left; 
     141        } 
     142        else 
     143        { 
     144            vihollinen.X = Level.Right; 
     145        } 
    134146    } 
    135147 
     
    155167    { 
    156168        Timer ajastin = new Timer(); 
    157         ajastin.Interval = 0.5; 
     169        ajastin.Interval = 0.9; 
    158170        ajastin.Timeout += Viholliset; 
    159171        ajastin.Start(); 
    160172    } 
     173 
     174    void Valikko() 
     175    { 
     176        ClearAll(); 
     177 
     178        MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko", "Aloita peli", "Parhaat pisteet", "Lopeta"); 
     179        Add(alkuValikko); 
     180 
     181        alkuValikko.AddItemHandler(0, AloitaPeli); 
     182        alkuValikko.AddItemHandler(1, ParhaatPisteet); 
     183        alkuValikko.AddItemHandler(2, Exit); 
     184    } 
     185 
     186    void ValikossaLiikkuminen(AnalogState hiirenTila) 
     187    { 
     188        foreach (Label kohta in valikonKohdat) 
     189        { 
     190            if (Mouse.IsCursorOn(kohta)) 
     191            { 
     192                kohta.TextColor = Color.Red; 
     193            } 
     194            else 
     195            { 
     196                kohta.TextColor = Color.Black; 
     197            } 
     198        } 
     199    } 
     200 
     201    void AloitaPeli() 
     202    { 
     203        ClearAll(); 
     204 
     205        Gravity = new Vector(0, -1000); 
     206 
     207        LuoKentta(); 
     208        LisaaNappaimet(); 
     209        LuoPistelaskuri(); 
     210        LuoVihollisAjastin(); 
     211 
     212        Camera.Follow(pelaaja); 
     213        Camera.ZoomFactor = 1.2; 
     214        Camera.StayInLevel = true; 
     215    } 
     216 
     217    void ParhaatPisteet(Window sender = null) 
     218    { 
     219        //... 
     220    } 
     221 
     222    void ParhaatPisteet() 
     223    { 
     224        topLista.EnterAndShow(pisteLaskuri.Value); 
     225        topLista.HighScoreWindow.Closed += ParhaatPisteet; 
     226        topLista.Show(); 
     227    } 
     228 
     229    void GameOver() 
     230    { 
     231        GameObject loppuTeksti = new GameObject(LoadImage("GameOver")); 
     232        Add(loppuTeksti); 
     233        Timer.SingleShot(5.0, delegate { Valikko(); }); 
     234    } 
    161235} 
    162  
    163 // TODO Lisää vihollisten paikka 
    164 //TODO alkuvalikko 
    165 //TODO lisää äänet 
    166 //TODO lisää "Game Over" 
  • 2014/27/KatjuL/OmaPeli/OmaPeli/OmaPeli/OmaPeli.csproj.Debug.cachefile

    r5348 r5437  
    33Content\tahti.xnb 
    44Content\kentta1.xnb 
     5Content\GameOver.xnb 
  • 2014/27/KatjuL/OmaPeli/OmaPeli/OmaPeli/obj/x86/Debug/ContentPipeline-{4C97A369-F2E7-4D6A-9A08-E51D7C4F45B5}.xml

    r5348 r5437  
    3636      <Options>None</Options> 
    3737      <Output>C:\MyTemp\KatjuL\OmaPeli\OmaPeli\OmaPeli\bin\x86\Debug\Content\kentta1.xnb</Output> 
    38       <Time>2014-07-02T13:59:31.6123907+03:00</Time> 
     38      <Time>2014-07-04T09:31:12.1462692+03:00</Time> 
     39    </Item> 
     40    <Item> 
     41      <Source>GameOver.png</Source> 
     42      <Name>GameOver</Name> 
     43      <Importer>TextureImporter</Importer> 
     44      <Processor>TextureProcessor</Processor> 
     45      <Options>None</Options> 
     46      <Output>C:\MyTemp\KatjuL\OmaPeli\OmaPeli\OmaPeli\bin\x86\Debug\Content\GameOver.xnb</Output> 
     47      <Time>2014-07-04T12:07:44.4186534+03:00</Time> 
    3948    </Item> 
    4049    <BuildSuccessful>true</BuildSuccessful> 
  • 2014/27/KatjuL/OmaPeli/OmaPeli/OmaPeli/obj/x86/Debug/OmaPeli.csproj.FileListAbsolute.txt

    r5348 r5437  
    1010C:\MyTemp\KatjuL\OmaPeli\OmaPeli\OmaPeli\obj\x86\Debug\OmaPeli.exe 
    1111C:\MyTemp\KatjuL\OmaPeli\OmaPeli\OmaPeli\obj\x86\Debug\OmaPeli.pdb 
     12C:\MyTemp\KatjuL\OmaPeli\OmaPeli\OmaPeli\bin\x86\Debug\Content\GameOver.xnb 
  • 2014/27/KatjuL/OmaPeli/OmaPeli/OmaPeli/obj/x86/Debug/cachefile-{4C97A369-F2E7-4D6A-9A08-E51D7C4F45B5}-targetpath.txt

    r5348 r5437  
    33Content\tahti.xnb 
    44Content\kentta1.xnb 
     5Content\GameOver.xnb 
  • 2014/27/KatjuL/OmaPeli/OmaPeli/OmaPeliContent/OmaPeliContent.contentproj

    r5348 r5437  
    6767    </Compile> 
    6868  </ItemGroup> 
     69  <ItemGroup> 
     70    <Compile Include="GameOver.png"> 
     71      <Name>GameOver</Name> 
     72      <Importer>TextureImporter</Importer> 
     73      <Processor>TextureProcessor</Processor> 
     74    </Compile> 
     75  </ItemGroup> 
    6976  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    7077  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
  • 2014/27/KatjuL/OmaPeli/OmaPeli/OmaPeliContent/kentta1.txt

    r5348 r5437  
    1 .................. 
    2 .............P.... 
    3 .................. 
    4 .................. 
    5 ...#####..#####... 
    6 ..#............#.. 
    7 .................. 
    8 ################## 
     1................... 
     2........P.......... 
     3................... 
     4................... 
     5.....########...... 
     6...##........####.. 
     7................... 
     8################### 
Note: See TracChangeset for help on using the changeset viewer.