Changeset 1830


Ignore:
Timestamp:
2011-06-09 17:15:23 (12 years ago)
Author:
joaamaka
Message:

musiikki, ääniä ja kenttä

Location:
2011/23/mikmatla/Tasohyppelypeli1/Tasohyppelypeli1
Files:
5 added
1 deleted
5 edited

Legend:

Unmodified
Added
Removed
  • 2011/23/mikmatla/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/Peli.cs

    r1748 r1830  
    1010{ 
    1111    const double nopeus = 200; 
    12     const double hyppyNopeus = 10000; 
     12    const double hyppyNopeus = 900; 
    1313    const int RUUDUN_KOKO = 40; 
     14 
     15    IntMeter pisteLaskuri; 
    1416 
    1517    List<Label> ValikonKohdat; 
     
    2022    Image tahtiKuva = LoadImage("Kolikko"); 
    2123 
    22     SoundEffect maaliAani = LoadSoundEffect("maali"); 
     24    SoundEffect maaliAani = LoadSoundEffect("Coin Sound Effect"); 
    2325 
    2426    public override void Begin() 
    2527    { 
    2628        Valikko(); 
     29        MediaPlayer.Play("Musiikki"); 
     30        MediaPlayer.IsRepeating = true; 
     31    } 
     32 
     33    void LuoLaskuri() 
     34    { 
     35        pisteLaskuri = new IntMeter(0); 
     36 
     37        Label pisteNaytto = new Label(); 
     38        pisteNaytto.X = Screen.Left + 100; 
     39        pisteNaytto.Y = Screen.Top - 100; 
     40        pisteNaytto.TextColor = Color.Turquoise; 
     41 
     42        pisteNaytto.BindTo(pisteLaskuri); 
     43        Add(pisteNaytto); 
     44 
     45        Label pisteTeksti = new Label("Pojot: "); 
     46        pisteTeksti.X = Screen.Left + 50; 
     47        pisteTeksti.Y = Screen.Top - 100; 
     48        pisteTeksti.TextColor = Color.SkyBlue; 
     49        Add(pisteTeksti); 
     50    } 
     51 
     52    void laskuriYlarajassa(int arvo) 
     53    { 
     54        Label Jee = new Label("Et vaan osaa..."); 
     55        Jee.Position = new Vector(10, 0); 
     56        Jee.TextColor = RandomGen.NextColor(); 
     57        Add(Jee); 
     58        Timer.SingleShot(1.5, Jee.Destroy); 
     59        Timer.SingleShot(2.0, Aloota); 
    2760    } 
    2861 
     
    3063    { 
    3164        ClearAll(); 
     65        ValikonKohdat = new List<Label>(); 
     66        Level.Background.CreateGradient(Color.DarkGreen, Color.Black); 
     67 
     68        Label kohta1 = new Label("Testi Kenttä"); 
     69        kohta1.Position = new Vector(0, 50); 
     70        kohta1.TextColor = Color.Wheat; 
     71        ValikonKohdat.Add(kohta1); 
     72 
     73        Label kohta2 = new Label("Kenttä 1 (Kesken)"); 
     74        kohta2.Position = new Vector(0, 00); 
     75        kohta2.TextColor = Color.Wheat; 
     76        ValikonKohdat.Add(kohta2); 
     77 
     78        Label kohta3 = new Label("Takaisin Valikkoon"); 
     79        kohta3.Position = new Vector(0, -150); 
     80        kohta3.TextColor = Color.Wheat; 
     81        ValikonKohdat.Add(kohta3); 
     82 
     83 
     84        foreach (Label Valikonkohta in ValikonKohdat) 
     85            Add(Valikonkohta); 
     86 
     87        Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AlootaK1, null); 
     88        Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, AlootaK2, null); 
     89        Mouse.ListenOn(kohta3, MouseButton.Left, ButtonState.Pressed, Valikko, null); 
     90 
     91        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Valikko, null); 
     92        Keyboard.Listen(Key.Enter, ButtonState.Pressed, AlootaK1, null); 
     93 
     94        Mouse.IsCursorVisible = true; 
     95        Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null); 
     96    } 
     97 
     98    void AlootaK1() 
     99    { 
     100        ClearAll(); 
    32101 
    33102        Gravity = new Vector(0, -1000); 
    34  
     103        nappejaVastaavatOvet = new Dictionary<char, List<PhysicsObject>>(); 
    35104        luoKentta(); 
    36105        lisaaNappaimet(); 
     106        LuoLaskuri(); 
     107 
     108        pisteLaskuri.MaxValue = 2265; 
     109        pisteLaskuri.UpperLimit += laskuriYlarajassa; 
    37110 
    38111        Camera.Follow(pelaaja1); 
     
    41114    } 
    42115 
     116    void AlootaK2() 
     117    { 
     118        ClearAll(); 
     119 
     120        Gravity = new Vector(0, -1000); 
     121        nappejaVastaavatOvet = new Dictionary<char, List<PhysicsObject>>(); 
     122        luoKentta2(); 
     123        lisaaNappaimet(); 
     124        LuoLaskuri(); 
     125 
     126        pisteLaskuri.MaxValue = 2265; 
     127        pisteLaskuri.UpperLimit += laskuriYlarajassa; 
     128 
     129        Camera.Follow(pelaaja1); 
     130        Camera.ZoomFactor = 1.2; 
     131        Camera.StayInLevel = true; 
     132    } 
     133 
    43134    void Lopeta() 
    44135    { 
     
    46137    } 
    47138 
     139    void Credits() 
     140    { 
     141        ClearAll(); 
     142        ValikonKohdat = new List<Label>(); 
     143        Level.Background.CreateGradient(Color.DarkGreen, Color.Black); 
     144 
     145        Label kohta4 = new Label("Pelin ohjelmoi: Hra. Ankka"); 
     146        kohta4.Position = new Vector(0, 300); 
     147        kohta4.TextColor = Color.Turquoise; 
     148        ValikonKohdat.Add(kohta4); 
     149 
     150        Label kohta5 = new Label("Pelaajan tekstuurit: Hra. Ankka"); 
     151        kohta5.Position = new Vector(0, 250); 
     152        kohta5.TextColor = Color.Turquoise; 
     153        ValikonKohdat.Add(kohta5); 
     154 
     155        Label kohta6 = new Label("Musiikki: Ropocalypse 2"); 
     156        kohta6.Position = new Vector(0, 200); 
     157        kohta6.TextColor = Color.Turquoise; 
     158        ValikonKohdat.Add(kohta6); 
     159 
     160        Label kohta7 = new Label("Kaikki muu ihmeellinen: Jyväskylän Yliopisto"); 
     161        kohta7.Position = new Vector(0, 150); 
     162        kohta7.TextColor = Color.Turquoise; 
     163        ValikonKohdat.Add(kohta7); 
     164 
     165        Label kohta8 = new Label("Paitsi kolikko ääni joka kuuluu Mariolle"); 
     166        kohta8.Position = new Vector(0, 100); 
     167        kohta8.TextColor = Color.Turquoise; 
     168        ValikonKohdat.Add(kohta8); 
     169 
     170        Label kohta1 = new Label("Takaisin Valikkoon"); 
     171        kohta1.Position = new Vector(0, -100); 
     172        kohta1.TextColor = Color.Wheat; 
     173        ValikonKohdat.Add(kohta1); 
     174 
     175        foreach (Label Valikonkohta in ValikonKohdat) 
     176            Add(Valikonkohta); 
     177 
     178        Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, Valikko, null); 
     179 
     180        Mouse.IsCursorVisible = true; 
     181        Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null); 
     182 
     183        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Valikko, null); 
     184        Keyboard.Listen(Key.Enter, ButtonState.Pressed, Valikko, null); 
     185    } 
     186 
    48187    void Valikko() 
    49188    { 
    50189        ClearAll(); 
    51         Level.BackgroundColor = Color.DarkGreen; 
     190        Level.Background.CreateGradient (Color.DarkGreen, Color.Black); 
    52191        ValikonKohdat = new List<Label>(); 
    53192 
     
    58197 
    59198        Label kohta2 = new Label("Lopeta"); 
    60         kohta2.Position = new Vector(0, -30); 
     199        kohta2.Position = new Vector(0, -50); 
    61200        kohta2.TextColor = Color.Wheat; 
    62201        ValikonKohdat.Add(kohta2); 
    63202 
     203        Label kohta3 = new Label("Credits"); 
     204        kohta3.Position = new Vector(0, 0); 
     205        kohta3.TextColor = Color.Wheat; 
     206        ValikonKohdat.Add(kohta3); 
     207 
    64208        foreach (Label Valikonkohta in ValikonKohdat) 
    65209            Add(Valikonkohta); 
     
    67211        Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, Aloota, null); 
    68212        Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, Lopeta, null); 
     213        Mouse.ListenOn(kohta3, MouseButton.Left, ButtonState.Pressed, Credits, null); 
    69214 
    70215        Mouse.IsCursorVisible = true; 
    71216        Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null); 
    72         Keyboard.Listen(Key.Escape, ButtonState.Pressed, Lopeta, ""); 
     217        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Lopeta, null); 
     218        Keyboard.Listen(Key.Enter, ButtonState.Pressed, Aloota, null); 
    73219    } 
    74220 
     
    79225            if (Mouse.IsCursorOn(kohta)) 
    80226            { 
    81                 kohta.TextColor = Color.YellowGreen; 
     227                if (kohta.TextColor == Color.Wheat) 
     228                    kohta.TextColor = Color.YellowGreen; 
    82229            } 
    83             else 
     230 
     231            else if (kohta.TextColor == Color.YellowGreen) 
    84232            { 
    85233                kohta.TextColor = Color.Wheat; 
     
    90238    void luoKentta() 
    91239    { 
     240        AlustaNappilista(); 
    92241        TileMap kentta = TileMap.FromFile("kentta1.txt"); 
    93242        kentta['#'] = lisaaTaso; 
    94243        kentta['*'] = lisaaTahti; 
    95244        kentta['N'] = lisaaPelaaja; 
     245        kentta['^'] = lisaaIlkea; 
    96246        kentta.Insert(RUUDUN_KOKO, RUUDUN_KOKO); 
    97247        Level.CreateBorders(); 
    98         Level.Background.CreateGradient(Color.White, Color.SkyBlue); 
     248        Level.Background.CreateGradient (Color.White, Color.DarkGreen); 
     249    } 
     250 
     251    void luoKentta2() 
     252    { 
     253        AlustaNappilista(); 
     254 
     255        TileMap kentta2 = TileMap.FromFile("kenttä2.txt"); 
     256        kentta2['#'] = lisaaTaso; 
     257        kentta2['*'] = lisaaTahti; 
     258        kentta2['N'] = lisaaPelaaja; 
     259        kentta2['i'] = lisaaNappi_i; 
     260        kentta2['I'] = lisaaOviI; 
     261        kentta2['k'] = lisaaNappi_k; 
     262        kentta2['K'] = lisaaOviK; 
     263        kentta2['l'] = lisaaNappi_l; 
     264        kentta2['L'] = lisaaOviL; 
     265        kentta2['q'] = lisaaNappi_q; 
     266        kentta2['Q'] = lisaaOviQ; 
     267        kentta2.Insert(RUUDUN_KOKO, RUUDUN_KOKO); 
     268        Level.CreateBorders(); 
     269        Level.Background.CreateGradient(Color.White, Color.DarkGreen); 
     270    } 
     271 
     272    private void AlustaNappilista() 
     273    { 
     274        for (char c = 'a'; c < 'z'; c++) 
     275        { 
     276            nappejaVastaavatOvet.Add(c, new List<PhysicsObject>()); 
     277        } 
    99278    } 
    100279 
     
    103282        PhysicsObject taso = PhysicsObject.CreateStaticObject(RUUDUN_KOKO, RUUDUN_KOKO + 20); 
    104283        taso.Shape = Shape.Rectangle; 
    105         taso.Angle = RandomGen.NextAngle(); 
    106284        taso.Color = RandomGen.NextColor(); 
    107285        return taso; 
     
    119297    } 
    120298 
     299    PhysicsObject lisaaIlkea() 
     300    { 
     301        PhysicsObject ilkea = new PhysicsObject(20, 20); 
     302        ilkea.Mass = 4.0; 
     303        ilkea.Angle = RandomGen.NextAngle(); 
     304        ilkea.Shape = Shape.Circle; 
     305        ilkea.Image = tahtiKuva; 
     306        ilkea.Tag = "Ilkeä"; 
     307        return ilkea; 
     308    } 
     309 
     310    PhysicsObject lisaaNappi_k() 
     311    { 
     312        return lisaaNappi('k', Color.Brown, RUUDUN_KOKO, RUUDUN_KOKO); 
     313    } 
     314    PhysicsObject lisaaNappi_l() 
     315    { 
     316        return lisaaNappi('l', Color.Brown, RUUDUN_KOKO, RUUDUN_KOKO); 
     317    } 
     318    PhysicsObject lisaaNappi_i() 
     319    { 
     320        return lisaaNappi('i', Color.Brown, RUUDUN_KOKO, RUUDUN_KOKO); 
     321    } 
     322    PhysicsObject lisaaNappi_q() 
     323    { 
     324        return lisaaNappi('q', RandomGen.NextColor(), RUUDUN_KOKO, RUUDUN_KOKO + 20); 
     325    } 
     326     
     327    PhysicsObject lisaaNappi(char merkki, Color c, double x, double y) 
     328    { 
     329        PhysicsObject nappi = PhysicsObject.CreateStaticObject(x, y); 
     330        nappi.Color = c; 
     331        nappi.Tag = merkki; 
     332        return nappi; 
     333    } 
     334 
     335    Dictionary<char, List<PhysicsObject>> nappejaVastaavatOvet = new Dictionary<char, List<PhysicsObject>>(); 
     336 
     337    PhysicsObject lisaaOviK() 
     338    { 
     339        return lisaaOvi('K', Color.Brown, RUUDUN_KOKO, RUUDUN_KOKO / 2 + 5); 
     340    } 
     341    PhysicsObject lisaaOviL() 
     342    { 
     343        return lisaaOvi('L', Color.Brown, RUUDUN_KOKO, RUUDUN_KOKO / 2 + 5); 
     344    } 
     345    PhysicsObject lisaaOviI() 
     346    { 
     347        return lisaaOvi('I', Color.Brown, RUUDUN_KOKO, RUUDUN_KOKO / 2 + 5); 
     348    } 
     349    PhysicsObject lisaaOviQ() 
     350    { 
     351        return lisaaOvi('Q', RandomGen.NextColor(), RUUDUN_KOKO, RUUDUN_KOKO + 20); 
     352    } 
     353 
     354    PhysicsObject lisaaOvi(char merkki, Color c, double x, double y) 
     355    { 
     356        PhysicsObject ovi = PhysicsObject.CreateStaticObject(x, y); 
     357        ovi.Color = c; 
     358        ovi.Tag = "Ovi"; 
     359        char napinMerkki = char.ToLower(merkki); 
     360        if (nappejaVastaavatOvet[napinMerkki] == null) 
     361        { 
     362            nappejaVastaavatOvet[napinMerkki] = new List<PhysicsObject>(); 
     363        } 
     364        nappejaVastaavatOvet[napinMerkki].Add(ovi); 
     365        return ovi; 
     366    } 
     367 
    121368    PlatformCharacter lisaaPelaaja() 
    122369    { 
    123         pelaaja1 = new PlatformCharacter(35, 50); 
     370        pelaaja1 = new PlatformCharacter(30, 45); 
    124371        pelaaja1.Mass = 4.0; 
    125         pelaaja1.Shape = Shape.Triangle; 
     372        pelaaja1.Shape = Shape.FromImage(pelaajanKuva); 
    126373        pelaaja1.Image = pelaajanKuva; 
    127374        AddCollisionHandler(pelaaja1, osuTahteen); 
     
    160407        { 
    161408            maaliAani.Play(); 
     409            pisteLaskuri.Value += 5; 
    162410            kohde.Destroy(); 
    163411        } 
     412 
     413        else if (kohde.Tag.ToString() == "Ilkeä") 
     414        { 
     415            pelaaja1.Destroy(); 
     416        } 
     417 
     418        else if (kohde.Tag.ToString().Length == 1 && char.IsLower(kohde.Tag.ToString()[0])) 
     419        { 
     420            char napinMerkki = kohde.Tag.ToString()[0]; 
     421            List<PhysicsObject> ovet = nappejaVastaavatOvet[napinMerkki]; 
     422            foreach (var ovi in ovet) 
     423            { 
     424                TuhoaOvi(ovi); 
     425                Timer.SingleShot(2, delegate() { PalautaOvet(ovet); }); 
     426            } 
     427        } 
     428    } 
     429    void TuhoaOvi(PhysicsObject ovi) 
     430    { 
     431        ovi.IsVisible = false; 
     432        ovi.IgnoresCollisionResponse = true; 
     433    } 
     434    void PalautaOvet(List<PhysicsObject> ovet) 
     435    { 
     436        foreach (PhysicsObject ovi in ovet) 
     437        { 
     438            ovi.IsVisible = true; 
     439            ovi.IgnoresCollisionResponse = false; 
     440        } 
    164441    } 
    165442} 
  • 2011/23/mikmatla/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1.csproj

    r1748 r1830  
    121121      <CopyToOutputDirectory>Always</CopyToOutputDirectory> 
    122122    </Content> 
     123    <Content Include="kenttä2.txt"> 
     124      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> 
     125    </Content> 
    123126  </ItemGroup> 
    124127  <ItemGroup> 
  • 2011/23/mikmatla/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/kentta1.txt

    r1748 r1830  
    99********************** 
    1010********************** 
     11********************** 
     12********************** 
     13********************** 
     14********************** 
     15********************** 
     16********************** 
     17********************** 
     18********************** 
     19********************** 
     20********************** 
     21 
     22 
     23 
     24 
     25 
     26 
     27 
     28 
     29 
     30 
     31 
     32 
     33 
     34 
     35 
     36 
     37 
     38 
     39 
     40 
     41 
     42 
     43 
     44 
     45 
     46 
     47 
     48 
     49 
     50 
    1151 
    1252 
     
    2868 
    2969 
    30          * 
    31          ## 
    32  
    33        *    * 
    34        ##  ## 
    35  
    36      *        * 
    37      ##  ##  ## 
    38  
    39    *    *  *    *      
    40    ##  ##  ##  ## 
    41  
    42  *    *       *   * 
    43  ##  ##  ##  ##  ## 
     70          * 
     71          ## 
     72  
     73        *    * 
     74        ##  ## 
     75  
     76      *        * 
     77      ##  ##  ## 
     78  
     79    *    *  *    *      
     80    ##  ##  ##  ## 
     81          ^^ 
     82  *    *       *   * 
     83  ##  ##  ##  ##  ## 
    4484 
    4585        N 
  • 2011/23/mikmatla/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1Content/Tasohyppelypeli1Content.contentproj

    r1748 r1830  
    4343  </ItemGroup> 
    4444  <ItemGroup> 
    45     <Compile Include="maali.wav"> 
    46       <Name>maali</Name> 
    47       <Importer>WavImporter</Importer> 
    48       <Processor>SoundEffectProcessor</Processor> 
    49     </Compile> 
    5045    <Compile Include="norsu.png"> 
    5146      <Name>norsu</Name> 
     
    7368    </Compile> 
    7469  </ItemGroup> 
     70  <ItemGroup> 
     71    <Compile Include="sped_up_yall_want_a_single-4lHPA2NUVb4_fmt18.mp3"> 
     72      <Name>sped_up_yall_want_a_single-4lHPA2NUVb4_fmt18</Name> 
     73      <Importer>Mp3Importer</Importer> 
     74      <Processor>SongProcessor</Processor> 
     75    </Compile> 
     76  </ItemGroup> 
     77  <ItemGroup> 
     78    <Compile Include="Coin Sound Effect.mp3"> 
     79      <Name>Coin Sound Effect</Name> 
     80      <Importer>Mp3Importer</Importer> 
     81      <Processor>SoundEffectProcessor</Processor> 
     82      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> 
     83    </Compile> 
     84  </ItemGroup> 
     85  <ItemGroup> 
     86    <Compile Include="Nappi.png"> 
     87      <Name>Nappi</Name> 
     88      <Importer>TextureImporter</Importer> 
     89      <Processor>TextureProcessor</Processor> 
     90    </Compile> 
     91  </ItemGroup> 
     92  <ItemGroup> 
     93    <Compile Include="Musiikki.mp3"> 
     94      <Name>Musiikki</Name> 
     95      <Importer>Mp3Importer</Importer> 
     96      <Processor>SongProcessor</Processor> 
     97    </Compile> 
     98  </ItemGroup> 
    7599  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    76100  <!--  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.