Changeset 4272 for 2013/26


Ignore:
Timestamp:
2013-06-27 14:55:09 (6 years ago)
Author:
wiaukota
Message:

Talletus.

Location:
2013/26/WilleK/Ensimmäinen Peli/Ensimmäinen Peli
Files:
9 added
5 edited

Legend:

Unmodified
Added
Removed
  • 2013/26/WilleK/Ensimmäinen Peli/Ensimmäinen Peli/Ensimmäinen Peli/Ensimmäinen_Peli.cs

    r4237 r4272  
    1111    IntMeter nopeus; 
    1212    IntMeter hyppyNopeus; 
     13    IntMeter tähtilaskuri; 
     14    IntMeter avainlaskuri; 
    1315    const int RUUDUN_KOKO = 40; 
    1416 
     
    2527    Image tyyppiLyoKuva = LoadImage("TyyppiLyo"); 
    2628    Image nyrkkikuva = LoadImage("Nyrkki"); 
     29    Image maali1 = LoadImage("Maali2"); 
     30    Image piikki2 = LoadImage("piikit"); 
     31    Image avain2 = LoadImage("avain"); 
     32    Image LukkoKuva = LoadImage("lukko"); 
     33    Image SeinaKuva = LoadImage("seina"); 
    2734 
    2835    SoundEffect maaliAani = LoadSoundEffect("maali"); 
    2936    DoubleMeter elamaLaskuri; 
    3037 
     38    int kenttaNro = 1; 
     39 
    3140    public override void Begin() 
    3241    { 
    33         AloitaPeli(); 
    34     } 
    35  
    36     public void AloitaPeli() 
     42        SeuraavaKentta(); 
     43    } 
     44 
     45    void SeuraavaKentta() 
    3746    { 
    3847        nopeus = new IntMeter(200); 
    3948        hyppyNopeus = new IntMeter(700); 
     49        tähtilaskuri = new IntMeter(0); 
     50        avainlaskuri = new IntMeter(0); 
    4051 
    4152        ClearAll(); 
     
    4354        LuoElamaLaskuri(); 
    4455 
    45         LuoKentta(); 
     56        if (kenttaNro == 1) LuoKentta("kentta1"); 
     57        else if (kenttaNro == 2) LuoKentta("kentta2"); 
     58        else if (kenttaNro == 3) LuoKentta("Kentta3"); 
     59        else if (kenttaNro == 4) 
     60        { 
     61            LuoKentta("kentta4"); 
     62            Level.Background.CreateGradient(Color.Black, Color.LightGray); 
     63        } 
     64        else Exit(); 
     65 
    4666        LisaaNappaimet(); 
    4767        Camera.Follow(pelaaja1); 
     
    5070        MediaPlayer.Play("GroundTheme"); 
    5171        MediaPlayer.IsRepeating = true; 
    52         MediaPlayer.Volume = 0.2; 
    53     } 
    54  
    55     void LuoKentta() 
    56     { 
    57         ColorTileMap kentta = ColorTileMap.FromLevelAsset("kentta1"); 
     72        MediaPlayer.Volume = 0.7; 
     73    } 
     74 
     75    void LuoKentta(string kentanNimi) 
     76    { 
     77        ColorTileMap kentta = ColorTileMap.FromLevelAsset(kentanNimi); 
    5878        kentta.SetTileMethod(Color.Black, LisaaTaso); 
     79        kentta.SetTileMethod("C0C0C0", LisaaMetalli); 
    5980        kentta.SetTileMethod("FFD800", LisaaTahti); 
    6081        kentta.SetTileMethod("4CFF00", LisaaPelaaja); 
     
    6384        kentta.SetTileMethod("B6FF00", LisaaRuoho); 
    6485        kentta.SetTileMethod("404040", Palikka3); 
     86        kentta.SetTileMethod("FF006E", Maali); 
     87        kentta.SetTileMethod("808080", Piikki); 
     88        kentta.SetTileMethod("0094FF", LisaaAvain); 
     89        kentta.SetTileMethod("4800FF", LisaaLukko); 
     90        kentta.SetTileMethod("FF00DC", LisaaSeina); 
     91        kentta.SetTileMethod("FF7FED", LisaaVaakaSeina); 
     92 
    6593        //kentta.SetTileMethod("") 
    6694        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    6795        Level.Background.CreateGradient(Color.White, Color.SkyBlue); 
     96 
     97        Label pisteNaytto = new Label(); 
     98        pisteNaytto.X = Screen.Right - 100; 
     99        pisteNaytto.Y = Screen.Top - 100; 
     100        pisteNaytto.TextColor = Color.Black; 
     101        pisteNaytto.Color = Color.Transparent; 
     102 
     103        pisteNaytto.BindTo(tähtilaskuri); 
     104        Add(pisteNaytto); 
     105    } 
     106 
     107    void LisaaSeina(Vector paikka, double leveys, double korkeus) 
     108    { 
     109        PhysicsObject seina = PhysicsObject.CreateStaticObject(leveys, korkeus * 2); 
     110        seina.Position = paikka; 
     111        seina.Y -= korkeus/2; 
     112        seina.Image = SeinaKuva; 
     113        seina.Tag = "Seina"; 
     114        Add(seina); 
     115    } 
     116 
     117    void LisaaVaakaSeina(Vector paikka, double leveys, double korkeus) 
     118    { 
     119        PhysicsObject seina = PhysicsObject.CreateStaticObject(leveys, korkeus * 2); 
     120        seina.Angle = Angle.FromDegrees(90); 
     121        seina.Position = paikka; 
     122        seina.X += leveys / 2; 
     123        seina.Image = SeinaKuva; 
     124        seina.Tag = "Seina"; 
     125        Add(seina); 
     126    } 
     127 
     128    void LisaaLukko(Vector paikka, double leveys, double korkeus) 
     129    { 
     130        PhysicsObject lukko = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     131        lukko.Position = paikka; 
     132        lukko.Image = LukkoKuva; 
     133        lukko.Tag = "Lukko"; 
     134        Add(lukko); 
     135    } 
     136 
     137    void LisaaAvain(Vector paikka, double leveys, double korkeus) 
     138    { 
     139        PhysicsObject avain = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     140        avain.IgnoresCollisionResponse = true; 
     141        avain.Position = paikka; 
     142        avain.Image = avain2; 
     143        avain.Tag = "Avain"; 
     144        Add(avain); 
     145    } 
     146 
     147    void Piikki(Vector paikka, double leveys, double korkeus) 
     148    { 
     149        PhysicsObject piikki1 = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     150        piikki1.Position = paikka; 
     151        piikki1.Image = piikki2; 
     152        piikki1.Tag = "Piikki"; 
     153        Add(piikki1); 
    68154    } 
    69155 
     
    100186    void ElamaLoppui() 
    101187    { 
    102         MessageDisplay.Add("Elämät loppuivat, voi voi."); 
     188        MessageDisplay.Add("Elämät loppuivat."); 
    103189        pelaaja1.Position = alkupiste; 
    104190        elamaLaskuri.Value = elamaLaskuri.MaxValue; 
     
    120206        taso.Position = paikka; 
    121207        taso.Color = Color.Brown; 
     208        Add(taso); 
     209    } 
     210 
     211    void LisaaMetalli(Vector paikka, double leveys, double korkeus) 
     212    { 
     213        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     214        taso.Position = paikka; 
     215        taso.Color = Color.Gray; 
    122216        Add(taso); 
    123217    } 
     
    153247        AddCollisionHandler(pelaaja1, "palikka", TormaaPalikkaan); 
    154248        AddCollisionHandler(pelaaja1, "pahis", CollisionHandler.AddMeterValue(elamaLaskuri, -1)); 
     249        AddCollisionHandler(pelaaja1, "maali", TormasiMaaliin); 
     250        AddCollisionHandler(pelaaja1, "Piikki", TormasiPiikkiin); 
     251        AddCollisionHandler(pelaaja1, "Avain", TormasiAvaimeen); 
     252        AddCollisionHandler(pelaaja1, "Seina", TormasiSeinaan); 
    155253        Add(pelaaja1); 
    156254    } 
     255 
     256    void TormasiSeinaan(PhysicsObject hahmo, PhysicsObject seina) 
     257    { 
     258        if (avainlaskuri.Value > 0) 
     259        { 
     260            seina.Destroy(); 
     261            avainlaskuri.Value--; 
     262        } 
     263    } 
     264 
     265    void TormasiAvaimeen(PhysicsObject hahmo, PhysicsObject avain) 
     266    { 
     267        maaliAani.Play(); 
     268        avain.Destroy(); 
     269        avainlaskuri.Value++; 
     270    } 
     271 
     272    void TormasiPiikkiin(PhysicsObject pelaaja, PhysicsObject maali) 
     273    { 
     274        ElamaLoppui(); 
     275    } 
     276 
     277    void TormasiMaaliin(PhysicsObject pelaaja, PhysicsObject maali) 
     278    { 
     279        //Kasvatetaan kenttänumeroa yhdellä ja siirrytään seuraavaan kenttään: 
     280        kenttaNro++; 
     281        SeuraavaKentta(); 
     282    } 
     283 
     284    void Maali(Vector paikka, double leveys, double korkeus) 
     285    { 
     286        PhysicsObject maali = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     287        maali.Image = maali1; 
     288        maali.Position = paikka; 
     289        maali.Tag = "maali"; 
     290        Add(maali); 
     291    } 
     292 
    157293 
    158294    void LisaaNappaimet() 
     
    160296        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    161297        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    162         Keyboard.Listen(Key.R, ButtonState.Pressed, AloitaPeli, "Pelaa Uudestaan"); 
     298        Keyboard.Listen(Key.R, ButtonState.Pressed, SeuraavaKentta, "Pelaa Uudestaan"); 
    163299 
    164300        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus, -1); 
     
    213349        maaliAani.Play(); 
    214350        tahti.Destroy(); 
     351        tähtilaskuri.Value++; 
    215352    } 
    216353 
     
    219356        maaliAani.Play(); 
    220357        palikka.Destroy(); 
    221         nopeus.Value += 200; 
    222         hyppyNopeus.Value += 100; 
    223         MessageDisplay.Add("Nopeus&HyppyNopeus suurempi 30s"); 
    224         Timer.SingleShot(30, PalautaNopeus); 
     358        hyppyNopeus.Value += 200; 
     359        MessageDisplay.Add("Super Hyppy"); 
     360        Timer.SingleShot(60, PalautaNopeus); 
    225361    } 
    226362 
    227363    void PalautaNopeus() 
    228364    { 
    229         nopeus.Value -= 200; 
    230365        hyppyNopeus.Value -= 100; 
    231366    } 
  • 2013/26/WilleK/Ensimmäinen Peli/Ensimmäinen Peli/Ensimmäinen PeliContent/Ensimmäinen PeliContent.contentproj

    r4237 r4272  
    7070  </ItemGroup> 
    7171  <ItemGroup> 
    72     <Compile Include="kentta1.png"> 
    73       <Name>kentta1</Name> 
     72    <Compile Include="kentta2.png"> 
     73      <Name>kentta2</Name> 
    7474      <Importer>TextureImporter</Importer> 
    7575      <Processor>TextureProcessor</Processor> 
     
    118118    </Compile> 
    119119  </ItemGroup> 
     120  <ItemGroup> 
     121    <Compile Include="Maali2.png"> 
     122      <Name>Maali2</Name> 
     123      <Importer>TextureImporter</Importer> 
     124      <Processor>TextureProcessor</Processor> 
     125    </Compile> 
     126  </ItemGroup> 
     127  <ItemGroup> 
     128    <Compile Include="kentta1.png"> 
     129      <Name>kentta1</Name> 
     130      <Importer>TextureImporter</Importer> 
     131      <Processor>TextureProcessor</Processor> 
     132    </Compile> 
     133  </ItemGroup> 
     134  <ItemGroup> 
     135    <Compile Include="Kentta3.png"> 
     136      <Name>Kentta3</Name> 
     137      <Importer>TextureImporter</Importer> 
     138      <Processor>TextureProcessor</Processor> 
     139    </Compile> 
     140  </ItemGroup> 
     141  <ItemGroup> 
     142    <Compile Include="piikit.png"> 
     143      <Name>piikit</Name> 
     144      <Importer>TextureImporter</Importer> 
     145      <Processor>TextureProcessor</Processor> 
     146    </Compile> 
     147  </ItemGroup> 
     148  <ItemGroup> 
     149    <Compile Include="kentta4.png"> 
     150      <Name>kentta4</Name> 
     151      <Importer>TextureImporter</Importer> 
     152      <Processor>TextureProcessor</Processor> 
     153    </Compile> 
     154  </ItemGroup> 
     155  <ItemGroup> 
     156    <Compile Include="avain.png"> 
     157      <Name>avain</Name> 
     158      <Importer>TextureImporter</Importer> 
     159      <Processor>TextureProcessor</Processor> 
     160    </Compile> 
     161  </ItemGroup> 
     162  <ItemGroup> 
     163    <Compile Include="lukko.png"> 
     164      <Name>lukko</Name> 
     165      <Importer>TextureImporter</Importer> 
     166      <Processor>TextureProcessor</Processor> 
     167    </Compile> 
     168  </ItemGroup> 
     169  <ItemGroup> 
     170    <Compile Include="seina.png"> 
     171      <Name>seina</Name> 
     172      <Importer>TextureImporter</Importer> 
     173      <Processor>TextureProcessor</Processor> 
     174    </Compile> 
     175  </ItemGroup> 
    120176  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    121177  <!--  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.