Ignore:
Timestamp:
2015-07-01 11:47:42 (5 years ago)
Author:
jivesuor
Message:

Tasohyppelyyn lisätty uusi vihollinen, tähdet vaihdettu kolikoiksi.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2015/27/JimiS/tasohyppely/hyppely/hyppely/hyppely/hyppely.cs

    r6629 r6651  
    77using Jypeli.Widgets; 
    88 
    9 //TODO Vaihda tähdet kolikoiksi 
    10 //TODO Lisää Kolikkolaskuri 
    11 //TODO Lisää kolikkolaskuriin maali, kun riittävästi kolikoita on kerätty 
     9 
    1210//TODO Lisää erilaisia vihollisia 
    1311//TODO Pidennä kenttää ja lisää tasoja/palikoita ja kuoppia + muita esteitä. 
    1412//TODO Paranna kentän, pelaajan ja vihollisten kuvia. 
    15 //TODO kaikki muut mieleen tulevat parannukset. 
     13//TODO Lisää/muokkaa äänet 
    1614 
    1715public class hyppely : PhysicsGame 
    1816{ 
    1917    const double nopeus = 200; 
    20     const double hyppyNopeus = 750; 
     18    const double hyppyNopeus = 1000; 
    2119    const int RUUDUN_KOKO = 40; 
    2220 
     
    3129    Image tahtiKuva = LoadImage("tahti"); 
    3230    Image vihukuva = LoadImage("vihu"); 
     31    Image Kolikko = LoadImage("kolikko"); 
     32    Image MaaPalikka = LoadImage("maapalikka"); 
     33    Image pahiskuva = LoadImage("putoamatonvihu"); 
     34    Image tasokuva = LoadImage("tasokuva"); 
    3335 
    3436    IntMeter pelaajan1Elamat; 
     37    IntMeter pelaajan1Tahdet; 
    3538 
    3639    Vector pelaajanaloituspaikka; 
     
    5962        TileMap kentta = TileMap.FromLevelAsset("kentta1"); 
    6063        kentta.SetTileMethod('#', LisaaTaso); 
    61         kentta.SetTileMethod('*', LisaaTahti); 
     64        kentta.SetTileMethod('*', LisaaKolikko); 
    6265        kentta.SetTileMethod('N', LisaaPelaaja); 
    6366        kentta.SetTileMethod('A', LisaaPalikka); 
    6467        kentta.SetTileMethod('V', LisaaVihu); 
     68        kentta.SetTileMethod('M', LisaaMaa); 
     69        kentta.SetTileMethod('P', LisaaPahis); 
    6570        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    6671        
     
    8287    } 
    8388 
     89    void LisaaPahis(Vector paikka, double leveys, double korkeus) 
     90    { 
     91        PlatformCharacter pahis = new PlatformCharacter(leveys, korkeus); 
     92        pahis.Position = paikka; 
     93        pahis.Tag = "pahis"; 
     94        pahis.Image = pahiskuva; 
     95        Add(pahis); 
     96 
     97        PlatformWandererBrain pahisaivot = new PlatformWandererBrain(); 
     98        pahisaivot.Speed = 40; 
     99        pahisaivot.FallsOffPlatforms = false; 
     100 
     101        pahis.Brain = pahisaivot; 
     102    } 
     103 
    84104    void LisaaVihu(Vector paikka, double leveys, double korkeus) 
    85105    { 
     
    101121    } 
    102122 
     123    void LisaaMaa(Vector paikka, double leveys, double korkeus) 
     124    { 
     125        PhysicsObject maa = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     126        maa.Position = paikka; 
     127        maa.Image = MaaPalikka; 
     128        Add(maa); 
     129    } 
     130 
    103131    void LisaaPalikka(Vector paikka, double leveys, double korkeus) 
    104132    { 
     
    114142        taso.Position = paikka; 
    115143        taso.Color = Color.Blue; 
     144        taso.Image = tasokuva; 
    116145        Add(taso); 
    117146    } 
    118147 
    119     void LisaaTahti(Vector paikka, double leveys, double korkeus) 
    120     { 
    121         PhysicsObject tahti = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    122         tahti.IgnoresCollisionResponse = true; 
    123         tahti.Position = paikka; 
    124         tahti.Image = tahtiKuva; 
    125         tahti.Tag = "tahti"; 
    126         Add(tahti); 
     148    void LisaaKolikko(Vector paikka, double leveys, double korkeus) 
     149    { 
     150        PhysicsObject kolikko = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     151        kolikko.IgnoresCollisionResponse = true; 
     152        kolikko.Position = paikka; 
     153        kolikko.Image = Kolikko; 
     154        kolikko.Tag = "tahti"; 
     155        Add(kolikko); 
    127156    } 
    128157 
     
    137166        AddCollisionHandler(pelaaja1, "pahis", TormaaVihuun); 
    138167        Add(pelaaja1); 
     168 
     169        pelaajan1Tahdet = new IntMeter(0); 
     170        pelaajan1Tahdet.MaxValue = 50; 
     171        Label tahdet = new Label(); 
     172        tahdet.BindTo(pelaajan1Tahdet); 
     173 
     174        tahdet.Y = 0; 
     175        tahdet.X = 0; 
     176        tahdet.TextColor = Color.Black; 
     177        tahdet.BorderColor = Color.Black; 
     178        tahdet.Color = Color.White; 
     179        Add(tahdet); 
    139180 
    140181        pelaajan1Elamat = new IntMeter(3); 
     
    191232        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    192233        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     234        Keyboard.Listen(Key.R, ButtonState.Pressed, AloitaAlusta, "Aloittaa pelin alusta."); 
    193235 
    194236        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 
     
    197239 
    198240        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
     241        ControllerOne.Listen(Button.Start, ButtonState.Pressed, AloitaAlusta, "Aloittaa pelin alusta."); 
    199242 
    200243        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus); 
     
    205248    } 
    206249 
     250 
     251    void AloitaAlusta() 
     252    { 
     253        ClearAll(); 
     254        Begin(); 
     255    } 
     256 
    207257    void Liikuta(PlatformCharacter hahmo, double nopeus) 
    208258    { 
     
    217267    void TormaaTahteen(PhysicsObject hahmo, PhysicsObject tahti) 
    218268    { 
     269        pelaajan1Tahdet.Value += 1; 
    219270        maaliAani.Play(); 
    220         MessageDisplay.Add("Keräsit tähden!"); 
     271        MessageDisplay.Add("Keräsit kolikon!"); 
    221272        tahti.Destroy(); 
     273 
     274        if (pelaajan1Tahdet == 50) 
     275        { 
     276            MessageDisplay.Add("Voitit pelin!"); 
     277            Timer.SingleShot(3.0, Exit); 
     278        } 
    222279    } 
    223280} 
Note: See TracChangeset for help on using the changeset viewer.