Ignore:
Timestamp:
2017-06-09 12:31:21 (5 years ago)
Author:
nupeohje
Message:

Loppu, Kuolema

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2017/23/VenlaV/platformerproto/platformerproto/platformerproto/platformerproto.cs

    r8445 r8470  
    1010{ 
    1111    PlatformCharacter pelaaja; 
     12    PlatformCharacter Nelio; 
     13    PlatformCharacter Pallo; 
    1214    Image ruohokuva = LoadImage("ruoho"); 
    1315    Image lehdetkuva = LoadImage("Leaf_Floor"); 
     
    2931 
    3032    int kenttaNro = 1; 
     33    DoubleMeter elamaLaskuri; 
     34 
    3135 
    3236    public override void Begin() 
     
    3943        ClearAll(); 
    4044 
    41         if (kenttaNro == 1) LuoKentta("kenttatestui"); 
    42         else if (kenttaNro == 2) LuoKentta("kentta2"); 
     45        Mouse.IsCursorVisible = true; 
     46 
     47        if (kenttaNro == 1)  LuoKentta("kenttatestui"); 
     48        else if (kenttaNro == 2)  LuoKentta("kentta2"); 
    4349        else if (kenttaNro == 3) LuoKentta("kentta3"); 
    4450        else if (kenttaNro > 3) Exit(); 
    4551 
    46         Camera.Zoom(4); 
     52        Camera.Zoom(5); 
     53 
     54        LuoElamaLaskuri(); 
     55        
    4756        Camera.Follow(pelaaja); 
    4857 
     
    5059        AddCollisionHandler(pelaaja, "Maa", LisaaHyppyja); 
    5160        AddCollisionHandler(pelaaja, "Portaali", OsuuPortaaliin); 
     61        AddCollisionHandler(pelaaja, "Vihu", Ohno); 
    5262 
    5363 
     
    7484        ruudut.SetTileMethod(Color.HanPurple, Portal); 
    7585        ruudut.SetTileMethod(Color.Red, Border); 
     86        ruudut.SetTileMethod(Color.MidnightBlue, LuoNelio); 
     87        ruudut.SetTileMethod(Color.SpringGreen, LuoYmpyra); 
     88        ruudut.SetTileMethod(Color.BrightGreen, Luo); 
    7689        ruudut.Execute(); 
    7790    } 
     91    void Luo(Vector paikka, double leveys, double korkeus) 
     92    {     PhysicsObject Musta = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     93        Musta.Position = paikka; 
     94        Musta.Color = Color.Black; 
     95        Musta.CollisionIgnoreGroup = 1; 
     96        Add(Musta); 
     97        Musta.Restitution = 0;} 
    7898    void LuoPelaaja(Vector paikka, double leveys, double korkeus) 
    7999    { 
     
    81101        pelaaja.Shape = Shape.Circle; 
    82102        pelaaja.Color = Color.BloodRed; 
     103        pelaaja.Position = paikka; 
    83104        pelaaja.CollisionIgnoreGroup = 2; 
    84105        Add(pelaaja, 2); 
     
    95116 
    96117    } 
     118    void LuoNelio(Vector paikka, double leveys, double korkeus) 
     119    { 
     120        Nelio = new PlatformCharacter(10, 10); 
     121 
     122        PlatformWandererBrain tasoAivot = new PlatformWandererBrain(); 
     123        tasoAivot.Speed = 100; 
     124        tasoAivot.FallsOffPlatforms = true; 
     125        tasoAivot.JumpSpeed = 500; 
     126        tasoAivot.TriesToJump = true; 
     127        Nelio.Brain = tasoAivot; 
     128        Nelio.Tag = "Vihu"; 
     129 
     130        Nelio.Position = paikka; 
     131        Nelio.Shape = Shape.Rectangle; 
     132        Nelio.Color = Color.MidnightBlue; 
     133        Nelio.CollisionIgnoreGroup = 100; 
     134        Add(Nelio, 2); 
     135        Nelio.Restitution = 0; 
     136 
     137 
     138    } 
     139    void LuoYmpyra(Vector paikka, double leveys, double korkeus) 
     140    { 
     141        Pallo = new PlatformCharacter(10, 10); 
     142 
     143        PlatformWandererBrain tasoAivot = new PlatformWandererBrain(); 
     144        tasoAivot.Speed = 100; 
     145        tasoAivot.FallsOffPlatforms = true; 
     146        tasoAivot.JumpSpeed = 500; 
     147        tasoAivot.TriesToJump = true; 
     148        Pallo.Brain = tasoAivot; 
     149 
     150        Pallo.Position = paikka; 
     151        Pallo.Shape = Shape.Circle; 
     152        Pallo.Color = Color.Rose; 
     153        Pallo.CollisionIgnoreGroup = 10; 
     154        Add(Pallo, 2); 
     155        Pallo.Restitution = 1; 
     156 
     157 
     158    } 
     159 
    97160    void Border(Vector paikka, double leveys, double korkeus) 
    98161    { 
     
    238301    { 
    239302        kenttaNro++; 
     303        ClearAll(); 
    240304        SeuraavaKentta(); 
    241305    } 
    242 } 
    243  
    244  
     306    void Ohno(PhysicsObject Pelaaja, PhysicsObject Nelio) 
     307    { 
     308        Nelio.Destroy(); 
     309        elamaLaskuri.Value -= 1; 
     310 
     311        } 
     312    void LuoElamaLaskuri() 
     313    { 
     314        elamaLaskuri = new DoubleMeter(3); 
     315        elamaLaskuri.MaxValue = 3; 
     316        elamaLaskuri.LowerLimit += ElamaLoppui; 
     317 
     318        ProgressBar elamaPalkki = new ProgressBar(300, 100); 
     319        elamaPalkki.X = Screen.Left + 150; 
     320        elamaPalkki.Y = Screen.Top - 40; 
     321        elamaPalkki.BindTo(elamaLaskuri); 
     322 
     323        elamaPalkki.Image = LoadImage("Health Bar empty"); 
     324        elamaPalkki.BarImage = LoadImage("Health Bar"); 
     325 
     326        Add(elamaPalkki); 
     327    } 
     328 
     329    void ElamaLoppui() 
     330    { 
     331        MultiSelectWindow alkuValikko = new MultiSelectWindow("GameOver", "Lopeta"); 
     332        Add(alkuValikko); 
     333 
     334        alkuValikko.AddItemHandler(0, Exit); 
     335    } 
     336    } 
     337 
     338 
     339 
Note: See TracChangeset for help on using the changeset viewer.