Ignore:
Timestamp:
2017-05-20 13:18:53 (4 years ago)
Author:
sieerinn
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2015/koodauskerho/AarreP/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1.cs

    r8419 r8430  
    77using Jypeli.Widgets; 
    88 
     9class Pelaaja : PlatformCharacter 
     10{ 
     11    private IntMeter elamaLaskuri = new IntMeter(3, 0, 3); 
     12    public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 
     13 
     14    public Pelaaja(double leveys, double korkeus) 
     15        : base(leveys, korkeus) 
     16    { 
     17       // elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 
     18    } 
     19} 
    920public class Tasohyppelypeli1 : PhysicsGame 
    1021{ 
     
    4455        LisaaNappaimet(); 
    4556 
    46         Camera.Follow(pelaaja1); 
     57        Camera.Follow(pelaaja1, pelaaja2); 
    4758        Camera.ZoomFactor = 1.2; 
    4859        Camera.StayInLevel = true; 
     
    6475        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    6576        Level.CreateBorders(); 
    66         Level.Background.CreateGradient(Color.Red, Color.MidnightBlue); 
     77        Level.Background.CreateGradient(Color.Gray, Color.Black); 
    6778    } 
    6879 
     
    7182        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    7283        taso.Position = paikka; 
    73         taso.Color = Color.Green; 
     84        taso.Color = Color.Red; 
    7485        Add(taso); 
    7586    } 
     
    94105    } 
    95106 
    96     PlatformCharacter LisaaPelaaja(Vector paikka, double leveys, double korkeus) 
    97     { 
    98         PlatformCharacter pelaaja1 = new PlatformCharacter(50, 70); 
     107    Pelaaja LisaaPelaaja(Vector paikka, double leveys, double korkeus) 
     108    { 
     109        Pelaaja pelaaja1 = new Pelaaja(50, 70); 
    99110        pelaaja1.Position = paikka; 
    100111        pelaaja1.Mass = 9.0; 
     
    111122        AddCollisionHandler(pelaaja1, "kuollut", TormaakuolleeseenPelaajaan); 
    112123        pelaajan1Ase = new AssaultRifle(30, 10); 
     124        pelaaja1.ElamaLaskuri.LowerLimit += delegate { Kuole(pelaaja1); }; 
    113125        return pelaaja1; 
    114126    } 
     
    170182        Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus); 
    171183        Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
    172         Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Ammu", pelaajan1Ase); 
     184        Keyboard.Listen(Key.RightControl, ButtonState.Down, AmmuAseella, "Ammu", pelaajan1Ase); 
    173185 
    174186        Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja2, -nopeus); 
     
    209221        // tahti.Destroy(); 
    210222        // lisaapelaaja2(tahti.Position, 0, 0); 
    211         herata(tahti as PlatformCharacter); 
     223        herata(tahti as Pelaaja); 
    212224         
    213225    } 
     
    254266        // kuva.Image = KuolemaKuva; 
    255267        // Add(kuva); 
    256         Kuole(hahmo as PlatformCharacter); 
    257     } 
    258  
    259  
    260     void Kuole(PlatformCharacter hahmo) 
     268        OtaVahinkoa(hahmo as Pelaaja); 
     269    } 
     270    void OtaVahinkoa(Pelaaja hahmo) 
     271    { 
     272        hahmo.ElamaLaskuri.Value--; 
     273    } 
     274    void Kuole(Pelaaja hahmo) 
    261275    { 
    262276        hahmo.Image = KuolemaKuva; 
     
    265279    } 
    266280 
    267     void herata (PlatformCharacter hahmo) 
     281    void herata (Pelaaja hahmo) 
    268282    { 
    269283        hahmo.Image = pelaajanKuva; 
    270284        hahmo.AnimIdle = new Animation(pelaajanKuva); 
     285        hahmo.ElamaLaskuri.Value=3; 
    271286        hahmo.Tag = "pelaaja"; 
    272287    } 
Note: See TracChangeset for help on using the changeset viewer.