Ignore:
Timestamp:
2016-07-29 11:46:05 (5 years ago)
Author:
sikaosti
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2016/30/SisuT/Elli_The_Corgi/Elli_The_Corgi/Elli_The_Corgi/Elli_The_Corgi/Elli_The_Corgi.cs

    r8170 r8252  
    1212    const double hyppyNopeus = 750; 
    1313    const int RUUDUN_KOKO = 40; 
     14    int kenttaNro = 1; 
     15 
    1416 
    1517    PlatformCharacter pelaaja1; 
     18    PlatformCharacter pelaaja2; 
     19    PhysicsObject ovi; 
     20    PhysicsObject noita; 
    1621 
    1722    Image pelaajanKuva = LoadImage("pelaaja"); 
     23    Image pelaaja2Kuva = LoadImage("corgi2"); 
     24    Image ovenkuva = LoadImage("ovi"); 
     25    Image noitankuva = LoadImage("finalboss"); 
     26 
    1827    Image tahtiKuva = LoadImage("tahti"); 
    1928    Image nakumatonpalikka = LoadImage("nakumatonpalikka"); 
     
    2130    SoundEffect maaliAani = LoadSoundEffect("maali"); 
    2231 
     32 
    2333    public override void Begin() 
    2434    { 
     35         
     36 
     37        SeuraavaKentta(); 
     38 
     39 
     40 
     41    } 
     42 
     43    void SeuraavaKentta() 
     44    { 
     45        ClearAll(); 
     46 
     47        
     48 
     49        if (kenttaNro == 1) LuoKentta("kentta1"); 
     50        else if (kenttaNro == 2) LuoKentta("kentta2"); 
     51        else if (kenttaNro == 3) LuoKentta("kentta3"); 
     52        else if (kenttaNro == 4) LuoKentta("kentta4"); 
     53        else if (kenttaNro > 4) Exit(); 
     54 
     55        LisaaNappaimet(); 
     56    } 
     57 
     58    void TormasiOveen(PhysicsObject pelaaja, PhysicsObject kohde) 
     59    { 
     60        kenttaNro++; 
     61        SeuraavaKentta(); 
     62    } 
     63    void LuoKentta(string kenttaTiedostonNimi) 
     64    { 
    2565        Gravity = new Vector(0, -1000); 
    2666 
    27         LuoKentta(); 
    28         LisaaNappaimet(); 
    29  
     67        TileMap kentta = TileMap.FromLevelAsset(kenttaTiedostonNimi); 
     68        kentta.SetTileMethod('Q', Lisaanakumatonpalikka); 
     69        kentta.SetTileMethod('#', LisaaTaso); 
     70        kentta.SetTileMethod('*', LisaaTahti); 
     71        kentta.SetTileMethod('1', LisaaPelaaja); 
     72        kentta.SetTileMethod('2', LisaaPelaaja2); 
     73        kentta.SetTileMethod('O', LisaaOvi); 
     74        kentta.SetTileMethod('N', LisaaNoita); 
     75        kentta.SetTileMethod('P', LisaaPalikka); 
     76        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
     77        Level.CreateBorders(); 
    3078        Camera.Follow(pelaaja1); 
    3179        Camera.ZoomFactor = 1.2; 
     
    3381    } 
    3482 
    35     void LuoKentta() 
    36     { 
    37         TileMap kentta = TileMap.FromLevelAsset("kentta1"); 
    38         kentta.SetTileMethod('Q', Lisaanakumatonpalikka); 
    39         kentta.SetTileMethod('#', LisaaTaso); 
    40         kentta.SetTileMethod('*', LisaaTahti); 
    41         kentta.SetTileMethod('N', LisaaPelaaja); 
    42         kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    43         Level.CreateBorders(); 
    44         Level.Background.CreateGradient(Color.White, Color.SkyBlue); 
     83    void LisaaNoita(Vector paikka, double leveys, double korkeus) 
     84    { 
     85        PlatformCharacter noita = new PlatformCharacter(100, 100); 
     86        noita.Position = paikka; 
     87 
     88        noita.Tag = ("pahis"); 
     89 
     90        noita.IgnoresCollisionResponse = false; 
     91 
     92         
     93 
     94        noita.Image = noitankuva; 
     95        Add(noita); 
     96         
     97 
     98        PlatformWandererBrain tasoAivot = new PlatformWandererBrain(); 
     99        tasoAivot.Speed = 150; 
     100        tasoAivot.JumpSpeed = 2000; 
     101        tasoAivot.TriesToJump = true; 
     102 
     103        noita.Brain = tasoAivot; 
     104        tasoAivot.FallsOffPlatforms = true; 
     105    } 
     106 
     107 
     108    void mitaTapahtuuKunOllaanLahella() 
     109    { 
     110         
     111 
     112    } 
     113 
     114    void LisaaPalikka(Vector paikka, double leveys, double korkeus) 
     115    { 
     116        PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     117        palikka.Position = paikka; 
     118        palikka.Color = Color.HotPink; 
     119        palikka.Tag = "palikka"; 
     120         AddCollisionHandler(palikka, "noita", tormaaseinaan); 
     121        Add(palikka); 
     122    } 
     123 
     124    void tormaaseinaan(PhysicsObject palikka, PhysicsObject kohde) 
     125    { 
     126        //  palikka.IgnoresCollisionResponse = true; 
     127        palikka.IgnoresCollisionWith(kohde); 
     128    } 
     129     
     130 
     131    void TormasiMaaliin(PhysicsObject pelaaja, PhysicsObject maali) 
     132    { 
     133        kenttaNro++; 
     134        SeuraavaKentta(); 
     135    } 
     136 
     137    void TormasiPiikkiin(PhysicsObject pelaaja, PhysicsObject piikki) 
     138    { 
     139        SeuraavaKentta(); 
    45140    } 
    46141 
     
    52147        Add(npalikka); 
    53148    } 
    54  
    55149    void LisaaTaso(Vector paikka, double leveys, double korkeus) 
    56150    { 
     
    69163        tahti.Tag = "tahti"; 
    70164        Add(tahti); 
     165    }  
     166 
     167    void LisaaPelaaja2(Vector paikka, double leveys, double korkeus) 
     168    { 
     169        pelaaja2 = new PlatformCharacter(leveys, korkeus); 
     170        pelaaja2.Position = paikka; 
     171        pelaaja2.Mass = 4.0; 
     172        AddCollisionHandler(pelaaja2, "pahis", tormaapahikseen); 
     173        pelaaja2.Image = pelaaja2Kuva; 
     174        pelaaja2.Tag = pelaaja2; 
     175        AddCollisionHandler(pelaaja2, "tahti", TormaaTahteen); 
     176        AddCollisionHandler(pelaaja2, "ovi", TormasiOveen); 
     177        Add(pelaaja2); 
     178    } 
     179 
     180    void tormaapahikseen(PhysicsObject pelaaja, PhysicsObject kohde) 
     181    { 
     182        pelaaja.Destroy(); 
    71183    } 
    72184 
     
    75187        pelaaja1 = new PlatformCharacter(leveys, korkeus); 
    76188        pelaaja1.Position = paikka; 
     189        AddCollisionHandler(pelaaja1, "pahis", tormaapahikseen);  
    77190        pelaaja1.Mass = 4.0; 
    78191        pelaaja1.Image = pelaajanKuva; 
    79192        AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 
     193        AddCollisionHandler(pelaaja1, "ovi", TormasiOveen); 
    80194        Add(pelaaja1); 
     195    } 
     196 
     197    
     198    void LisaaOvi(Vector paikka, double leveys, double korkeus) 
     199    { 
     200        ovi = PhysicsObject.CreateStaticObject (leveys, korkeus); 
     201        ovi.Position = paikka; 
     202        ovi.Image = ovenkuva; 
     203        ovi.Tag = "ovi"; 
     204        Add(ovi); 
     205 
    81206    } 
    82207 
     
    90215        Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
    91216 
     217        Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja2, -nopeus); 
     218        Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja2, nopeus); 
     219        Keyboard.Listen(Key.W, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja2, hyppyNopeus); 
     220 
    92221        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
    93222 
     
    116245    } 
    117246} 
     247 
     248class PeliHahmo : PhysicsObject 
     249{ 
     250    public int Elamat { get; set; } 
     251    public Vector RespausKoordinaatit { get; set; } 
     252 
     253    public PeliHahmo(double leveys, double korkeus) 
     254        : base(leveys, korkeus) 
     255    { 
     256         
     257         
     258    } 
     259} 
Note: See TracChangeset for help on using the changeset viewer.