Changeset 4738 for 2013


Ignore:
Timestamp:
2013-07-26 12:29:10 (6 years ago)
Author:
hesasnel
Message:
 
Location:
2013/27/HenrikS/Masa Majava/MasaMajavanMaailma/MasaMajavanMaailma
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • 2013/27/HenrikS/Masa Majava/MasaMajavanMaailma/MasaMajavanMaailma/Debug.txt

    r4501 r4738  
    1      O          O 
    2      O          O 
    3      O          O 
    4      O          O 
    5      O          O            EEEEE 
    6      O          O 
    7      O          O      J    
    8      O          O                                           O 
    9      O    K     O                                           O 
    10      O          O                                           O 
    11      O          O                                           O 
    12      O          O                                           O       I              I 
    13                                                             O 
    14    M                   L                      m            O               m 
    15                                                             O 
     1     S          S 
     2     S          S 
     3     S          S 
     4     S          S 
     5     S          S            EEEEE 
     6     S          S 
     7     S          S      J    * 
     8     S          S                                           S 
     9     S    K     S                                           S 
     10     S          S                                           S 
     11     S          S                                           S 
     12     S          S                                           S       I              I 
     13                                                            S 
     14  M                   L     l  l               m            S               m 
     15                                                            S 
    1616OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 
  • 2013/27/HenrikS/Masa Majava/MasaMajavanMaailma/MasaMajavanMaailma/Peli.cs

    r4501 r4738  
    1111    public Timer HyokkaysTimer; 
    1212 
    13     public Loukku( double leveys, double korkeus ) 
     13    public Loukku(double leveys, double korkeus) 
    1414        : base(leveys, korkeus) 
    1515    { 
     
    2828    const double hyppyNopeus = 1691; 
    2929    const double lentonopeus = 21400; 
     30    const double leijuntanopeus = 1000; 
    3031    const int RUUDUN_KOKO = 40; 
    31     bool onkoJetPak = false; 
     32    bool jetPakKeratty = false; 
     33    bool onkoAse = false; 
    3234 
    3335    PlatformCharacter pelaaja1; 
     
    7072    Image isoloukkuhyokkausvasen = LoadImage("IsoLoukkuHyökkäysVasen"); 
    7173    Image loukkutör = LoadImage("PieniLoukkuTör"); 
    72       
     74 
    7375    Image multaseina = LoadImage("Multa seinä"); 
    7476    Image lopetusnaytto = LoadImage("Loppu näyttö"); 
     
    8183    // Image kyltti = LoadImage("Kyltti"); 
    8284 
     85    ListenContext jetPackOhjaimet; 
     86    ListenContext normaaliOhjaus; 
     87 
    8388    ExplosionSystem hajotus; 
    8489    ExplosionSystem hajotus2; 
    8590 
    8691    bool masaKatsooOikealle = true; 
    87     bool masaLyo = false; 
    8892    bool onkoilmassa = false; 
    8993 
     
    9498 
    9599    public override void Begin() 
     100    { 
     101        SetWindowSize(1024, 768, true); 
     102        UusiPeli(); 
     103    } 
     104 
     105    public void UusiPeli() 
    96106    { 
    97107        Elama = new DoubleMeter(10); 
     
    101111        lisaaKeppimittari(); 
    102112        lisaaElamamittari(); 
    103        
     113 
    104114        hajotus = new ExplosionSystem(LoadImage("Lentävälauta"), 50); 
    105115 
     
    114124    protected override void Update(Time time) 
    115125    { 
    116  
    117          
    118          
    119  
    120             base.Update(time); 
    121  
    122             if (kepit.Value == 100) 
     126        base.Update(time); 
     127 
     128        if (kepit.Value == 100) 
     129        { 
     130 
     131            Elama.MaxValue += 5; 
     132            Elama.Value = Elama.MaxValue; 
     133            kepit.Value = 0; 
     134        } 
     135 
     136 
     137        if (!pelaaja1.IsDestroyed && pelaaja1 != null) 
     138        { 
     139            if (pelaaja1.Top < Level.Bottom) 
    123140            { 
    124  
    125                 Elama.MaxValue += 5; 
    126                 Elama.Value = Elama.MaxValue; 
    127                 kepit.Value = 0; 
     141                pelaaja1.Destroy(); 
     142                UusiPeli(); 
    128143            } 
    129  
    130  
    131             if (!pelaaja1.IsDestroyed && pelaaja1 != null) 
    132             { 
    133                 if (pelaaja1.Top < Level.Bottom) 
    134                 { 
    135                     pelaaja1.Destroy(); 
    136                     Begin(); 
    137                 } 
    138             } 
    139          
    140     } 
    141      
     144        } 
     145 
     146    } 
     147 
    142148    void aloitapeli(int kenttanumero) 
    143149    { 
    144          
     150 
    145151        //ClearAll(); 
    146152        double esMaara = 0; 
     
    182188            luokentta4(); 
    183189        } 
    184         lisaaNappaimet(); 
     190        LisaaNappaimet(); 
     191 
     192        if (jetPakKeratty) 
     193            jetPackOhjaimet.Enable(); 
    185194 
    186195        Camera.Follow(pelaaja1); 
    187196        Camera.ZoomFactor = 1.2; 
    188197        Camera.StayInLevel = true; 
    189  
     198         
    190199    } 
    191200 
     
    198207    } 
    199208 
    200       
     209 
    201210    #region uusi kentänluonti 
    202211 
     
    228237 
    229238    #endregion 
    230  
    231239 
    232240    #region Vanha kentänluonti 
     
    284292        Level.Background.FitToLevel(); 
    285293        Layers[-2].RelativeTransition = new Vector(0.1, 0.1); 
    286          
    287          
     294 
     295 
    288296    } 
    289297 
     
    311319 
    312320        Level.CreateBorders(); 
    313    
     321 
    314322 
    315323 
     
    319327        Level.Background.FitToLevel(); 
    320328        Add(taustakuva, -2); 
    321         
     329 
    322330        Layers[-2].RelativeTransition = new Vector(0.1, 0.1); 
    323331        Add(hajotus); 
     
    365373        Layers[-2].RelativeTransition = new Vector(0.1, 0.1); 
    366374        Add(hajotus); 
    367         Add (hajotus2); 
     375        Add(hajotus2); 
    368376    } 
    369377 
     
    399407        Add(seina, -1); 
    400408    } 
    401      
     409 
    402410    void lisaaJuusto(Vector paikka, double leveys, double korkeus) 
    403411    { 
     
    412420    void lisaakyltti(Vector paikka, double leveys, double korkeus) 
    413421    { 
    414         PhysicsObject kyltti = PhysicsObject.CreateStaticObject(85, 120); 
     422        PhysicsObject kyltti = new PhysicsObject(85, 120); 
     423        kyltti.IgnoresGravity = true; 
    415424        kyltti.IgnoresCollisionResponse = true; 
    416425        kyltti.Image = Kyltti; 
     
    424433    void lisaaESplus(Vector paikka, double leveys, double korkeus) 
    425434    { 
    426         PhysicsObject ESplus = PhysicsObject.CreateStaticObject(90, 90); 
     435        PhysicsObject ESplus = new PhysicsObject(90, 90); 
     436        ESplus.IgnoresGravity = true; 
    427437        ESplus.IgnoresCollisionResponse = true; 
    428438        ESplus.Image = Plussa; 
     
    489499    void lisaaKitara(Vector paikka, double leveys, double korkeus) 
    490500    { 
    491         PhysicsObject kitara = PhysicsObject.CreateStaticObject(65, 120); 
     501        if (onkoAse) 
     502        { 
     503            return; 
     504        } 
     505        PhysicsObject kitara = new PhysicsObject(65, 120); 
     506        kitara.IgnoresGravity = true; 
    492507        kitara.IgnoresCollisionResponse = true; 
    493508        kitara.Image = Kiitara; 
     
    499514    void lisaaTahti(Vector paikka, double leveys, double korkeus) 
    500515    { 
    501         PhysicsObject tahti = PhysicsObject.CreateStaticObject(70, 60); 
     516        PhysicsObject tahti = new PhysicsObject(70, 60); 
     517        tahti.IgnoresGravity = true; 
    502518        tahti.IgnoresCollisionResponse = true; 
    503519        tahti.Shape = Shape.Rectangle; 
     
    536552    void lisaaJetpak(Vector paikka, double leveys, double korkeus) 
    537553    { 
    538         PhysicsObject jetpak = PhysicsObject.CreateStaticObject(65, 90); 
     554        if (jetPakKeratty) 
     555        { 
     556            return; 
     557        } 
     558 
     559        PhysicsObject jetpak = new PhysicsObject(65, 90); 
     560        jetpak.IgnoresGravity = true; 
    539561        jetpak.IgnoresCollisionResponse = true; 
    540562        jetpak.Image = Jetpack; 
     
    542564        jetpak.Position = paikka; 
    543565        Add(jetpak); 
     566 
    544567    } 
    545568 
    546569    void lisaaES(Vector paikka, double leveys, double korkeus) 
    547570    { 
    548         PhysicsObject es = PhysicsObject.CreateStaticObject(40, 80); 
     571        PhysicsObject es = new PhysicsObject(40, 80); 
    549572        es.Image = Polttoaine; 
    550573        es.IgnoresCollisionResponse = true; 
     574        es.IgnoresGravity = true; 
    551575        es.Tag = "ES"; 
    552576        es.Position = paikka; 
     
    585609        AddCollisionHandler(pelaaja1, osuTahteen); 
    586610        AddCollisionHandler(pelaaja1, osuJetpakiin); 
    587         AddCollisionHandler(pelaaja1, "laatikko", osuLaatikkoon); 
    588611        AddCollisionHandler(pelaaja1, osuKitaraan); 
    589612        AddCollisionHandler(pelaaja1, osuMaaliin); 
     
    594617        AddCollisionHandler(pelaaja1, maassa); 
    595618 
    596         
    597         if (onkoJetPak) 
    598         { 
     619 
     620        if (jetPakKeratty) 
     621        { 
     622            //jetPackOhjaimet.Enable(); 
    599623            AddCollisionHandler(pelaaja1, osuES); 
    600624        } 
    601625 
    602  
    603  
    604         AddCollisionHandler(pelaaja1, osuLoukkuun); 
     626        AddCollisionHandler(pelaaja1, "loukku", osuLoukkuun); 
     627        AddCollisionHandler(pelaaja1, "vasenloukku", osuLoukkuun); 
    605628        AddCollisionHandler(pelaaja1, osuIsoonLoukkuun); 
    606629        //pelaaja1.Shape = Shape.Circle; 
     
    609632    } 
    610633 
     634 
    611635    void PelaajanAnimaatiot() 
    612636    { 
     
    615639        pelaaja1.AnimIdle = new Animation(pelaajanKuvaOikea); 
    616640        pelaaja1.AnimIdle.FPS = 1; 
    617     //    pelaaja1.AnimFall = new Animation(pelaajanKuvaOikea); 
    618     //    pelaaja1.AnimFall.FPS = 1; 
     641        //    pelaaja1.AnimFall = new Animation(pelaajanKuvaOikea); 
     642        //    pelaaja1.AnimFall.FPS = 1; 
    619643        pelaaja1.Image = pelaajanKuvaOikea; 
    620644 
    621645        SkipFrame = true; 
    622646 
    623         Image[] lento = new Image[]{Pelaajalentaa}; 
     647        Image[] lento = new Image[] { Pelaajalentaa }; 
    624648 
    625649        LentoAnimaatio = new Animation(lento); 
     
    627651    } 
    628652 
    629     void lisaaNappaimet() 
    630     { 
     653    void VaihdaResoluutio() 
     654    { 
     655        SetWindowSize(1280, 768, true); 
     656    } 
     657 
     658    void LisaaNappaimet() 
     659    { 
     660        jetPackOhjaimet = ControlContext.CreateSubcontext(); 
     661        normaaliOhjaus = ControlContext.CreateSubcontext(); 
     662 
    631663        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    632664        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä"); 
    633665 
    634         Keyboard.Listen(Key.Left, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 
    635         Keyboard.Listen(Key.Right, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus); 
    636         Keyboard.Listen(Key.X, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
    637         if (onkoJetPak) 
    638         { 
    639             Keyboard.Listen(Key.Up, ButtonState.Down, kaytajetpak, "Käyttää Jetpakiä", pelaaja1, lentonopeus); 
    640             Keyboard.Listen(Key.Up, ButtonState.Released, PelaajanAnimaatiot, "Lopettaa lennon"); 
    641  
    642             ControllerOne.Listen(Button.DPadUp, ButtonState.Down, kaytajetpak, "Käyttää Jetpakiä", pelaaja1, lentonopeus); 
    643             ControllerOne.Listen(Button.DPadUp, ButtonState.Released, PelaajanAnimaatiot, "Lopettaa lennon"); 
    644         } 
    645                               
    646         ControllerOne.Listen(Button.X, ButtonState.Pressed, hakkaa, "Hakkaa kitaralla", pelaaja1);                  
    647         ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");                                    
    648         ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus); 
    649         ControllerOne.Listen(Button.DPadRight, ButtonState.Down, liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus); 
    650         ControllerOne.Listen(Button.A, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
     666        Keyboard.Listen(Key.Left, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus).InContext(normaaliOhjaus); 
     667        Keyboard.Listen(Key.Right, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus).InContext(normaaliOhjaus); 
     668        Keyboard.Listen(Key.X, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus).InContext(normaaliOhjaus); 
     669 
     670        Keyboard.Listen(Key.D1, ButtonState.Pressed, VaihdaResoluutio, "Vaihda resoluutio"); 
     671 
     672        //if (jetPakKeratty) 
     673        //{ 
     674 
     675            Keyboard.Listen(Key.X, ButtonState.Down, kaytajetpak, "Käyttää Jetpakiä", pelaaja1, lentonopeus, 0.035).InContext(jetPackOhjaimet); 
     676            Keyboard.Listen(Key.X, ButtonState.Released, PelaajanAnimaatiot, "Lopettaa lennon").InContext(jetPackOhjaimet); 
     677            ControllerOne.Listen(Button.A, ButtonState.Down, kaytajetpak, "Käyttää Jetpakiä", pelaaja1, lentonopeus, 0.035).InContext(jetPackOhjaimet); 
     678            ControllerOne.Listen(Button.A, ButtonState.Released, PelaajanAnimaatiot, "Lopettaa lennon").InContext(jetPackOhjaimet); 
     679 
     680 
     681 
     682        Keyboard.Listen(Key.Space, ButtonState.Pressed, delegate() { pelaaja1.Stop(); }, null).InContext(jetPackOhjaimet); 
     683        ControllerOne.Listen(Button.RightTrigger, ButtonState.Pressed, delegate() { pelaaja1.Stop(); }, null).InContext(jetPackOhjaimet); 
     684        ControllerOne.Listen(Button.RightShoulder, ButtonState.Pressed, delegate() { pelaaja1.Stop(); }, null).InContext(jetPackOhjaimet); 
     685        Keyboard.Listen(Key.Space, ButtonState.Down, leijunta, null, pelaaja1, true).InContext(jetPackOhjaimet); 
     686        ControllerOne.Listen (Button.RightTrigger, ButtonState.Down, leijunta, null, pelaaja1, true).InContext(jetPackOhjaimet); 
     687        ControllerOne.Listen (Button.RightShoulder, ButtonState.Down, leijunta, null, pelaaja1, true).InContext(jetPackOhjaimet); 
     688        Keyboard.Listen(Key.Space, ButtonState.Released, leijunta, null, pelaaja1, false).InContext(jetPackOhjaimet); 
     689        ControllerOne.Listen(Button.RightShoulder, ButtonState.Released, leijunta, null, pelaaja1, false).InContext(jetPackOhjaimet); 
     690        ControllerOne.Listen(Button.RightTrigger, ButtonState.Released, leijunta, null, pelaaja1, false).InContext(jetPackOhjaimet); 
     691 
     692        jetPackOhjaimet.Disable(); 
     693 
     694        //} 
     695 
     696        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
     697        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus).InContext(normaaliOhjaus); 
     698        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus).InContext(normaaliOhjaus); 
     699        ControllerOne.ListenAnalog(AnalogControl.LeftStick, 0.114, liikutaTatilla, "Pelaaja liikkuu", pelaaja1, nopeus).InContext(normaaliOhjaus); 
     700        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus).InContext(normaaliOhjaus); 
     701         
     702        ControllerOne.Listen(Button.A, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus).InContext(normaaliOhjaus); 
     703 
     704        normaaliOhjaus.Enable(); 
     705 
     706        if ( onkoAse ) 
     707        { 
     708            asetaAseKontrollit(); 
     709        } 
    651710    } 
    652711 
     
    654713    { 
    655714        ESmittari = LuoESmittari(600, 500, esMaara); 
    656         Label ES = new Label("ES"); 
     715        Label ES = new Label("Energiajuoma"); 
    657716        ES.X = 300; 
    658717        ES.Y = 380; 
     
    683742    void lisaaKeppimittari() 
    684743    { 
    685          
     744 
    686745        Label klapit = new Label("Klapit"); 
    687746        klapit.X = -300; 
     
    697756    void LuoKeppiMittari() 
    698757    { 
    699          
     758 
    700759        Label keppinaytto = new Label(); 
    701760        keppinaytto.BindTo(kepit); 
     
    735794    } 
    736795 
    737     void kaytajetpak(PlatformCharacter hahmo, double nopeus) 
    738     { 
    739         if (ESmittari.Value > 0.0) 
     796    bool IsDpadUpDown() 
     797    { 
     798        return Microsoft.Xna.Framework.Input.GamePad.GetState(Microsoft.Xna.Framework.PlayerIndex.One).IsButtonDown(Microsoft.Xna.Framework.Input.Buttons.DPadUp); 
     799    } 
     800 
     801    void kaytajetpak(PlatformCharacter hahmo, double nopeus, double mittariVahennys) 
     802    { 
     803        if (ESmittari.Value > 0.0 && (Keyboard.GetKeyState(Key.Up) == ButtonState.Down || IsDpadUpDown() || ControllerOne.LeftThumbDirection.Y >= 0.15)) 
    740804        { 
    741805            hahmo.Push(new Vector(0, nopeus)); 
    742             ESmittari.Value -= 0.035; 
     806            ESmittari.Value -= mittariVahennys; 
    743807            pelaaja1.AnimWalk = null; 
    744808            pelaaja1.AnimIdle = null; 
    745809            pelaaja1.PlayAnimation(LentoAnimaatio); 
    746         } 
    747     } 
     810            onkoilmassa = true; 
     811        } 
     812       
     813    } 
     814 
     815    void leijunta(PlatformCharacter hahmo, bool leijuuko) 
     816    { 
     817        if (ESmittari.Value > 0.0) 
     818        { 
     819            pelaaja1.AnimWalk = null; 
     820            pelaaja1.AnimIdle = null; 
     821            pelaaja1.PlayAnimation(LentoAnimaatio); 
     822            ESmittari.Value -= 0.02; 
     823            pelaaja1.IgnoresGravity = leijuuko; 
     824        } 
     825        else 
     826        { 
     827            pelaaja1.IgnoresGravity = false; 
     828        } 
     829    } 
     830 
     831    PhysicsObject ase; 
    748832 
    749833    void hakkaa(PlatformCharacter hahmo) 
    750834    { 
    751         pelaaja1.Width = 170; 
    752  
    753         pelaaja1.AnimIdle = null; 
    754         pelaaja1.AnimWalk = null; 
    755  
    756         //pelaaja1. 
     835       // pelaaja1.AnimIdle = null; 
     836       // pelaaja1.AnimWalk = null; 
     837        ase = new PhysicsObject(75, 35); 
     838        ase.IgnoresCollisionResponse = true; 
     839        ase.Y = pelaaja1.Y; 
     840        if (Keyboard.GetKeyState(Key.Up) == ButtonState.Down || IsDpadUpDown()|| ControllerOne.LeftThumbDirection.Y >= 0.18) 
     841        { 
     842 
     843            if ( pelaaja1.FacingDirection == Direction.Right)// masaKatsooOikealle) 
     844            { 
     845                ase.X = pelaaja1.X - 75; 
     846 
     847 
     848            } 
     849 
     850            else 
     851            { 
     852                ase.X = pelaaja1.X + 75; 
     853            } 
     854 
     855            ase.IgnoresGravity = true; 
     856            Add(ase); 
     857            AxleJoint liitos = new AxleJoint(pelaaja1, ase, pelaaja1.Position); 
     858            Add(liitos); 
     859            //ase.MomentOfInertia = 10; 
     860 
     861            normaaliOhjaus.Disable(); 
     862            pelaaja1.IgnoresGravity = true;  
     863            pelaaja1.Stop(); 
     864             
     865 
     866  
     867            ase.Hit(new Vector(0, /*ase.MomentOfInertia **/ 500 + pelaaja1.Acceleration.Y)); 
     868            Timer.SingleShot(0.8, toinenAjastinlaukesi); 
     869            Timer.SingleShot(0.875, vielYksAjastinlaukesi); 
     870        } 
     871 
     872        else 
     873        { 
     874 
     875 
     876 
     877            if (masaKatsooOikealle) 
     878            { 
     879                ase.X = pelaaja1.X + 75; 
     880                ase.CanRotate = false; 
     881                Add(ase); 
     882                AxleJoint liitos = new AxleJoint(pelaaja1, ase, pelaaja1.Position); 
     883                Add(liitos); 
     884 
     885                ase.X = pelaaja1.X - 75; 
     886            } 
     887            else 
     888            { 
     889                ase.X = pelaaja1.X - 75; 
     890                ase.CanRotate = false; 
     891                Add(ase); 
     892                AxleJoint liitos = new AxleJoint(pelaaja1, ase, pelaaja1.Position); 
     893                Add(liitos); 
     894 
     895                ase.X = pelaaja1.X + 75; 
     896            } 
     897            Timer.SingleShot(0.11, ajastinlaukesi); 
     898        } 
     899        AddCollisionHandler(ase, "laatikko", osuLaatikkoon); 
     900        AddCollisionHandler(ase, "vasenloukku", hakkaaLoukkua); 
     901        AddCollisionHandler(ase, "loukku", hakkaaLoukkua); 
     902        AddCollisionHandler(ase, "loukkuJumissa", hakkaaLoukkua); 
     903 
     904        Keyboard.Disable(Key.Z); 
     905        ControllerOne.Disable(Button.X); 
     906 
     907 
    757908        if (!onkoilmassa) 
    758909        { 
    759             Keyboard.Disable(Key.Down); 
    760910            Keyboard.Disable(Key.Left); 
    761911            Keyboard.Disable(Key.Right); 
    762             Keyboard.Disable(Key.Space); 
    763             Keyboard.Disable(Key.Up); 
     912            ControllerOne.Disable(Button.DPadRight); 
     913            ControllerOne.Disable(Button.DPadLeft); 
     914            ControllerOne.Disable(AnalogControl.LeftStick); 
     915            ControllerOne.Disable(AnalogControl.RightStick); 
     916 
    764917 
    765918            pelaaja1.Velocity = new Vector(0, 0); 
     
    769922        { 
    770923            //pelaaja1.Image = masahakkaaVasen; 
    771             pelaaja1.Image = masahakkaaOikea; 
    772             pelaaja1.Shape = Shape.FromImage(masahakkaaVasen); 
     924           // pelaaja1.Image = masahakkaaOikea; 
     925            // pelaaja1.Shape = Shape.FromImage(masahakkaaVasen); 
    773926        } 
    774927        else 
    775928        { 
    776             pelaaja1.Image = masahakkaaOikea; 
    777             pelaaja1.Shape = Shape.FromImage(masahakkaaOikea); 
    778         } 
    779  
    780  
    781         Timer.SingleShot(0.11, ajastinlaukesi); 
     929          //  pelaaja1.Image = masahakkaaOikea; 
     930            // pelaaja1.Shape = Shape.FromImage(masahakkaaOikea); 
     931        } 
     932    } 
     933 
     934    void asetaAseKontrollit () 
     935    { 
     936        Keyboard.Listen(Key.Z, ButtonState.Pressed, hakkaa, "Hakkaa kitaralla", pelaaja1); 
     937        ControllerOne.Listen(Button.X, ButtonState.Pressed, hakkaa, "Hakkaa kitaralla", pelaaja1); 
    782938    } 
    783939 
     
    786942        if (pelaaja1.FacingDirection == Direction.Left) 
    787943        { 
    788             pelaaja1.Image = masahakkaaOikeaPAM; 
    789             pelaaja1.Shape = Shape.FromImage(masahakkaaVasenTUM); 
     944           // pelaaja1.Image = masahakkaaOikeaPAM; 
     945 
    790946        } 
    791947        else 
    792948        { 
    793             pelaaja1.Image = masahakkaaOikeaPAM; 
    794             pelaaja1.Shape = Shape.FromImage(masahakkaaOikeaPAM); 
    795         } 
    796  
    797         masaLyo = true; 
     949 
     950           // pelaaja1.Image = masahakkaaOikeaPAM; 
     951 
     952        } 
     953 
     954 
    798955        Timer.SingleShot(0.06, toinenAjastinlaukesi); 
    799956        Timer.SingleShot(0.135, vielYksAjastinlaukesi); 
    800957    } 
    801      
     958 
    802959    void toinenAjastinlaukesi() 
    803960    { 
     961 
     962        ase.Destroy(); 
    804963        PelaajanAnimaatiot(); 
    805         pelaaja1.Width = 75; 
    806         masaLyo = false; 
    807  
    808         if (masaKatsooOikealle) 
    809         { 
    810             pelaaja1.Shape = Shape.FromImage(pelaajanKuvaOikea); 
    811         } 
    812         else 
    813         { 
    814             pelaaja1.Shape = Shape.FromImage(pelaajanKuvaVasen); 
    815         } 
     964        pelaaja1.IgnoresGravity = false; 
     965        normaaliOhjaus.Enable(); 
     966 
     967 
     968 
     969 
     970        /*  if (masaKatsooOikealle) 
     971          { 
     972              pelaaja1.Shape = Shape.FromImage(pelaajanKuvaOikea); 
     973          } 
     974          else 
     975          { 
     976              pelaaja1.Shape = Shape.FromImage(pelaajanKuvaVasen); 
     977        }*/ 
     978 
    816979    } 
    817980 
    818981    void vielYksAjastinlaukesi() 
    819 { 
    820     Keyboard.EnableAll(); 
    821 } 
     982    { 
     983        Keyboard.EnableAll(); 
     984        ControllerOne.EnableAll(); 
     985    } 
     986 
     987    void liikutaTatilla(AnalogState tatinTila, PlatformCharacter hahmo, double nopeus) 
     988    { 
     989        liikuta(hahmo, tatinTila.StateVector.X * nopeus); 
     990    } 
    822991 
    823992    void liikuta(PlatformCharacter hahmo, double nopeus) 
     
    830999                masaKatsooOikealle = true; 
    8311000 
    832             if (Liikeesto != Math.Sign(nopeus))  
     1001            PhysicsObject seina = etsiviereinenseina(hahmo); 
     1002            PhysicsObject lattia = etsiLattia(hahmo); 
     1003 
     1004            if (seina != null && lattia == null) 
     1005            { 
     1006                if (masaKatsooOikealle) 
     1007                { 
     1008                    masaKatsooOikealle = false; 
     1009                    hahmo.Turn(Direction.Left); 
     1010                } 
     1011                else 
     1012                { 
     1013                    masaKatsooOikealle = true; 
     1014                    hahmo.Turn(Direction.Right); 
     1015                } 
     1016            } 
     1017            if (Liikeesto != Math.Sign(nopeus)) 
    8331018            { 
    8341019                if (Liikeesto == 1) 
     
    8461031                } 
    8471032            } 
    848              
     1033 
    8491034        } 
    8501035        else SkipFrame = false; 
     
    8581043        } 
    8591044    } 
    860    //IntMeter hyppyvoima = new IntMeter(18); 
    861     void hyppaa(PlatformCharacter hahmo, double nopeus) 
     1045    //IntMeter hyppyvoima = new IntMeter(18); 
     1046    void  hyppaa(PlatformCharacter hahmo, double nopeus) 
    8621047    { 
    8631048 
     
    8691054            if (seina != null) 
    8701055            { 
     1056               
    8711057                Timer ajastin = new Timer(); 
    8721058                Timer ajastin2 = new Timer(); 
     
    8801066                }; 
    8811067                ajastin.Start(); 
     1068                onkoilmassa = true; 
    8821069                ajastin2.Start(); 
    883                 Timer.SingleShot(0.25, delegate() { 
    884                     ajastin.Stop();  
    885                      
     1070                Timer.SingleShot(0.25, delegate() 
     1071                { 
     1072                    ajastin.Stop(); 
     1073 
    8861074                }); 
    8871075                Timer.SingleShot(0.62, delegate() 
    8881076                { 
     1077 
    8891078                    Liikeesto = 0; 
    8901079                }); 
     
    8991088 
    9001089        //tätä ei ehkä tarvi: 
    901      //   if (hahmo.Jump(nopeus)) hyppyvoima = new IntMeter(18); 
    902        // else if (hyppyvoima.Value-- > 0) hahmo.ForceJump(35); 
    903     } 
    904  
     1090        //   if (hahmo.Jump(nopeus)) hyppyvoima = new IntMeter(18); 
     1091        // else if (hyppyvoima.Value-- > 0) hahmo.ForceJump(35); 
     1092    } 
     1093 
     1094    PhysicsObject etsiLattia(PlatformCharacter hahmo) 
     1095    { 
     1096        return (PhysicsObject)GetFirstObject(olio => 
     1097            ( 
     1098                (Math.Abs(olio.Y - (hahmo.Y - hahmo.Height / 2 - 10)) < hahmo.Height) && 
     1099                (Math.Abs(olio.X - hahmo.X) < olio.Width / 2) && 
     1100                (olio is PhysicsObject) && 
     1101                (double.IsInfinity(((PhysicsObject)olio).Mass)) 
     1102            ) 
     1103        ); 
     1104    } 
    9051105    PhysicsObject etsiviereinenseina(PlatformCharacter hahmo) 
    9061106    { 
     
    9091109            ( 
    9101110                (Math.Abs(olio.Y - hahmo.Y) < hahmo.Height) && 
    911                 (Math.Abs(olio.X - (hahmo.X + etaisyys)) < olio.Width / 2 ) && 
     1111                (Math.Abs(olio.X - (hahmo.X + etaisyys)) < olio.Width / 2) && 
    9121112                (olio is PhysicsObject) && 
    9131113                (double.IsInfinity(((PhysicsObject)olio).Mass)) 
     
    9161116    } 
    9171117 
     1118 
    9181119    void maassa(PhysicsObject hahmo, PhysicsObject kohde) 
    9191120    { 
    9201121        if 
    921         (kohde.Y < pelaaja1.Y) 
     1122        (kohde.Y < pelaaja1.Y && double.IsInfinity(kohde.Mass)) 
    9221123        { 
    9231124            onkoilmassa = false; 
     
    9481149    void isoVihollishyokkaus(Loukku isoLoukku) 
    9491150    { 
    950         if ( isoLoukku.X - pelaaja1.X > 0 && isoLoukku.X - pelaaja1.X < 550 && isoLoukku.Y - pelaaja1.Y < 540 && isoLoukku.Y - pelaaja1.Y > -300) 
     1151        if (isoLoukku.X - pelaaja1.X > 0 && isoLoukku.X - pelaaja1.X < 550 && isoLoukku.Y - pelaaja1.Y < 540 && isoLoukku.Y - pelaaja1.Y > -300) 
    9511152        { 
    9521153 
     
    9621163            Ylaosa.Y = isoLoukku.Y += 300; 
    9631164            Add(Ylaosa, 3); 
    964             PhysicsObject Alaosa = new PhysicsObject(400,150); 
     1165            PhysicsObject Alaosa = new PhysicsObject(400, 150); 
    9651166            Alaosa.Shape = Shape.FromImage(alaosator); 
    9661167            Alaosa.Image = alaosa; 
     
    9711172            Alaosa.X = isoLoukku.X; 
    9721173            Alaosa.Y = isoLoukku.Y - 400; 
    973             Add (Alaosa, 3); 
     1174            Add(Alaosa, 3); 
    9741175 
    9751176            isoLoukku.X += 8; 
    9761177            isoLoukku.Y -= 185; 
    9771178            isoLoukku.Velocity = new Vector(-650, 0); 
    978             
     1179 
    9791180            isoLoukku.Height = 280; 
    9801181            isoLoukku.Width = 400; 
    9811182            isoLoukku.Image = isoloukkuhyokkausvasen; 
    982              
     1183 
    9831184            isoLoukku.HyokkaysTimer.Stop(); 
    984              
     1185 
    9851186        } 
    9861187    } 
     
    9971198    void osuPlussaan(PhysicsObject hahmo, PhysicsObject kohde) 
    9981199    { 
    999       //  if (kohde.Tag.ToString() == "ESplus") 
     1200        //  if (kohde.Tag.ToString() == "ESplus") 
    10001201        //{ 
    1001           //  mittari.MaxValue += 10; 
    1002  
    1003  //       } 
     1202        //  mittari.MaxValue += 10; 
     1203 
     1204        //       } 
    10041205    } 
    10051206 
     
    10131214    } 
    10141215 
     1216    void hakkaaLoukkua(PhysicsObject ase, PhysicsObject kohde) 
     1217    { 
     1218        int pMaara = 50; 
     1219        double x = kohde.X; 
     1220        double y = kohde.Y; 
     1221 
     1222        hajotus2.AddEffect(x, y, pMaara); 
     1223        kohde.Destroy(); 
     1224    } 
     1225 
    10151226    void osuLoukkuun(PhysicsObject hahmo, PhysicsObject kohde) 
    10161227    { 
    1017         if (kohde.Tag.ToString() == "vasenloukku" && (masaLyo == true) || (kohde.Tag.ToString() == "loukkuJumissa" && (masaLyo == true))) 
    1018         { 
    1019             
    1020  
    1021  
    1022             int pMaara = 50; 
    1023             double x = kohde.X; 
    1024             double y = kohde.Y; 
    1025  
    1026             hajotus2.AddEffect(x, y, pMaara); 
    1027             kohde.Destroy(); 
    1028         } 
    1029         else if (kohde.Tag.ToString() == "vasenloukku") 
    1030         { 
    1031  
    1032             Timer ajastin = new Timer(); 
    1033             Elama.Value -= 2.5; 
    1034             Timer.SingleShot(0.01, delegate() 
    1035  
    1036             { 
    1037                 Keyboard.Disable(Key.Down); 
    1038                 Keyboard.Disable(Key.Left); 
    1039                 Keyboard.Disable(Key.Right); 
    1040                 Keyboard.Disable(Key.Space); 
    1041                 Keyboard.Disable(Key.Up); 
    1042                  
    1043                 ajastin.Interval = 0.001; 
    1044                 ajastin.Timeout += delegate() { pelaaja1.Velocity = new Vector(-700, 750);  }; 
    1045                 ajastin.Start(); 
    1046                
    1047             }); 
    1048  
    1049             Timer.SingleShot(0.24745, delegate() 
    1050             { 
    1051                 ajastin.Stop(); 
    1052                 Keyboard.EnableAll(); 
    1053                 //Gravity = new Vector(0, -2800); 
    1054             }); 
    1055         } 
    1056  
    1057  
    1058         else if (kohde.Tag.ToString() == "loukku") 
    1059         { 
    1060             Elama.Value -= 2.5; 
    1061         } 
     1228        Timer ajastin = new Timer(); 
     1229        Elama.Value -= 2.5; 
     1230        Timer.SingleShot(0.01, delegate() 
     1231        { 
     1232 
     1233 
     1234            //Keyboard.Disable(Key.Z); 
     1235            //Keyboard.Disable(Key.Left); 
     1236            //Keyboard.Disable(Key.Right); 
     1237            //Keyboard.Disable(Key.X); 
     1238            //Keyboard.Disable(Key.Up); 
     1239 
     1240            normaaliOhjaus.Disable(); 
     1241 
     1242            ajastin.Interval = 0.001; 
     1243            ajastin.Timeout += delegate() { pelaaja1.Velocity = new Vector(-700, 750); }; 
     1244            ajastin.Start(); 
     1245 
     1246        }); 
     1247 
     1248        Timer.SingleShot(0.265, delegate() 
     1249        { 
     1250            ajastin.Stop(); 
     1251//            Keyboard.EnableAll(); 
     1252            normaaliOhjaus.Enable(); 
     1253            //Gravity = new Vector(0, -2800); 
     1254        }); 
     1255 
    10621256        if (Elama.Value == 0) 
    10631257        { 
    10641258            //aloitapeli(kenttatilanne); 
    1065             Begin(); 
     1259            UusiPeli(); 
    10661260        } 
    10671261 
     
    10741268            Timer Ajastin = new Timer(); 
    10751269            Elama.Value -= 3.5; 
    1076             Timer.SingleShot (0.01, delegate() 
    1077             
     1270            Timer.SingleShot(0.01, delegate() 
    10781271           { 
    1079                Keyboard.Disable(Key.Down); 
     1272               normaaliOhjaus.Disable(); 
     1273              /* Keyboard.Disable(Key.Down); 
    10801274               Keyboard.Disable(Key.Left); 
    10811275               Keyboard.Disable(Key.Right); 
    10821276               Keyboard.Disable(Key.Space); 
    1083                Keyboard.Disable(Key.Up); 
    1084             pelaaja1.Velocity = new Vector(0, 0); 
    1085  
    1086             Ajastin.Interval = 0.001; 
    1087             Ajastin.Timeout += delegate() { pelaaja1.Velocity = new Vector(-700, 750); }; 
    1088             Ajastin.Start(); 
    1089  
    1090             Timer.SingleShot(0.24745, delegate() 
    1091          { 
    1092  
    1093              Ajastin.Stop(); 
    1094              Keyboard.EnableAll(); 
    1095  
    1096              Gravity = new Vector(0, -2800); 
    1097          }); 
     1277               Keyboard.Disable(Key.Up);*/ 
     1278               pelaaja1.Velocity = new Vector(0, 0); 
     1279 
     1280               Ajastin.Interval = 0.001; 
     1281               Ajastin.Timeout += delegate() { pelaaja1.Velocity = new Vector(-700, 750); }; 
     1282               Ajastin.Start(); 
     1283 
     1284               Timer.SingleShot(0.24745, delegate() 
     1285            { 
     1286 
     1287                Ajastin.Stop(); 
     1288               // Keyboard.EnableAll(); 
     1289                normaaliOhjaus.Enable(); 
     1290 
     1291                Gravity = new Vector(0, -2800); 
     1292            }); 
    10981293           }); 
    10991294            Timer.SingleShot(0.35, delegate() 
     
    11051300        if (Elama.Value <= 0) 
    11061301        { 
    1107             Begin(); 
     1302            UusiPeli(); 
    11081303        } 
    11091304    } 
     
    11191314            loukku.MakeStatic(); 
    11201315            //loukku.Shape = Shape.Rectangle; 
    1121             loukku.Shape = Shape.FromImage (loukkutör); 
     1316            loukku.Shape = Shape.FromImage(loukkutör); 
    11221317            loukku.IgnoresCollisionResponse = false; 
    11231318            loukku.Tag = "loukkuJumissa"; 
    11241319        } 
    1125  
    1126     } 
    1127  
     1320    } 
    11281321 
    11291322    void osuKitaraan(PhysicsObject hahmo, PhysicsObject kohde) 
     
    11311324        if (kohde.Tag.ToString() == "Kitara") 
    11321325        { 
     1326            onkoAse = true; 
    11331327            Label label = new Label("Masa majava: Kitara...mitä minä tällä tekisin? Soittaisin musiikkia?"); 
    11341328            label.TextColor = Color.Black; 
     
    11411335            { 
    11421336                label.Destroy(); 
    1143            //     Add(label2); 
     1337                //     Add(label2); 
    11441338            } 
    11451339            ); 
    11461340            Timer.SingleShot(8, label2.Destroy); 
    11471341 
    1148             Keyboard.Listen(Key.Z, ButtonState.Pressed, hakkaa, "Hakkaa kitaralla", pelaaja1); 
     1342            asetaAseKontrollit(); 
    11491343            kohde.Destroy(); 
    11501344        } 
    11511345    } 
    11521346 
    1153     void osuLaatikkoon(PhysicsObject hahmo, PhysicsObject kohde) 
    1154     { 
    1155         if (!masaLyo) 
     1347    void osuLaatikkoon(PhysicsObject ase, PhysicsObject kohde) 
     1348    { 
     1349        /*if (!masaLyo) 
    11561350        { 
    11571351            hahmo.Hit(new Vector(-Math.Sign(kohde.X - hahmo.X) * 100, 0)); 
    11581352            return; 
    1159         } 
    1160          
     1353        }*/ 
     1354 
    11611355 
    11621356 
     
    11711365        label.TextColor = Color.Black; 
    11721366        label.Color = Color.White; 
    1173        // Add(label); 
     1367        // Add(label); 
    11741368        Timer.SingleShot(3, delegate() 
    11751369        { 
     
    11861380        if (kohde.Tag.ToString() == "jetpak") 
    11871381        { 
    1188             onkoJetPak = true; 
     1382            jetPakKeratty = true; 
    11891383 
    11901384            Label label = new Label("Masa majava: Voi pojat, jetpack! Tällähän voi lentää painamalla 'Ylös'!"); 
     
    12131407            Add(jetpak); 
    12141408 
     1409            jetPackOhjaimet.Enable(); 
     1410 
    12151411            kohde.Destroy(); 
    12161412            AddCollisionHandler(pelaaja1, osuES); 
    1217             Keyboard.Listen(Key.Up, ButtonState.Down, kaytajetpak, "Käyttää Jetpakiä", pelaaja1, lentonopeus); 
    1218             Keyboard.Listen(Key.Up, ButtonState.Released, PelaajanAnimaatiot, "Lopettaa lennon"); 
    1219             ControllerOne.Listen(Button.DPadUp, ButtonState.Down, kaytajetpak, "Käyttää Jetpakiä", pelaaja1, lentonopeus); 
    1220             ControllerOne.Listen(Button.DPadUp, ButtonState.Released, PelaajanAnimaatiot, "Lopettaa lennon"); 
    12211413        } 
    12221414    } 
     
    12271419        { 
    12281420 
    1229             
     1421 
    12301422            kohde.Destroy(); 
    12311423            ESmittari.Value += 5; 
     
    12381430        { 
    12391431            kenttatilanne += 1; 
    1240              
     1432 
    12411433            //Timer zoomaaja = new Timer(); 
    1242           //  zoomaaja.Interval = 0.00000001; 
    1243        //     zoomaaja.Timeout += teeSiirtyma; 
    1244      //       zoomaaja.Start(); 
     1434            //  zoomaaja.Interval = 0.00000001; 
     1435            //     zoomaaja.Timeout += teeSiirtyma; 
     1436            //       zoomaaja.Start(); 
    12451437            //teeSiirtyma(); 
    12461438            aloitapeli(kenttatilanne); 
     
    12531445    //private void teeSiirtyma() 
    12541446    //{ 
    1255    //     Camera.Zoom (zoom); 
     1447    //     Camera.Zoom (zoom); 
    12561448 
    12571449 
     
    12771469            label2.TextColor = Color.Black; 
    12781470            label2.Color = Color.White; 
    1279            Timer.SingleShot(3, delegate() 
    1280             { 
    1281                 label.Destroy(); 
    1282                // Add(label2); 
    1283                 Timer.SingleShot(3, delegate() 
    1284                 { 
    1285                     label2.Destroy(); 
    1286                 }); 
    1287             }); 
     1471            Timer.SingleShot(3, delegate() 
     1472             { 
     1473                 label.Destroy(); 
     1474                 // Add(label2); 
     1475                 Timer.SingleShot(3, delegate() 
     1476                 { 
     1477                     label2.Destroy(); 
     1478                 }); 
     1479             }); 
    12881480        } 
    12891481    } 
  • 2013/27/HenrikS/Masa Majava/MasaMajavanMaailma/MasaMajavanMaailma/kentta1.txt

    r4501 r4738  
    3636                                     SS                       SSSSSS 
    3737                                     SS                            S 
    38                      *      I         SS                            S 
     38                     *               SS                            S 
    3939                                     SS  E                         S 
    4040                               OOOOOOSS                            S 
  • 2013/27/HenrikS/Masa Majava/MasaMajavanMaailma/MasaMajavanMaailma/kentta2a.txt

    r4501 r4738  
    55SSSSSS                                                             l  k  S 
    66SSSSSS                                                                   S 
    7 SSSSSS                                           SSSSSS        SSSSSSSSSSS 
    8 SSSSSS         SS                                SSSSSS        SSSSSSSSSSS 
     7SSSSSS                                           SSSSSSSS      SSSSSSSSSSS 
     8SSSSSS         S                                 SSSSSS        SSSSSSSSSSS 
    99SSSSSS         SS                                SSSSSS        SSS 
    1010SSSSSS      SSSSS                                SSSSSSSSSSSSSSSSS 
Note: See TracChangeset for help on using the changeset viewer.