Ignore:
Timestamp:
2017-06-16 11:42:51 (2 years ago)
Author:
npo17_4
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2017/24/EmiliaM/Little_miner1.cs

    r8736 r8781  
    1616    Vector sanky2paikka; 
    1717    Vector alkupaikka; 
     18    PhysicsObject palikka1; 
    1819     
    1920     
     
    2223    Image hakkukuva = LoadImage("hakku"); 
    2324    Image tausta = LoadImage("Little.miner1"); 
     25    Image kkuva = LoadImage("kivi"); 
     26    Image vihu = LoadImage("vihu"); 
     27    Image sma = LoadImage("sma"); 
     28    Image taust = LoadImage("raja"); 
     29    Image puu = LoadImage("puu"); 
     30    Image arkku = LoadImage("c"); 
     31    Image tim = LoadImage("diamond"); 
    2432 
    2533    private double liikkumisnopeus = 300; 
     
    2836    { 
    2937        Level.Background.Image = tausta; 
    30         MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko", "Aloita peli", "Vaihda Hahmoa", "Lopeta"); 
     38        MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko", "Aloita peli", "Lopeta"); 
    3139        alkuValikko.AddItemHandler(0, AloitaPeli); 
    3240        // alkuValikko.AddItemHandler(1, ); 
     
    6775        AddCollisionHandler(apuri, "timantti", LyoTimu); 
    6876        AddCollisionHandler(apuri, "vihu2", LyoVihu); 
     77        AddCollisionHandler(apuri, "vihu", LyoVihu); 
     78        AddCollisionHandler(apuri, "boss", LyoIlkio); 
     79        AddCollisionHandler(apuri, "boss2", LyoIlkio); 
    6980        apuri.IsVisible = false; 
    7081        Add(apuri); 
     
    158169        AddCollisionHandler(pelaaja, "sanky1", VaihdaCheckpointtia); 
    159170        AddCollisionHandler(pelaaja, "sanky2", VaihdaCheckpointtia); 
     171        AddCollisionHandler(pelaaja, "boss2", VihuOsui); 
    160172         
    161173        Camera.Follow(pelaaja); 
     
    195207        palikka.Position = paikka; 
    196208        palikka.Shape = Shape.Rectangle; 
    197         palikka.Color = Color.Black; 
     209        palikka.Image = taust; 
    198210        palikka.Restitution = 0.0; 
    199211        Add(palikka); 
     
    205217        palikka.Position = paikka; 
    206218        palikka.Shape = Shape.Rectangle; 
    207         palikka.Color = Color.Brown; 
     219        palikka.Image = puu; 
    208220        palikka.Restitution = 0.0; 
    209221        palikka.CollisionIgnoreGroup = 2; 
     
    216228        palikka.Position = paikka; 
    217229        palikka.Shape = Shape.Rectangle; 
    218  
     230        palikka.Color = Color.AshGray; 
    219231        palikka.Restitution = 0.0; 
    220232        Add(palikka); 
     
    226238        palikka.Position = paikka; 
    227239        palikka.Shape = Shape.Rectangle; 
    228         palikka.Color = Color.LightGray; 
     240        palikka.Image = kkuva; 
    229241        //AddCollisionHandler(palikka,"apuri" , LyoKivea2); 
    230242        // AddCollisionHandler(palikka, "hakku", KiviTuhoutuu); 
     
    258270        palikka2.Mass = 100000000; 
    259271        palikka2.Shape = Shape.Rectangle; 
    260         palikka2.Color = Color.Red; 
     272        palikka2.Image = kkuva; 
    261273        palikka2.Tag = "vihu2"; 
    262274        palikka2.Restitution = 0.0; 
     
    268280 
    269281        Vihu vihu2 = (Vihu)palikka; 
     282        vihu2.Image = vihu; 
    270283        vihu2.Tag = "vihu"; 
    271284 
     
    294307    void LuoIlkio(Vector paikka, double leveys, double korkeus) 
    295308    { 
    296         PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    297         palikka.Position = paikka; 
    298         palikka.Shape = Shape.Rectangle; 
    299         palikka.Color = Color.Green; 
    300         palikka.Restitution = 0.0; 
    301         Add(palikka); 
    302     } 
     309        Boss pal = new Boss(leveys + 40.0, korkeus + 40.0); 
     310        pal.Position = paikka; 
     311        pal.Shape = Shape.Rectangle; 
     312        pal.Color = Color.Green; 
     313        pal.Mass = (100000); 
     314        pal.Tag = "boss"; 
     315        pal.Restitution = 0.0; 
     316        Add(pal); 
     317    } 
     318 
     319    void LyoIlkio(PhysicsObject apuri, PhysicsObject pal) 
     320    { 
     321 
     322        Boss boss = (Boss)pal; 
     323        boss.Image = vihu; 
     324        boss.Tag = "boss2"; 
     325         
     326 
     327        FollowerBrain vihuAivot = new FollowerBrain(pelaaja); 
     328        vihuAivot.Speed = 100; 
     329        vihuAivot.DistanceFar = 600; 
     330        vihuAivot.DistanceClose = 50; 
     331        vihuAivot.StopWhenTargetClose = false; 
     332        vihuAivot.TargetClose += delegate 
     333        { 
     334            Vector suunta = pelaaja.Position - pal.Position; 
     335            suunta.Normalize(); 
     336 
     337            pal.Hit(suunta * -300); 
     338            pelaaja.Hit(suunta * 300); 
     339 
     340        }; 
     341 
     342       boss.Brain = vihuAivot; 
     343       boss.ElamaLaskuri.AddValue(-1); 
     344        if (boss.ElamaLaskuri.Value == 0) 
     345        { 
     346 
     347            boss.Destroy(); 
     348            List<GameObject> objs = GetObjectsWithTag("este"); 
     349            foreach (GameObject g in objs) 
     350                g.Destroy(); 
     351        } 
     352            
     353    } 
     354 
     355 
    303356 
    304357    void LuoEste(Vector paikka, double leveys, double korkeus) 
    305358    { 
    306         PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    307         palikka.Position = paikka; 
    308         palikka.Shape = Shape.Rectangle; 
    309         palikka.Color = Color.DarkJungleGreen; 
    310         palikka.Restitution = 0.0; 
    311         Add(palikka); 
     359        palikka1 = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     360        palikka1.Position = paikka; 
     361        palikka1.Shape = Shape.Rectangle; 
     362        palikka1.Color = Color.DarkJungleGreen; 
     363        palikka1.Tag = "este"; 
     364        palikka1.Restitution = 0.0; 
     365        Add(palikka1); 
    312366    } 
    313367 
     
    318372        ragdi.MakeStatic(); 
    319373        ragdi.Shape = Shape.Rectangle; 
    320         ragdi.Color = Color.JungleGreen; 
     374        ragdi.Image = kkuva;  
    321375        ragdi.Tag = ("smaragdi"); 
    322376        ragdi.Restitution = 0.0; 
     
    327381    { 
    328382        Sma Sma2 = (Sma)ragdi; 
     383        Sma2.Image = sma; 
    329384        Sma2.ElamaLaskuri.AddValue(-1); 
    330385        if (Sma2.ElamaLaskuri.Value == 0) 
     
    332387            Sma2.Destroy(); 
    333388            MessageDisplay.Add("Löysit Smaragdin!"); 
     389            Timer.SingleShot(2, TarkistaKaikki); 
    334390        } 
    335     } 
     391         
     392    } 
     393 
     394    void TarkistaKaikki() 
     395    { 
     396        List<GameObject> smas = GetObjectsWithTag("smaragdi"); 
     397        List<GameObject> tims = GetObjectsWithTag("timantti"); 
     398        if (smas.Count == 0 && tims.Count == 0) 
     399        { 
     400            Label tekstikentta = new Label("Voitit pelin! Löysit kaikki timantit ja smaragdit. Voitit BOSSIN. Olet mahtava mainari."); 
     401            tekstikentta.X = pelaaja.X; 
     402            tekstikentta.Y = pelaaja.Y  + 100; 
     403            Add(tekstikentta); 
     404 
     405        } 
     406 
     407 
     408 
     409 
     410 
     411    } 
     412 
    336413 
    337414    void LuoTimantti(Vector paikka, double leveys, double korkeus) 
     
    341418        dia.MakeStatic(); 
    342419        dia.Shape = Shape.Rectangle; 
    343         dia.Color = Color.Blue; 
     420        dia.Image = tim; 
     421         
    344422        dia.Tag = "timantti"; 
    345423        dia.Restitution = 0.0; 
     
    354432            D2.Destroy(); 
    355433            MessageDisplay.Add("Löysit Timantin!"); 
     434            Timer.SingleShot(2, TarkistaKaikki); 
    356435        } 
     436 
     437        
    357438    } 
    358439 
     
    362443        palikka.Position = paikka; 
    363444        palikka.Shape = Shape.Rectangle; 
    364         palikka.Color = Color.BlueGray; 
     445        palikka.Color = Color.Gray; 
    365446        palikka.Restitution = 0.0; 
    366447        Add(palikka); 
     
    386467        palikka.Position = paikka; 
    387468        palikka.Shape = Shape.Rectangle; 
    388         palikka.Color = Color.DarkBrown; 
     469        palikka.Image = arkku; 
    389470        palikka.Restitution = 0.0; 
    390471        Add(palikka); 
     
    465546//    } 
    466547//} 
     548class Boss : PhysicsObject 
     549{ 
     550    private IntMeter elamaLaskuri = new IntMeter(10, 0, 10); 
     551    public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 
     552 
     553    public Boss(double leveys, double korkeus) 
     554        : base(leveys, korkeus) 
     555    { 
     556        // elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 
     557    } 
     558} 
Note: See TracChangeset for help on using the changeset viewer.