Changeset 2419 for 2011/26


Ignore:
Timestamp:
2011-07-01 12:30:21 (8 years ago)
Author:
lavirtan
Message:

Talletus.

Location:
2011/26/LasseV/ShapeRace/ShapeRace
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • 2011/26/LasseV/ShapeRace/ShapeRace/ShapeRace/Peli.cs

    r2379 r2419  
    1414    
    1515    PlatformCharacter pelaaja1; 
    16  
     16    Timer aikaLaskuri; 
    1717    Image tahtiKuva = LoadImage("tahti"); 
    1818    Image Ylapiikki = LoadImage("Ylapiikki"); 
     
    2222    { 
    2323        Gravity = new Vector(0, -1000); 
    24          
     24 
     25        MediaPlayer.Play("Kick Shock"); 
     26        MediaPlayer.IsRepeating = true; 
    2527 
    2628        luoKentta(); 
    2729        lisaaNappaimet(); 
    28          
    29         Camera.Follow(pelaaja1); 
     30        LuoLaskuri(); 
     31        LuoAikaLaskuri(); 
     32         
    3033        Camera.ZoomFactor = 1.2; 
    3134        Camera.StayInLevel = true; 
     
    3841        luoKentta(); 
    3942        lisaaNappaimet(); 
     43        LuoLaskuri(); 
     44        LuoAikaLaskuri(); 
    4045    } 
    4146     
     
    4954        kentta['^'] = lisaaAlaPiikki; 
    5055        kentta['M'] = lisaaMaali; 
     56        kentta['T'] = lisaaTausta; 
     57        kentta['N'] = lisaaNelio; 
    5158        kentta.Insert(RUUDUN_KOKO, RUUDUN_KOKO); 
    5259        Level.CreateBorders(); 
    5360        Level.BackgroundColor = Color.DarkGray; 
     61    } 
     62 
     63    IntMeter pisteLaskuri; 
     64 
     65    void LuoLaskuri() 
     66    { 
     67        pisteLaskuri = new IntMeter(0); 
     68 
     69        Label pisteNaytto = new Label(); 
     70        pisteNaytto.X = Screen.Left + 100; 
     71        pisteNaytto.Y = Screen.Top - 100; 
     72        pisteNaytto.TextColor = Color.Red; 
     73        pisteLaskuri.MaxValue = 10000; 
     74        pisteLaskuri.MinValue = 0; 
     75        pisteNaytto.BindTo(pisteLaskuri); 
     76        Add(pisteNaytto); 
     77 
     78        Label pisteTeksti = new Label("Pisteesi:   "); 
     79        pisteTeksti.X = Screen.Left + 50; 
     80        pisteTeksti.Y = Screen.Top - 100; 
     81        pisteTeksti.TextColor = Color.Red; 
     82        Add(pisteTeksti); 
     83    } 
     84 
     85    DoubleMeter alaspainLaskuri; 
     86 
     87    void LuoAikaLaskuri() 
     88    { 
     89        alaspainLaskuri = new DoubleMeter(40); 
     90 
     91        aikaLaskuri = new Timer(); 
     92        aikaLaskuri.Interval = 0.07; 
     93 
     94        aikaLaskuri.Trigger += LaskeAlaspain; 
     95        aikaLaskuri.Start(); 
     96        Label aikaNaytto = new Label (); 
     97        aikaNaytto.X = Screen.Left + 50; 
     98        aikaNaytto.Y = Screen.Top - 140; 
     99        aikaNaytto.TextColor = Color.Red; 
     100        aikaNaytto.DecimalPlaces = 0; 
     101        aikaNaytto.BindTo(alaspainLaskuri); 
     102        Add(aikaNaytto); 
     103    } 
     104 
     105    void LaskeAlaspain(Timer timer) 
     106    { 
     107        alaspainLaskuri.Value -= 0.07; 
     108 
     109        if (alaspainLaskuri.Value <= 0) 
     110        { 
     111            MessageDisplay.Add("Aika loppui. Hävisit pelin!"); 
     112            timer.Stop(); 
     113        } 
    54114    } 
    55115 
     
    70130    { 
    71131        PhysicsObject maali = PhysicsObject.CreateStaticObject(RUUDUN_KOKO, RUUDUN_KOKO, Shape.Rectangle, CollisionShapeQuality.Best); 
    72         maali.Color = Color.Red; 
     132        maali.Color = Color.Gray; 
    73133        maali.Tag = "maali"; 
    74134        return maali; 
     135    } 
     136 
     137 
     138 
     139  
     140 
     141    PhysicsObject lisaaNelio() 
     142    { 
     143        PhysicsObject nelio = PhysicsObject.CreateStaticObject(RUUDUN_KOKO, RUUDUN_KOKO, Shape.Rectangle, CollisionShapeQuality.Best); 
     144        nelio.Color = Color.Red; 
     145        Add(nelio, -1); 
     146        nelio.Height = 27; 
     147        nelio.Width = 27; 
     148        return nelio; 
    75149    } 
    76150 
     
    96170    } 
    97171 
     172    PhysicsObject lisaaTausta() 
     173    { 
     174        PhysicsObject tausta = PhysicsObject.CreateStaticObject(RUUDUN_KOKO, RUUDUN_KOKO, Shape.Rectangle, CollisionShapeQuality.Best); 
     175        tausta.Color = Color.SkyBlue; 
     176        Add(tausta, -1); 
     177        return tausta; 
     178    } 
     179 
    98180    PhysicsObject lisaaTahti() 
    99181    { 
     
    117199        AddCollisionHandler(pelaaja1, osuPiikkiin); 
    118200        AddCollisionHandler(pelaaja1, osuMaaliin); 
     201        AddCollisionHandler(pelaaja1, osuNelioon); 
    119202        return pelaaja1; 
    120203    } 
     
    131214        Keyboard.Listen(Key.Down, ButtonState.Pressed, vaihdapienemmaksi, "Muutu pieneksi", pelaaja1); 
    132215        Keyboard.Listen(Key.Up, ButtonState.Pressed, vaihdasuuremmaksi,"Muutu takaisin suureksi", pelaaja1); 
    133     } 
    134  
     216        Keyboard.Listen(Key.R, ButtonState.Pressed, yritauudelleen, "Aloita alusta", pelaaja1); 
     217    } 
     218 
     219    void yritauudelleen(PlatformCharacter pelaaja1) 
     220    { 
     221        AloitaAlusta(); 
     222    } 
     223     
    135224    void vaihdasuuremmaksi(PlatformCharacter pelaaja1) 
    136225    { 
     
    189278        if (kohde.Tag.ToString() == "tahti") 
    190279        { 
    191             MessageDisplay.Add("Keräsit tähden!"); 
     280            MessageDisplay.Add("jeejee"); 
    192281            kohde.Destroy(); 
    193282        } 
    194     } 
     283 
     284        if (kohde.Tag.ToString() == "tahti") 
     285        { 
     286            pisteLaskuri.Value = +1; 
     287        } 
     288    } 
     289 
     290 
    195291 
    196292    void osuPiikkiin(PhysicsObject hahmo, PhysicsObject kohde) 
     
    200296        if (kohde.Tag.ToString() == "piikki") 
    201297        { 
    202              
     298            aikaLaskuri.Stop(); 
    203299            AloitaAlusta(); 
    204300        } 
     
    206302        if (kohde.Tag.ToString() == "alapiikki") 
    207303        { 
    208  
     304            aikaLaskuri.Stop(); 
    209305            AloitaAlusta(); 
    210306        } 
     
    216312        if (kohde.Tag.ToString() == "maali") 
    217313        { 
     314            Window ikkuna = new Window(); 
     315            ikkuna.Title.Text = "JEE"; 
     316            Add(ikkuna); 
     317 
     318            Label tarina = new Label("Onneksi olkoon! Voitit pelin.Paina R yrittääksesi uudelleen."); 
     319            tarina.Width = 600; 
     320            tarina.SizeMode = TextSizeMode.Wrapped; 
     321            ikkuna.ClientArea.Add(tarina); 
     322            aikaLaskuri.Stop(); 
     323            Keyboard.Listen(Key.R, ButtonState.Pressed, yritauudelleen, "Aloita alusta", pelaaja1); 
     324        } 
     325    } 
     326 
     327    void osuNelioon(PhysicsObject nelio, PhysicsObject seppo) 
     328    { 
     329        if (seppo.Tag.ToString() == "nelio") 
     330        { 
    218331            AloitaAlusta(); 
    219         } 
    220      
     332            aikaLaskuri.Stop(); 
     333        } 
    221334    } 
    222335 
  • 2011/26/LasseV/ShapeRace/ShapeRace/ShapeRace/kentta1.txt

    r2379 r2419  
    11############### 
    22v* v   ##v## 
    3        vv*vv 
    4  vv* *   ^ 
     3       vv*v 
     4 vv* *   ^  # N 
    55   ^#########MM 
    6 #         #v*   vvv# 
     6#         #v*  vvvv# 
    77**^     ^#    # 
    88###########^* # 
    99    vvvvv#### # 
    1010                v  v # 
    11 P ^^  ^   ^^  # 
     11P ^^  ^ * ^^  # 
    1212############### 
     13############### 
  • 2011/26/LasseV/ShapeRace/ShapeRace/ShapeRaceContent/ShapeRaceContent.contentproj

    r2312 r2419  
    7373    </Compile> 
    7474  </ItemGroup> 
     75  <ItemGroup> 
     76    <Compile Include="Kick Shock.mp3"> 
     77      <Name>Kick Shock</Name> 
     78      <Importer>Mp3Importer</Importer> 
     79      <Processor>SongProcessor</Processor> 
     80    </Compile> 
     81  </ItemGroup> 
    7582  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    7683  <!--  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.