Ignore:
Timestamp:
2013-02-23 16:02:46 (7 years ago)
Author:
jypeleht
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2012/kerho/AkiP/Kirkle/Kirkle/Kirkle.cs

    r3924 r3941  
    2323    SoundEffect maaliAani = LoadSoundEffect("maali"); 
    2424 
     25    int kenttaNro = 1; 
     26 
    2527    public override void Begin() 
    2628    { 
     29        SeuraavaKentta(); 
     30    } 
     31 
     32    void SeuraavaKentta() 
     33    { 
     34        ClearAll(); 
     35 
    2736        Gravity = new Vector(0, -1000); 
    28  
    29         LuoKentta(); 
    30         LisaaNappaimet(); 
     37        if (kenttaNro == 1) LuoKentta("kentta1"); 
     38        else if (kenttaNro == 2) LuoKentta("kentta2"); 
     39        else if (kenttaNro > 2) Exit(); 
    3140 
    3241        Camera.Follow(pelaaja1); 
    33         Camera.ZoomFactor = 1.2; 
    3442        Camera.StayInLevel = true; 
     43 
     44        LisaaNappaimet(); 
    3545    } 
    3646 
    37     void LuoKentta() 
     47    void LuoKentta(String kentanNimi) 
    3848    { 
    39         TileMap kentta = TileMap.FromLevelAsset("kentta1"); 
     49        TileMap kentta = TileMap.FromLevelAsset(kentanNimi); 
    4050        kentta.SetTileMethod('#', LisaaTaso); 
    4151        kentta.SetTileMethod('%', LisaaTiili); 
     52        kentta.SetTileMethod('>', LisaaVanishTiili); 
     53        kentta.SetTileMethod('!', LisaaPalikka); 
    4254        kentta.SetTileMethod('@', LisaaLaava); 
    4355        kentta.SetTileMethod('*', LisaaTahti); 
     56        kentta.SetTileMethod('G', LisaaMaali); 
    4457        kentta.SetTileMethod('N', LisaaPelaaja); 
    4558        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    4659        Level.CreateBorders(); 
    47         Level.Background.CreateGradient(Color.Black, Color.Black); 
     60        if (kentanNimi.Equals("kentta1")) 
     61            Level.BackgroundColor = Color.JungleGreen; 
     62        if (kentanNimi.Equals("kentta2")) 
     63            Level.BackgroundColor = Color.Black; 
    4864    } 
    4965 
     
    5268        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    5369        taso.Position = paikka; 
    54         taso.Color = Color.White; 
     70        taso.Color = Color.Green; 
     71        taso.CollisionIgnoreGroup = 1; 
    5572        Add(taso); 
    5673    } 
     
    6077        PhysicsObject tiili = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    6178        tiili.Position = paikka; 
     79        tiili.CollisionIgnoreGroup = 1; 
    6280        tiili.Color = Color.Brown; 
    6381        Add(tiili); 
     82    } 
     83 
     84    void LisaaVanishTiili(Vector paikka, double leveys, double korkeus) 
     85    { 
     86        PhysicsObject vanishtiili = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     87        vanishtiili.Position = paikka; 
     88        vanishtiili.CollisionIgnoreGroup = 1; 
     89        vanishtiili.Color = Color.Crimson; 
     90        vanishtiili.IsVisible = false; 
     91        Add(vanishtiili); 
     92    } 
     93 
     94    void LisaaPalikka(Vector paikka, double leveys, double korkeus) 
     95    { 
     96        PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     97        palikka.Position = paikka; 
     98        palikka.CollisionIgnoreGroup = 1; 
     99        palikka.Color = Color.Yellow; 
     100        Add(palikka); 
    64101    } 
    65102 
     
    69106        laava.Position = paikka; 
    70107        laava.Color = Color.Red; 
     108        laava.CollisionIgnoreGroup = 1; 
    71109        Add(laava); 
    72110    } 
     
    82120    } 
    83121 
     122    void LisaaMaali(Vector paikka, double leveys, double korkeus) 
     123    { 
     124        PhysicsObject maali = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     125        maali.Position = paikka; 
     126        maali.Color = Color.Magenta; 
     127        maali.CollisionIgnoreGroup = 1; 
     128        maali.Tag = "maali"; 
     129        Add(maali); 
     130    } 
     131 
    84132    void LisaaPelaaja(Vector paikka, double leveys, double korkeus) 
    85133    { 
     
    93141        pelaaja1.Image = pelaajanKuva; 
    94142        AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 
     143        AddCollisionHandler(pelaaja1, "maali", delegate(PhysicsObject p, PhysicsObject p2) 
     144        { 
     145            kenttaNro++; 
     146            SeuraavaKentta(); 
     147        }); 
    95148        Add(pelaaja1); 
    96149    } 
Note: See TracChangeset for help on using the changeset viewer.