Changeset 5562 for 2014/30/JouniP


Ignore:
Timestamp:
2014-07-23 09:29:43 (5 years ago)
Author:
jotapoti
Message:

Palloja voi syödä ja pelaaja suurenee, mustista palloista menettää elämää ja jos elämämittari putoaa nollaan, pelaaja räjähtää ja kuolee.

Location:
2014/30/JouniP/Syonti/Syonti/Syonti
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • 2014/30/JouniP/Syonti/Syonti/Syonti/Syonti.cs

    r5559 r5562  
    1616    Vector nopeusAlas       = new Vector(   0, -200); 
    1717 
     18    //                                oletus, min, max 
     19    IntMeter pelaajanHealth = new IntMeter(10, 0, 10); 
     20 
    1821    public override void Begin() 
    1922    { 
     23        SetWindowSize(800, 600); 
     24        Level.Size = new Vector(800, 600); 
     25 
    2026        LuoPelaaja(); 
    2127 
    2228        // Tehdään muut pallot kenttään: 
    23         LuoUseitaPalloja(50); 
     29        LuoUseitaPalloja(50, Color.Beige, "kerattava"); 
    2430 
     31        LuoUseitaPalloja(10, Color.Black, "pahis"); 
     32 
     33 
     34        Label pisteNaytto = new Label(); 
     35        pisteNaytto.X = Screen.Left + 100; 
     36        pisteNaytto.Y = Screen.Top - 100; 
     37        pisteNaytto.TextColor = Color.Black; 
     38        pisteNaytto.Color = Color.White; 
     39 
     40        pisteNaytto.BindTo(pelaajanHealth); 
     41        pisteNaytto.IntFormatString = "Elämää: {0:D1}"; 
     42        Add(pisteNaytto); 
     43 
     44 
     45        Level.CreateBorders(); 
    2546        LisaaNappaimet(); 
    2647    } 
     
    5172    void LuoPelaaja() 
    5273    { 
    53         pelaaja = LuoPallo(0.0, 0.0, 20.0, Color.Red); 
     74        pelaaja = LuoPallo(0.0, 0.0, 30.0, Color.Red); 
    5475        Add(pelaaja, 1); 
     76        pelaajanHealth.LowerLimit += PelaajaHaviaa; 
     77 
     78        AddCollisionHandler(pelaaja, "kerattava", PelaajaOsuuKerattavaan); 
     79        AddCollisionHandler(pelaaja, "pahis", PelaajaOsuuPahikseen); 
    5580    } 
    5681 
    57     void LuoUseitaPalloja(int maara) 
     82    void PelaajaHaviaa() 
     83    { 
     84        Explosion rajahdys = new Explosion(200); 
     85        rajahdys.Position = pelaaja.Position; 
     86        Add(rajahdys); 
     87 
     88        pelaaja.Destroy(); 
     89        MessageDisplay.Add("Hävisit!"); 
     90    } 
     91 
     92    void PelaajaOsuuKerattavaan(PhysicsObject tormaaja, PhysicsObject kohde) 
     93    { 
     94        kohde.Destroy(); 
     95        tormaaja.Size = tormaaja.Size + new Vector(10, 10); 
     96    } 
     97 
     98    void PelaajaOsuuPahikseen(PhysicsObject tormaaja, PhysicsObject kohde) 
     99    { 
     100        if (tormaaja.Width > 35) 
     101        { 
     102            tormaaja.Size = tormaaja.Size - new Vector(30, 30); 
     103        } 
     104        pelaajanHealth.Value -= 1; 
     105 
     106    } 
     107 
     108    void LuoUseitaPalloja(int maara, Color vari, string tagiteksti) 
    58109    { 
    59110        int i = 0; 
     
    62113            double x = RandomGen.NextDouble(Level.Left, Level.Right); 
    63114            double y = RandomGen.NextDouble(Level.Bottom, Level.Top); 
    64             PhysicsObject p = LuoPallo(x, y, 40.0, Color.Beige); 
     115            PhysicsObject p = LuoPallo(x, y, 20.0, vari); 
     116            p.Tag = tagiteksti; 
    65117            Add(p); 
    66118            i++; 
     
    73125        pallura.Position = new Vector(x, y); 
    74126        pallura.Color = vari; 
     127        pallura.Tag = "pelaaja"; 
    75128        return pallura; 
    76129    } 
Note: See TracChangeset for help on using the changeset viewer.