Ignore:
Timestamp:
2015-06-10 13:55:40 (4 years ago)
Author:
iisaaira
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2015/24/UunoT/Tasohyppelypeli2/Tasohyppelypeli2/Tasohyppelypeli2/Tasohyppelypeli2.cs

    r5986 r6003  
    1313    const double kiipeaNopeus = 250; 
    1414    const int RUUDUN_KOKO = 40; 
    15  
     15    int kenttaNro = 1; 
     16     
    1617    PlatformCharacter pelaaja1; 
    17  
    18     Image pelaajanKuva = LoadImage("norsu"); 
     18    Image RuneStone = LoadImage("Runestone"); 
     19    Image pelaajanKuva = LoadImage("Main"); 
    1920    Image tahtiKuva = LoadImage("tahti"); 
    2021    Image naamakuva = LoadImage ("Untitled"); 
    2122    Image brick = LoadImage("Castlebirck"); 
    22  
     23    Image Blast = LoadImage("RuneBbbblast"); 
     24    Image ruoho = LoadImage("Crasstiel"); 
    2325    SoundEffect maaliAani = LoadSoundEffect("maali"); 
    2426 
     27 
    2528    public override void Begin() 
    2629    { 
     30        SeuraavaKentta(); 
     31         
     32    } 
     33    void SeuraavaKentta() 
     34    { 
     35        ClearAll(); 
    2736        Gravity = new Vector(0, -1000); 
    2837 
    29         LuoKentta(); 
     38        if (kenttaNro == 1) LuoKentta("kentta1"); 
     39        else if (kenttaNro == 2) LuoKentta("kentta2"); 
     40        //else if (kenttaNro == 3) LuoKentta("kentta3"); 
     41        else if (kenttaNro > 2) Exit(); 
    3042        LisaaNappaimet(); 
    31          
    32          
     43 
     44 
    3345 
    3446        Camera.Follow(pelaaja1); 
     
    3850     
    3951 
    40     void LuoKentta() 
    41     { 
    42         TileMap kentta = TileMap.FromLevelAsset("kentta1"); 
     52    void LuoKentta(string kenttaTiedostonNimi) 
     53    { 
     54        TileMap kentta = TileMap.FromLevelAsset(kenttaTiedostonNimi); 
     55         
    4356        kentta.SetTileMethod('#', LisaaTaso); 
    4457        //kentta.SetTileMethod('*', LisaaTahti); 
    4558        kentta.SetTileMethod('N', LisaaPelaaja); 
     59        kentta.SetTileMethod('R', maata); 
     60        kentta.SetTileMethod('K', LuoKrystalli); 
     61        kentta.SetTileMethod('B', Luoprotaali); 
    4662        //kentta.SetTileMethod('T', LisaaTikkaat); 
    4763        //kentta.SetTileMethod('p', spawneri); 
     
    5773        taso.Image = brick; 
    5874        taso.Position = paikka; 
    59         taso.Color = Color.Green; 
     75        taso.Tag = "seina"; 
     76         
    6077        Add(taso); 
    6178    } 
     
    86103        pelaaja1.Mass = 4.0; 
    87104        pelaaja1.Image = pelaajanKuva; 
    88         AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 
     105        //AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 
    89106        //AddCollisionHandler(pelaaja1, "tikkaat", Kiipea); 
     107        AddCollisionHandler(pelaaja1, "portaali", Karttavaihto); 
    90108        Add(pelaaja1); 
    91109    } 
    92     void Guy (Vector paikka, double leveys, double korkeus) 
    93     { 
    94       PhysicsObject guy = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     110    void maata (Vector paikka, double leveys, double korkeus) 
     111    { 
     112      PhysicsObject mMata = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     113      mMata.Image = ruoho; 
     114      mMata.Position = paikka; 
     115      mMata.Tag = "seina"; 
     116      Add(mMata); 
     117         
     118         
    95119       
    96          
    97          
    98       Add(guy); 
     120    } 
     121    void Luoprotaali(Vector paikka, double leveys, double korkeus) 
     122    {  
     123    PhysicsObject protaali = new PhysicsObject(leveys,korkeus); 
     124    protaali.Tag = "portaali"; 
     125    protaali.Position = paikka; 
     126    Add (protaali); 
     127    } 
     128    void Karttavaihto(PhysicsObject pelaaja1, PhysicsObject protaali)  
     129    { 
     130        kenttaNro += 1; 
     131        SeuraavaKentta(); 
    99132    } 
    100133    void LisaaNappaimet() 
     
    148181        //} 
    149182    //} 
    150     void LuoNaama(Vector paikka) 
    151     { 
    152         PhysicsObject naama = new PhysicsObject (50, 50); 
    153         naama.Position = new Vector(); 
    154         naama.Shape = Shape.Circle; 
    155         naama.Image =naamakuva; 
    156         naama.Brain = new FollowerBrain(pelaaja1); 
    157         paikka = new Vector(0, 0); 
    158         Add (naama); 
    159     } 
    160  
     183    void LuoKrystalli(Vector paikka, double x, double y) 
     184    { 
     185        PhysicsObject krystalli = new PhysicsObject(40, 100); 
     186        krystalli.Position = paikka; 
     187        krystalli.Shape = Shape.Ellipse; 
     188        krystalli.Image = RuneStone; 
     189        krystalli.Brain = new FollowerBrain(pelaaja1); 
     190        krystalli.CollisionIgnoreGroup = 3; 
     191        Add(krystalli); 
     192 
     193 
     194        Timer ajastin = new Timer(); 
     195        ajastin.Interval = 1; 
     196        ajastin.Timeout += delegate { RuneBlast(krystalli); }; 
     197        ajastin.Start(); 
     198         
     199    } 
     200    void RuneBlast(PhysicsObject krystalli) 
     201    { 
     202        PhysicsObject runeblast = new PhysicsObject(50, 15); 
     203        runeblast.Position = krystalli.Position; 
     204        Vector suunta = (pelaaja1.Position - krystalli.Position).Normalize(); 
     205        runeblast.CollisionIgnoreGroup = 3; 
     206        runeblast.Image = Blast; 
     207        runeblast.Angle = suunta.Angle; 
     208        runeblast.IgnoresGravity = true; 
     209        Add(runeblast); 
     210        runeblast.Hit(suunta * 750); 
     211        runeblast.Tag = "Prjectile"; 
     212        AddCollisionHandler = (runeblast, "seina", tromaaseina); 
     213    } 
    161214    //void spawneri(Vector paikka, double leveys, double korkeus) 
    162215    //{ 
     
    166219    //    kutsuja.Start(); 
    167220    //} 
     221    void tromaaseina( 
     222    { 
     223        
     224    } 
     225 
    168226} 
Note: See TracChangeset for help on using the changeset viewer.