Ignore:
Timestamp:
2012-06-15 12:35:49 (7 years ago)
Author:
mijoliim
Message:

Talletus.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2012/24/MikkoL/JormaKalevi/JormaKalevi/JormaKalevi/JormaKalevi.cs

    r3043 r3137  
    6767    Image rastiKuva = LoadImage("rasti"); 
    6868    Image sydanKuva = LoadImage("sydan"); 
    69  
    70     //TODO: Musiikit 
     69    Image lisariKuva = LoadImage("lisari"); 
    7170 
    7271    //TODO: Aaniefektit 
     
    8079    { 
    8180        SetWindowSize(720, 720, false); 
     81        MediaPlayer.Volume = 0.5; 
     82        MediaPlayer.IsRepeating = true; 
     83        MediaPlayer.Play("New-Type Airport"); 
    8284        alkuvalikko(); 
    8385    } 
     
    187189        Gravity = new Vector(0, -240); 
    188190 
    189         luoKentta("debug"); 
     191        luoKentta("kentta1", Color.DarkBlue, Color.Blue); 
    190192        lisaaNappaimet(); 
    191193        lisaaLaskuri(); 
     
    196198        Camera.StayInLevel = true; 
    197199    } 
    198     void luoKentta(string level) 
     200    void luoKentta(string level, Color vari1, Color vari2) 
    199201    { 
    200202        TileMap kentta = TileMap.FromLevelAsset(level); 
    201         kentta.SetTileMethod('#', lisaaTaso); 
     203        kentta.SetTileMethod('#', lisaaTasoVihr); 
     204        kentta.SetTileMethod('R', lisaaTasoRusk); 
     205        kentta.SetTileMethod('G', lisaaTasoHarm); 
    202206        kentta.SetTileMethod('^', lisaaPiikki1); 
    203207        kentta.SetTileMethod('V', lisaaPiikki2); 
     
    211215        kentta.SetTileMethod('>', nuoliTykkiOikea); 
    212216        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    213         Level.CreateBorders(); 
    214         Level.Background.CreateGradient(Color.DarkCyan, Color.Blue); 
     217        Level.CreateRightBorder(); 
     218        Level.CreateLeftBorder(); 
     219        Level.CreateBottomBorder(); 
     220        Level.CreateTopBorder(); 
     221        Level.Background.CreateGradient(vari1, vari2); 
    215222    } 
    216223    void kentanLataus() 
     
    221228 
    222229        lisaaLaskuri(); 
    223  
    224         if (kentanNumero == 1) luoKentta("debug"); 
    225         else if (kentanNumero == 2) luoKentta("debug2"); 
    226         else if (kentanNumero == 3) luoKentta("debug3"); 
     230        MediaPlayer.Play("New-Type Airport"); 
     231 
     232        if (kentanNumero == 1) luoKentta("kentta1", Color.DarkBlue, Color.Blue); 
     233        else if (kentanNumero == 2) luoKentta("kentta2", Color.Black, Color.DarkGray); 
     234        else if (kentanNumero == 3) luoKentta("kentta3", Color.DarkBlue, Color.DarkBlue); 
    227235        lisaaNappaimet(); 
    228236 
     
    233241    void maalissa(PhysicsObject maali, PhysicsObject kohde) 
    234242    { 
    235         if (kohde.Tag.ToString() == "") 
    236         { 
    237             kentanNumero = kentanNumero + 1; 
    238             kohde.Destroy(); 
    239             Timer.SingleShot(2, kentanLataus); 
    240         } 
     243            maali.Destroy(); 
     244            kentanNumero++; 
     245            kentanLataus(); 
    241246    } 
    242247 
    243248    //Tasot 
    244     void lisaaTaso(Vector paikka, double leveys, double korkeus) 
    245     { 
    246         luoPerusTaso(paikka, leveys, korkeus, "taso", null); 
     249    void lisaaTasoVihr(Vector paikka, double leveys, double korkeus) 
     250    { 
     251        luoPerusTaso(paikka, leveys, korkeus, "taso", null, Color.Green); 
     252    } 
     253    void lisaaTasoRusk(Vector paikka, double leveys, double korkeus) 
     254    { 
     255        luoPerusTaso(paikka, leveys, korkeus, "taso", null, Color.Brown); 
     256    } 
     257    void lisaaTasoHarm(Vector paikka, double leveys, double korkeus) 
     258    { 
     259        luoPerusTaso(paikka, leveys, korkeus, "taso", null, Color.Gray); 
    247260    } 
    248261    void tippuvaTaso(Vector paikka, double leveys, double korkeus) 
     
    258271        luoLiikkuvaTaso(paikka, leveys, korkeus, "liikkuvaTaso2", 0, 15, null); 
    259272    } 
     273    void luoLiikkuvaTaso(Vector paikka, double leveys, double korkeus, string tag, double x, double y, Image kuva) 
     274    { 
     275        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     276        taso.Position = paikka; 
     277        taso.Color = Color.DarkGray; 
     278        taso.Image = kuva; 
     279        taso.Tag = tag; 
     280        Add(taso); 
     281        taso.Velocity = new Vector(x, y); 
     282        Timer ajastin = new Timer(); 
     283        ajastin.Interval = 2.1; 
     284        ajastin.Timeout += delegate { tasonLiikkuminen(taso, x, y); }; 
     285        ajastin.Start(); 
     286    } //Paljon parametreja :O 
     287    void luoPerusTaso(Vector paikka, double leveys, double korkeus, string tag, Image kuva, Color vari) 
     288    { 
     289        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     290        taso.Position = paikka; 
     291        taso.Color = vari; 
     292        taso.Image = kuva; 
     293        taso.Tag = tag; 
     294        Add(taso); 
     295    } 
     296    void luoTippuvaTaso(Vector paikka, double leveys, double korkeus, string tag, Image kuva) 
     297    { 
     298        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     299        taso.Position = paikka; 
     300        taso.Color = Color.Black; 
     301        taso.Image = kuva; 
     302        AddCollisionHandler(taso, tippuvaTasoTormays); 
     303        taso.Tag = tag; 
     304        Add(taso, -1); 
     305    } 
    260306    void maali(Vector paikka, double leveys, double korkeus) 
    261307    { 
    262         PhysicsObject maali = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     308        PhysicsObject maali = new PhysicsObject(leveys, korkeus); 
     309        maali.Color = Color.Transparent; 
    263310        maali.Position = paikka; 
    264         maali.Color = Color.White; 
    265311        maali.Tag = "maali"; 
    266         AddCollisionHandler(maali, maalissa); 
     312        AddCollisionHandler(maali,"",maalissa); 
    267313        Add(maali); 
    268314    } 
     
    308354            Vector ammusSuunta = new Vector(100, 0); 
    309355 
    310             if (tykki.X <= jorma.X && tykki.X - 8*9 <= jorma.X && tykki.Top >= jorma.Y && tykki.Bottom <= jorma.Y) 
     356            if (tykki.X <= jorma.X && tykki.X + 8*9 >= jorma.X && tykki.Top >= jorma.Y && tykki.Bottom <= jorma.Y) 
    311357            { 
    312358                luoVihuAmmus(ammusSuunta, tykki); 
     
    363409        lisari.IgnoresCollisionResponse = true; 
    364410        lisari.Position = paikka; 
    365         lisari.Color = Color.LightGreen; 
     411        lisari.Image = lisariKuva; 
    366412        lisari.Tag = "1-Up"; 
    367413        AddCollisionHandler(lisari, lisarinSaanti); 
     
    430476        //Aseen ohjaus 
    431477        Keyboard.Listen(Key.X, ButtonState.Pressed, Ammu, "Ammu"); 
     478        Keyboard.Listen(Key.Up, ButtonState.Down, MuutaAseenSuunta, "Tähtää ylös", new Vector(0, 1)); 
     479        Keyboard.Listen(Key.Down, ButtonState.Down, MuutaAseenSuunta, "Tähtää alas", new Vector(0, -1)); 
    432480        Keyboard.Listen(Key.Left, ButtonState.Down, MuutaAseenSuunta, "Tähtää vasemmalle", new Vector(-1, 0)); 
    433         Keyboard.Listen(Key.Down, ButtonState.Down, MuutaAseenSuunta, "Tähtää alas", new Vector(0, -1)); 
    434         Keyboard.Listen(Key.Up, ButtonState.Down, MuutaAseenSuunta, "Tähtää ylös", new Vector(0, 1)); 
    435481        Keyboard.Listen(Key.Right, ButtonState.Down, MuutaAseenSuunta, "Tähtää oikealle", new Vector(1, 0)); 
    436482 
     
    450496        ControllerOne.Listen(Button.A, ButtonState.Pressed, hyppaa, "Hyppää", jorma, hyppyNopeus); 
    451497        ControllerOne.Listen(Button.B, ButtonState.Pressed, Ammu, "Ammu"); 
     498        ControllerOne.Listen(Button.DPadUp, ButtonState.Down, MuutaAseenSuunta, "Tähtää ylös", new Vector(0, 1)); 
     499        ControllerOne.Listen(Button.DPadDown, ButtonState.Down, MuutaAseenSuunta, "Tähtää alas", new Vector(0, -1)); 
    452500        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, MuutaAseenSuunta, "Tähtää vasemmalle", new Vector(-1, 0)); 
    453501        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, MuutaAseenSuunta, "Tähtää oikealle", new Vector(1, 0)); 
    454         ControllerOne.Listen(Button.DPadUp, ButtonState.Down, MuutaAseenSuunta, "Tähtää ylös", new Vector(0, 1)); 
    455         ControllerOne.Listen(Button.DPadDown, ButtonState.Down, MuutaAseenSuunta, "Tähtää alas", new Vector(0, -1)); 
     502        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, pelaajanSuunta, null, "x"); 
     503        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, pelaajanSuunta, null, "x"); 
     504        ControllerOne.Listen(Button.DPadUp, ButtonState.Down, pelaajanSuunta, null, "ylos"); 
     505        ControllerOne.Listen(Button.DPadDown, ButtonState.Down, pelaajanSuunta, null, "alas"); 
    456506 
    457507        ControllerOne.Listen(Button.LeftStick, ButtonState.Pressed, reset, "Reset"); 
     
    463513    void hyppaa(PlatformCharacter hahmo, double nopeus) 
    464514    { 
    465         hahmo.Jump(nopeus); 
     515        bool hyppy = hahmo.Jump(nopeus); 
     516        if (hyppy == true) hyppyAani.Play(); 
    466517    } 
    467518    void reset() 
     
    471522    void kuolema() 
    472523    { 
     524        MediaPlayer.Stop(); 
    473525        ControllerOne.Vibrate(10, 10, 10, 10, 0.3); 
    474526 
     
    498550        kuolinAnimaatio(new Vector(jorma.Position.X + 10, jorma.Position.Y - 10), new Vector(20, -20)); 
    499551    } 
     552    void kuolinAnimaatio(Vector paikka, Vector nopeus) 
     553    { 
     554        PhysicsObject pallo = PhysicsObject.CreateStaticObject(7, 7, Shape.Circle); 
     555        pallo.Position = paikka; 
     556        pallo.Velocity = nopeus; 
     557        pallo.Color = Color.White; 
     558        pallo.Tag = "kuolinAnimaatio"; 
     559        Timer ajastin = new Timer(); 
     560        ajastin.Interval = 0.001; 
     561        ajastin.Timeout += delegate { kuolinAnimaatio2(pallo); }; 
     562        ajastin.Start(); 
     563        Add(pallo, 3); 
     564    } 
     565    void kuolinAnimaatio2(PhysicsObject pallo) 
     566    { 
     567        if (pallo.Color == Color.White) pallo.Color = Color.Transparent; 
     568        else if (pallo.Color == Color.Transparent) pallo.Color = Color.White; 
     569    } 
    500570    void kasittelePelaajanTormays(PhysicsObject hahmo, PhysicsObject kohde) 
    501571    { 
     
    541611        taso.Velocity = new Vector(0, y); 
    542612 
    543     } 
    544  
    545     //Objektien (ei tappava) luonti 
    546     void luoLiikkuvaTaso(Vector paikka, double leveys, double korkeus, string tag, double x, double y, Image kuva) 
    547     { 
    548         PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    549         taso.Position = paikka; 
    550         taso.Color = Color.DarkGray; 
    551         taso.Image = kuva; 
    552         taso.Tag = tag; 
    553         Add(taso); 
    554         taso.Velocity = new Vector(x, y); 
    555         Timer ajastin = new Timer(); 
    556         ajastin.Interval = 2.1; 
    557         ajastin.Timeout += delegate { tasonLiikkuminen(taso, x, y); }; 
    558         ajastin.Start(); 
    559     } //Paljon parametreja :O 
    560     void luoPerusTaso(Vector paikka, double leveys, double korkeus, string tag, Image kuva) 
    561     { 
    562         PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    563         taso.Position = paikka; 
    564         taso.Color = Color.Green; 
    565         taso.Image = kuva; 
    566         taso.Tag = tag; 
    567         Add(taso); 
    568     } 
    569     void luoTippuvaTaso(Vector paikka, double leveys, double korkeus, string tag, Image kuva) 
    570     { 
    571         PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    572         taso.Position = paikka; 
    573         taso.Color = Color.Black; 
    574         taso.Image = kuva; 
    575         AddCollisionHandler(taso, tippuvaTasoTormays); 
    576         taso.Tag = tag; 
    577         Add(taso, -1); 
    578     } 
    579     void kuolinAnimaatio(Vector paikka, Vector nopeus) 
    580     { 
    581         PhysicsObject pallo = PhysicsObject.CreateStaticObject(7, 7, Shape.Circle); 
    582         pallo.Position = paikka; 
    583         pallo.Velocity = nopeus; 
    584         pallo.Color = Color.White; 
    585         Timer ajastin = new Timer(); 
    586         ajastin.Interval = 0.001; 
    587         ajastin.Timeout += delegate { kuolinAnimaatio2(pallo); }; 
    588         ajastin.Start(); 
    589         Add(pallo, 3); 
    590     } 
    591     void kuolinAnimaatio2(PhysicsObject pallo) 
    592     { 
    593         if (pallo.Color == Color.White) pallo.Color = Color.Transparent; 
    594         else if (pallo.Color == Color.Transparent) pallo.Color = Color.White; 
    595613    } 
    596614 
Note: See TracChangeset for help on using the changeset viewer.