Ignore:
Timestamp:
2018-06-12 14:09:31 (16 months ago)
Author:
vajumono
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2018/24/ValtteriM/DeathrunDDC/DeathrunDDC/DeathrunDDC.cs

    r9744 r9748  
    1919    Image pelaajan3Kuva = LoadImage("p3"); 
    2020    Image pelaajan4Kuva = LoadImage("p4"); 
     21    Image kytkimenkuva = LoadImage("nappi"); 
     22    Image laavankuva = LoadImage("lava"); 
    2123    Key[,] pelaajienNappaimet; 
    2224 
    23  
    24      
    25  
     25    void AloitaAlusta() 
     26    { 
     27        ClearAll(); 
     28        LisaaNappaimet(); 
     29        LuoKentta(); 
     30         
     31        
     32    } 
     33    // 
    2634 
    2735 
    2836    public override void Begin() 
    2937    { 
    30         Gravity = new Vector(0, -1000); 
     38         
    3139 
    3240        LisaaNappaimet(); 
     
    4149    void LuoKentta() 
    4250    { 
     51        Gravity = new Vector(0, -1000); 
    4352        pelaaja1 = new PlatformCharacter(10, 10); 
    4453        TileMap kentta = TileMap.FromLevelAsset("kentta1"); 
    4554        kentta.SetTileMethod('#', LisaaTaso); 
    46         kentta.SetTileMethod('2', LisaaPelaaja1); 
    47         kentta.SetTileMethod('1', LisaaPelaaja2); 
     55        kentta.SetTileMethod('1', LisaaPelaaja1); 
     56        kentta.SetTileMethod('2', LisaaPelaaja2); 
    4857        kentta.SetTileMethod('3', LisaaPelaaja3); 
    4958        kentta.SetTileMethod('4', LisaaPelaaja4); 
     59        kentta.SetTileMethod('Y', SiirraPelaaja); 
     60        kentta.SetTileMethod('t', lisaaansa); 
     61        kentta.SetTileMethod('k', lisaakytkin); 
     62        kentta.SetTileMethod('l', lisaalaava); 
    5063        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    5164        Level.CreateBorders(); 
    5265        Level.Background.CreateGradient(Color.White, Color.SkyBlue); 
    5366        Camera.Follow(pelaaja1, pelaaja2, pelaaja3, pelaaja4); 
     67        Camera.Zoom(1.5); 
    5468    } 
    5569 
     
    7791        pelaaja4 = LisaaPelaaja(paikka, leveys, korkeus, pelaajan4Kuva, 4); 
    7892    } 
     93    void SiirraPelaaja(Vector paikka, double leveys, double korkeus) 
     94    { 
     95        PlatformCharacter pelaaja = RandomGen.SelectOne(pelaaja1, pelaaja2, pelaaja3, pelaaja4); 
     96        pelaaja.Position = paikka; 
     97    } 
     98    void lisaaansa(Vector paikka, double leveys, double korkeus) 
     99    { 
     100        PhysicsObject ansa = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     101        ansa.Position = paikka; 
     102        Add(ansa); 
     103        ansa.Tag = "ansa"; 
    79104 
    80  
     105 } 
     106    void lisaakytkin(Vector paikka, double leveys, double korkeus) 
     107    { 
     108        PhysicsObject kytkin = PhysicsObject.CreateStaticObject(leveys, korkeus*0.8); 
     109        kytkin.Position = paikka; 
     110        Add(kytkin); 
     111        kytkin.Image = kytkimenkuva; 
     112        kytkin.Tag = "kytkin"; 
     113    } 
     114    void lisaalaava(Vector paikka, double leveys, double korkeus) 
     115    { 
     116        PhysicsObject laava = PhysicsObject.CreateStaticObject(leveys, korkeus * 0.8); 
     117        laava.Position = paikka; 
     118        Add(laava); 
     119        laava.Image = laavankuva; 
     120        laava.Tag = "laava"; 
     121    } 
    81122    PlatformCharacter LisaaPelaaja( Vector paikka, double leveys, double korkeus, Image kuva, int pelaajaNro) 
    82123    { 
     124 
    83125        PlatformCharacter pelaaja = new PlatformCharacter(leveys, korkeus); 
    84126        pelaaja.Position = paikka; 
     
    87129        Add(pelaaja); 
    88130        LisaaPelaajanNappaimet(pelaajaNro, pelaaja); 
     131        pelaaja.Tag = "pelaaja"; 
     132        AddCollisionHandler(pelaaja, "kytkin", PelaajaOsuiKytkimeen); 
     133        AddCollisionHandler(pelaaja, "laava", Osuilaavaan); 
    89134        return pelaaja; 
     135    } 
     136    void PelaajaOsuiKytkimeen(PhysicsObject pelaaja, PhysicsObject kytkin) 
     137    { 
     138        foreach (var ansa in GetObjectsWithTag("ansa")) 
     139        { 
     140            Vector aloituspaikka = ansa.Position; 
     141            ansa.Destroy();           
     142            Timer.SingleShot(3.0, 
     143  delegate { lisaaansa(aloituspaikka, RUUDUN_KOKO, RUUDUN_KOKO); } 
     144); 
     145 
     146        } 
     147    } 
     148    void Osuilaavaan(PhysicsObject pelaaja, PhysicsObject laava) 
     149    { 
     150        pelaaja.Destroy(); 
     151 
     152      
    90153    } 
    91154 
     
    94157        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    95158        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    96  
     159        Keyboard.Listen(Key.F2, ButtonState.Pressed, AloitaAlusta, "reset"); 
    97160 
    98161        LuoNappaintaulukko(); 
Note: See TracChangeset for help on using the changeset viewer.