Changeset 8178 for 2016


Ignore:
Timestamp:
2016-07-28 09:40:55 (3 years ago)
Author:
jotapoti
Message:

kentta1 ja 2 toimivat. Kentan voi vaihtaa.

Location:
2016/30/luennot/Tasoloikkailu
Files:
3 added
13 edited

Legend:

Unmodified
Added
Removed
  • 2016/30/luennot/Tasoloikkailu/Tasoloikkailu/Tasoloikkailu/Tasoloikkailu.cs

    r8147 r8178  
    1212    const double hyppyNopeus = 750; 
    1313    const int RUUDUN_KOKO = 40; 
     14    const int minimikenttanumero = 1; 
     15    const int maksimikenttanumero = 2; 
    1416 
    1517    PlatformCharacter pelaaja1; 
     
    2022    Image ohjeKuva = LoadImage("ohjeet"); 
    2123    SoundEffect maaliAani = LoadSoundEffect("maali"); 
     24 
     25    int kenttanumero = 1; 
    2226 
    2327    public override void Begin() 
     
    4852    void AloitaPeli() 
    4953    { 
     54        ClearAll(); 
    5055        Gravity = new Vector(0, -1000); 
    5156 
     
    6065    void LuoKentta() 
    6166    { 
    62         TileMap kentta = TileMap.FromLevelAsset("kentta1"); 
     67        // tarkistetaan kentän numeron oikeellisuus: 
     68        if (kenttanumero > maksimikenttanumero) 
     69        { 
     70            // TODO tee tähän voittoteksti äläkä aloita samaa viimeistä kenttää uusiksi! 
     71            kenttanumero = maksimikenttanumero; 
     72        } 
     73        if (kenttanumero < minimikenttanumero) 
     74        { 
     75            kenttanumero = minimikenttanumero; 
     76        } 
     77        // ladataan kenttä: 
     78        TileMap kentta = TileMap.FromLevelAsset("kentta" + kenttanumero); 
    6379        kentta.SetTileMethod('#', LisaaTaso); 
    6480        kentta.SetTileMethod('*', LisaaTahti); 
    6581        kentta.SetTileMethod('N', LisaaPelaaja); 
    6682        kentta.SetTileMethod('m', LisaaMiina); 
     83        kentta.SetTileMethod('O', LisaaOvi); 
    6784        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    6885        Level.CreateBorders(); 
    6986        Level.Background.CreateGradient(Color.White, Color.SkyBlue); 
     87    } 
     88 
     89    void LisaaOvi(Vector paikka, double leveys, double korkeus) 
     90    { 
     91        // joko: 
     92        //PhysicsObject ovi = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     93         
     94        // tai: 
     95        PhysicsObject ovi = new PhysicsObject(leveys, korkeus); 
     96        ovi.MakeStatic(); 
     97 
     98 
     99        ovi.Position = paikka; 
     100        ovi.Tag = "ovi"; 
     101        Add(ovi); 
    70102    } 
    71103 
     
    107139        //AddCollisionHandler(pelaaja1, "miina", CollisionHandler.ExplodeTarget(300.0, true)); 
    108140        AddCollisionHandler(pelaaja1, "miina", RajaytaMiina); 
     141        AddCollisionHandler(pelaaja1, "ovi", MeneSeuraavaanKenttaan); 
    109142        Add(pelaaja1); 
     143    } 
     144 
     145    void MeneSeuraavaanKenttaan(PhysicsObject pelaaja, PhysicsObject ovi) 
     146    { 
     147        // joko: 
     148        //kenttanumero += 1; 
     149        // tai: 
     150        kenttanumero++; 
     151        AloitaPeli(); 
    110152    } 
    111153 
     
    133175        // "Käynnistetään" räjähdys 
    134176        rajahdys.AddEffect(x, y, pMaara); 
     177 
     178        miina.Destroy(); 
    135179    } 
    136180    void LisaaNappaimet() 
     
    138182        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    139183        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     184 
     185        Keyboard.Listen(Key.R, ButtonState.Pressed, AloitaPeli, "Aloita peli alusta"); 
     186        Keyboard.Listen(Key.F6, ButtonState.Pressed, delegate { MeneSeuraavaanKenttaan(null, null); }, "Seuraava kentta"); 
    140187 
    141188        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 
  • 2016/30/luennot/Tasoloikkailu/Tasoloikkailu/Tasoloikkailu/Tasoloikkailu.csproj.Debug.cachefile

    r8147 r8178  
    66Content\rajahdys.xnb 
    77Content\ohjeet.xnb 
     8Content\kentta2.xnb 
  • 2016/30/luennot/Tasoloikkailu/Tasoloikkailu/Tasoloikkailu/obj/x86/Debug/ContentPipeline-{FB1067CC-FEED-45F1-8CB8-8F3DD59AB260}.xml

    r8147 r8178  
    3636      <Options>None</Options> 
    3737      <Output>C:\MyTemp\JouniP_luennot\Tasoloikkailu\Tasoloikkailu\Tasoloikkailu\bin\x86\Debug\Content\kentta1.xnb</Output> 
    38       <Time>2016-07-27T12:30:11.3430496+03:00</Time> 
     38      <Time>2016-07-28T09:20:29.1580476+03:00</Time> 
    3939    </Item> 
    4040    <Item> 
     
    6464      <Output>C:\MyTemp\JouniP_luennot\Tasoloikkailu\Tasoloikkailu\Tasoloikkailu\bin\x86\Debug\Content\ohjeet.xnb</Output> 
    6565      <Time>2016-07-27T12:52:51.3456291+03:00</Time> 
     66    </Item> 
     67    <Item> 
     68      <Source>kentta2.txt</Source> 
     69      <Name>kentta2</Name> 
     70      <Importer>TextFileImporter</Importer> 
     71      <Processor>TextFileContentProcessor</Processor> 
     72      <Options>None</Options> 
     73      <Output>C:\MyTemp\JouniP_luennot\Tasoloikkailu\Tasoloikkailu\Tasoloikkailu\bin\x86\Debug\Content\kentta2.xnb</Output> 
     74      <Time>2016-07-28T09:27:18.4513502+03:00</Time> 
    6675    </Item> 
    6776    <BuildSuccessful>true</BuildSuccessful> 
  • 2016/30/luennot/Tasoloikkailu/Tasoloikkailu/Tasoloikkailu/obj/x86/Debug/Tasoloikkailu.csproj.FileListAbsolute.txt

    r8147 r8178  
    1414C:\MyTemp\JouniP_luennot\Tasoloikkailu\Tasoloikkailu\Tasoloikkailu\bin\x86\Debug\Content\rajahdys.xnb 
    1515C:\MyTemp\JouniP_luennot\Tasoloikkailu\Tasoloikkailu\Tasoloikkailu\bin\x86\Debug\Content\ohjeet.xnb 
     16C:\MyTemp\JouniP_luennot\Tasoloikkailu\Tasoloikkailu\Tasoloikkailu\bin\x86\Debug\Content\kentta2.xnb 
  • 2016/30/luennot/Tasoloikkailu/Tasoloikkailu/Tasoloikkailu/obj/x86/Debug/cachefile-{FB1067CC-FEED-45F1-8CB8-8F3DD59AB260}-targetpath.txt

    r8147 r8178  
    66Content\rajahdys.xnb 
    77Content\ohjeet.xnb 
     8Content\kentta2.xnb 
  • 2016/30/luennot/Tasoloikkailu/Tasoloikkailu/TasoloikkailuContent/TasoloikkailuContent.contentproj

    r8147 r8178  
    8888    </Compile> 
    8989  </ItemGroup> 
     90  <ItemGroup> 
     91    <Compile Include="kentta2.txt"> 
     92      <Name>kentta2</Name> 
     93      <Importer>TextFileImporter</Importer> 
     94      <Processor>TextFileContentProcessor</Processor> 
     95    </Compile> 
     96  </ItemGroup> 
    9097  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    9198  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
  • 2016/30/luennot/Tasoloikkailu/Tasoloikkailu/TasoloikkailuContent/kentta1.txt

    r8146 r8178  
    66............................................................. 
    77............................................................. 
    8 .....*...N....m....*.............................................. 
    9 .....##..########.............................................. 
    10 ............................................................. 
     8.....*...N....m....*......................................... 
     9.....##..########............................................ 
     10........................O.................................... 
    1111...*....*..*....*.....######................................. 
    1212...##..##..##..##.....####................................... 
Note: See TracChangeset for help on using the changeset viewer.