Changeset 6069


Ignore:
Timestamp:
2015-06-12 12:32:05 (4 years ago)
Author:
olarkala
Message:
 
Location:
2015/24/OlaviL/Tasohyppelypeli5
Files:
8 added
3 deleted
7 edited

Legend:

Unmodified
Added
Removed
  • 2015/24/OlaviL/Tasohyppelypeli5/Tasohyppelypeli5/Tasohyppelypeli5

    • Property svn:global-ignores set to
      bin
      obj
  • 2015/24/OlaviL/Tasohyppelypeli5/Tasohyppelypeli5/Tasohyppelypeli5/Tasohyppelypeli5.cs

    r6001 r6069  
    1313    const int RUUDUN_KOKO = 40; 
    1414 
     15    List<Label> valikonKohdat; 
     16 
    1517    Image olionKuva = LoadImage("gem"); 
    1618 
    1719    PlatformCharacter timantti; 
     20    PhysicsObject ylaReuna; 
    1821 
    1922    int kenttaNro = 1; 
     
    2528    public override void Begin() 
    2629    { 
    27         Gravity = new Vector(0, -1000); 
    28  
    29         LuoKentta(kentta); 
    30         LisaaNappaimet(); 
     30        Valikko(); 
     31        Mouse.IsCursorVisible = true; 
     32 
     33         
     34        
     35    } 
     36 
     37    void LuoKentta() 
     38    { 
     39 
     40        if (kenttaNro > 4) 
     41        { 
     42            ClearAll(); 
     43            MessageDisplay.Add("Voitit pelin!!!"); 
     44            MessageDisplay.Position = Vector.Zero; 
     45            Level.BackgroundColor = Color.Black; 
     46 
     47 
     48 
     49            Timer.SingleShot(4.0, ConfirmExit); 
     50            return; 
     51        } 
     52 
     53        ylaReuna = Level.CreateTopBorder(); 
     54        ylaReuna.Restitution = 1.0; 
     55        ylaReuna.IsVisible = false; 
     56 
     57        Camera.Follow(timantti); 
    3158        LuoPistelaskuri(); 
    32         LuoAikaLaskuri(400.0, 400.0); 
    33  
    34         IsFullScreen = true; 
    35  
    36  
    37         Camera.Follow(timantti); 
    38         Camera.ZoomFactor = 1.2; 
    39         Camera.StayInLevel = true; 
    40     } 
    41  
    42     void LuoKentta(string kentta) 
    43     { 
    44         TileMap ruudut = TileMap.FromLevelAsset("kentta"); 
     59         
     60        TileMap ruudut = TileMap.FromLevelAsset("kentta"+kenttaNro); 
     61 
    4562        ruudut.SetTileMethod('K', LisaaKolikko); 
    4663        ruudut.SetTileMethod('#', LisaaTaso); 
    4764        ruudut.SetTileMethod('*', LisaaTahti); 
    4865        ruudut.SetTileMethod('T', LisaaPelaaja); 
     66 
    4967        ruudut.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
     68 
    5069        Level.CreateBorders(); 
    5170        Level.Background.CreateStars(10000); 
    5271        Gravity = new Vector(0.0, -800.0); 
    5372    AddCollisionHandler(timantti, "pahis", LisaaRajahdys); 
     73 
    5474     
    5575    } 
     
    102122        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    103123        Keyboard.Listen(Key.P, ButtonState.Pressed, Pause, "Pysäyttää pelin"); 
     124        Keyboard.Listen(Key.B, ButtonState.Pressed, KohdistaKamera, "Kohdistaa kameran pelaajaan"); 
     125        Keyboard.Listen(Key.N, ButtonState.Pressed, KaikkiKeratty, "Tekee jotain"); 
    104126 
    105127        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", timantti, -nopeus); 
    106128        Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", timantti, nopeus); 
    107129        Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", timantti, hyppyNopeus); 
    108         Keyboard.Listen(Key.R, ButtonState.Down, AloitaAlusta, "Aloittaa pelin alusta"); 
     130        Keyboard.Listen(Key.R, ButtonState.Down, AloitaAlusta, "Aloittaa pelin alusta. Jos kenttää vaihtaessa kamera kohdistuu väärin, Aloita kenttä alusta"); 
     131 
    109132 
    110133        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
     
    112135        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", timantti, nopeus); 
    113136        ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", timantti, hyppyNopeus); 
    114         ControllerOne.Listen(Button.X, ButtonState.Down, AloitaAlusta, "Aloittaa pelin alusta"); 
     137        ControllerOne.Listen(Button.X, ButtonState.Down, AloitaAlusta, "Aloittaa pelin alusta. Jos kenttää vaihtaessa kamera kohdistuu väärin, Aloita kenttä alusta"); 
    115138        ControllerOne.Listen(Button.Y, ButtonState.Pressed, Pause, "Pysäyttää pelin"); 
    116139 
     
    119142         
    120143         
     144    } 
     145    void KohdistaKamera() 
     146    { 
     147        Camera.Follow(timantti); 
     148        ClearControls(); 
     149        LisaaNappaimet(); 
    121150    } 
    122151 
     
    141170    { 
    142171        ClearAll(); 
    143         LuoKentta("kentta"); 
     172        LuoKentta(); 
    144173        LisaaNappaimet(); 
    145174        Camera.Follow(timantti); 
     175         
    146176    } 
    147177 
     
    157187        pisteNaytto.TextColor = Color.Black; 
    158188        pisteNaytto.Color = Color.White; 
    159         pisteNaytto.Title = "Tähdet"; 
     189        pisteNaytto.Title = "Timantit"; 
    160190 
    161191 
     
    168198 
    169199    } 
    170     
    171  
    172200 
    173201 
     
    178206        MessageDisplay.Add("Voitit! Nyt voit leikkiä kaikella muulla."); 
    179207        kenttaNro++; 
    180         SeuraavaKentta(); 
     208        AloitaAlusta(); 
    181209    } 
    182210    
     
    203231    Add(rajahdys); 
    204232} 
    205 void SeuraavaKentta() 
     233void Valikko() 
     234{ 
     235    ClearAll(); // Tyhjennetään kenttä kaikista peliolioista 
     236 
     237    valikonKohdat = new List<Label>(); // Alustetaan lista, johon valikon kohdat tulevat 
     238 
     239    Label kohta1 = new Label("Aloita uusi peli");   
     240    kohta1.Position = new Vector(0, 40);   
     241    valikonKohdat.Add(kohta1);   
     242    Label kohta2 = new Label("Lopeta peli"); 
     243    kohta2.Position = new Vector(0, 0); 
     244    valikonKohdat.Add(kohta2); 
     245 
     246 
     247 
     248 
     249    foreach (Label valikonKohta in valikonKohdat) 
     250    { 
     251        Add(valikonKohta); 
     252    } 
     253    Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AloitaPeli, null); 
     254    Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, Exit, null); 
     255    Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null); 
     256} 
     257void AloitaPeli() 
    206258{ 
    207259    ClearAll(); 
    208  
    209     if (kenttaNro == 1) LuoKentta("kentta1"); 
    210     else if (kenttaNro == 2) LuoKentta("kentta2"); 
    211     else if (kenttaNro == 3) LuoKentta("kentta3"); 
    212     else if (kenttaNro > 3) Exit(); 
    213  
     260    Gravity = new Vector(0, -1000); 
     261    LuoKentta(); 
    214262    LisaaNappaimet(); 
    215  
    216 } 
    217  
    218  
    219  
    220 } 
     263    LuoPistelaskuri(); 
     264    LuoAikaLaskuri(400.0, 400.0); 
     265 
     266    IsFullScreen = true; 
     267 
     268 
     269    Camera.Follow(timantti); 
     270    Camera.ZoomFactor = 1.2; 
     271    Camera.StayInLevel = true; 
     272 
     273 
     274} 
     275void ValikossaLiikkuminen(AnalogState hiirenTila) 
     276{ 
     277    foreach (Label kohta in valikonKohdat) 
     278    { 
     279        if (Mouse.IsCursorOn(kohta)) 
     280        { 
     281            kohta.TextColor = Color.Red; 
     282        } 
     283        else 
     284        { 
     285            kohta.TextColor = Color.Black; 
     286        } 
     287 
     288    } 
     289} 
     290 
     291 
     292 
     293 
     294} 
  • 2015/24/OlaviL/Tasohyppelypeli5/Tasohyppelypeli5/Tasohyppelypeli5/Tasohyppelypeli5.csproj.Debug.cachefile

    r6001 r6069  
    33Content\Diamond-02-copy.xnb 
    44Content\kentta2.xnb 
     5Content\kentta3.xnb 
     6Content\kentta4.xnb 
  • 2015/24/OlaviL/Tasohyppelypeli5/Tasohyppelypeli5/Tasohyppelypeli5Content

    • Property svn:global-ignores set to
      bin
      obj
  • 2015/24/OlaviL/Tasohyppelypeli5/Tasohyppelypeli5/Tasohyppelypeli5Content/Tasohyppelypeli5Content.contentproj

    r6001 r6069  
    7171    </Compile> 
    7272  </ItemGroup> 
     73  <ItemGroup> 
     74    <Compile Include="kentta3.txt"> 
     75      <Name>kentta3</Name> 
     76      <Importer>TextFileImporter</Importer> 
     77      <Processor>TextFileContentProcessor</Processor> 
     78    </Compile> 
     79  </ItemGroup> 
     80  <ItemGroup> 
     81    <Compile Include="kentta4.txt"> 
     82      <Name>kentta4</Name> 
     83      <Importer>TextFileImporter</Importer> 
     84      <Processor>TextFileContentProcessor</Processor> 
     85    </Compile> 
     86  </ItemGroup> 
    7387  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    7488  <!--  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.