Changeset 7618 for 2016/26


Ignore:
Timestamp:
2016-07-01 11:33:13 (3 years ago)
Author:
mijuntti
Message:
 
Location:
2016/26/MikkoJ/NakkiPaukku
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • 2016/26/MikkoJ/NakkiPaukku/NakkiPaukku/NakkiPaukku/NakkiPaukku.cs

    r7600 r7618  
    2121    public override void Begin() 
    2222    { 
     23 
     24         
     25        MultiSelectWindow alkuValikko = new MultiSelectWindow("NakkiPaukku", 
     26            "Paukuta!", "Huomenna uusiks!"); 
     27        IsFullScreen = true; 
     28        alkuValikko.AddItemHandler(0, AloitaPeli); 
     29        alkuValikko.AddItemHandler(1, Exit); 
     30        alkuValikko.Color = Color.White; 
     31        Level.BackgroundColor = Color.Orange; 
     32        Add(alkuValikko); 
     33 
     34    } 
     35    void AloitaPeli() 
     36    { 
    2337        LuoMailma(); 
    2438        AsetaOhjaimet(); 
    25          
    26  
    27  
    2839    } 
    2940    void LuoMailma() 
     
    3142        ColorTileMap ruudut = ColorTileMap.FromLevelAsset("Kentta"); 
    3243 
    33          
    34          
    3544        ruudut.SetTileMethod(Color.Black, LuoTaso); 
    36         ruudut.SetTileMethod(Color.FromHexCode("FFEA00"), LuoPelaaja, 0); 
    37         ruudut.SetTileMethod(Color.Red, LuoPelaaja, 1); 
    38         ruudut.SetTileMethod(Color.FromHexCode("0026FF"), LuoPelaaja, 2); 
    39         ruudut.SetTileMethod(Color.FromHexCode("4CFF00"), LuoPelaaja, 3); 
     45        ruudut.SetTileMethod(Color.FromHexCode("FFEA00"), LuoPelaaja, 0, Color.Red); 
     46        ruudut.SetTileMethod(Color.Red, LuoPelaaja, 1, Color.Blue); 
     47        ruudut.SetTileMethod(Color.FromHexCode("0026FF"), LuoPelaaja, 2, Color.ForestGreen); 
     48        ruudut.SetTileMethod(Color.FromHexCode("4CFF00"), LuoPelaaja, 3, Color.Violet); 
    4049         
    4150 
     
    4554    void LuoTaso(Vector paikka, double leveys, double korkeus) 
    4655    { 
    47         PhysicsObject kentta = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    48         kentta.Position = paikka; 
    49         kentta.Color = Color.Black; 
    50         kentta.IgnoresExplosions = true; 
    51         Add(kentta); 
     56        PhysicsObject seina = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     57        seina.Position = paikka; 
     58        seina.Color = Color.Black; 
     59        seina.IgnoresExplosions = true; 
     60        seina.IgnoresPhysicsLogics = true; 
     61        Add(seina); 
    5262 
    53         kentta.Tag = "seina"; 
     63        seina.Tag = "seina"; 
    5464        Level.Background.Color = Color.White; 
    5565        Camera.ZoomToLevel(); 
    5666        IsFullScreen = true; 
    5767    } 
    58     void LuoPelaaja(Vector paikka, double leveys, double korkeus, int paikkaNumero) 
     68    void LuoPelaaja(Vector paikka, double leveys, double korkeus, int paikkaNumero, Color vari) 
    5969    { 
    60         PhysicsObject pelaaja = new PhysicsObject(leveys * 0.65, korkeus * 0.65); 
     70        PhysicsObject pelaaja = new PhysicsObject(leveys, korkeus); 
    6171        pelaaja.Shape = Shape.Circle; 
    6272        pelaaja.X = paikka.X; 
    6373        pelaaja.Y = paikka.Y; 
    64         pelaaja.Color = Color.HotPink; 
     74        pelaaja.Color = vari; 
    6575        pelaaja.LinearDamping = 0.1; 
     76        pelaaja.CanRotate = false; 
    6677        Add(pelaaja); 
    6778        pelaajat[paikkaNumero] = pelaaja; //Luo pelaajat 1, 2, 3 & 4 nimisiin muuttujiin 
     
    122133    void PudotaNakki(PhysicsObject pelaaja) 
    123134    { 
    124         PhysicsObject nakki = new PhysicsObject(1, 1); 
     135        PhysicsObject nakki = new PhysicsObject(10, 10); 
    125136        nakki.Position = pelaaja.Position; 
    126         nakki.Color = Color.Blue; 
     137        nakki.Color = Color.Orange; 
     138        nakki.Tag = "nakki"; 
     139        nakki.CanRotate = false; 
    127140 
    128141        Timer.SingleShot(3.0, delegate 
    129142        { 
    130             Explosion rajahdys = new Explosion(15); 
     143            Explosion rajahdys = new Explosion(25); 
    131144            rajahdys.Position = nakki.Position; 
    132             rajahdys.Force = 10.0; 
    133             rajahdys.Tag = "rajahdys"; 
     145            rajahdys.Force = 1.0; 
     146            //rajahdys.UseShockWave = false; 
     147            rajahdys.ShockwaveReachesObject += RajahdysOsuu; 
     148            //rajahdys.Tag = "rajahdys"; 
    134149            Add(rajahdys); 
    135150 
    136             ////////TODO 
     151            /* 
    137152            Vector tamanhetkinenrajahdyspaikka = rajahdys.Position; 
    138             /////// 
    139             while (true) 
     153            int o = 0; 
     154            while (o < 10) 
    140155            { 
    141156                List<GameObject> vasenRajahdysTila = this.GetObjectsBetween(tamanhetkinenrajahdyspaikka, (tamanhetkinenrajahdyspaikka + new Vector(-10, 0))); 
     
    159174                    i++; 
    160175                } 
    161  
    162                 tamanhetkinenrajahdyspaikka = tamanhetkinenrajahdyspaikka + new Vector(-10, 0); 
    163             } 
    164             //////// 
     176                rajahdys.Position = tamanhetkinenrajahdyspaikka + new Vector(-10, 0); 
     177                o++; 
     178            }*/ 
     179            
    165180        }); 
    166181        
    167182         
    168183        Add(nakki); 
     184        AddCollisionHandler(nakki, "rajahdys", PelaajaTormaaRajahdykseen); 
    169185         
    170186    } 
     187 
     188    private void RajahdysOsuu(IPhysicsObject objekti, Vector v) 
     189    { 
     190        objekti.Destroy(); 
     191    } 
    171192} 
Note: See TracChangeset for help on using the changeset viewer.