Changeset 4248


Ignore:
Timestamp:
2013-06-26 14:59:41 (6 years ago)
Author:
saolhaka
Message:
 
Location:
2012/09-22/SanteriH/Kynari
Files:
4 added
14 edited

Legend:

Unmodified
Added
Removed
  • 2012/09-22/SanteriH/Kynari/Kynari/Kynari/Kynari.cs

    r4224 r4248  
    1313    public Explosion ViimeisinRajahdys { get; set; } 
    1414    public DoubleMeter HPLaskuri { get; set; } 
     15    public Direction lukittuSuunta; 
    1516    public Pelaaja(double width, double height, Shape shape) 
    1617        : base(width, height, shape) 
     
    3839    int HPBOOST = 25; 
    3940    int kentta = 1; 
     41    int taso = 0; 
    4042    int powerupmaara = 0; 
    4143    int hpmaara = 0; 
     44 
    4245 
    4346    Pelaaja pelaaja1 = new Pelaaja(40, 40, Shape.Circle); 
     
    98101    IntMeter pelaajan2Pisteet; 
    99102 
     103 
    100104    #endregion 
    101105 
     
    133137 
    134138    #region KentanLataus 
     139 
     140    void LuoTaso() 
     141    { 
     142        ClearAll(); 
     143        TileMap ruudut = TileMap.FromLevelAsset("taso" + taso); 
     144        ruudut.SetTileMethod('x', LuoReuna); 
     145        ruudut.SetTileMethod('t', LuoTaso); 
     146        ruudut.SetTileMethod('l', LuoLyhytTaso); 
     147        ruudut.SetTileMethod('p', LuoPitkaTaso); 
     148        ruudut.SetTileMethod('k', LuoKeskipitkaTaso); 
     149        ruudut.SetTileMethod('j', LuoLyhytPystyTaso); 
     150        ruudut.SetTileMethod('z', LuoLattia); 
     151        ruudut.SetTileMethod('c', LuoSeina); 
     152 
     153        ruudut.Execute(RUUDUNLEVEYS, RUUDUNKORKEUS); 
     154        Level.Background.CreateGradient(Color.White, Color.Gray); 
     155        Gravity = new Vector(0, -1500); 
     156    } 
    135157 
    136158    void LuoKentta() 
     
    163185        //if (PowerUpit == "Päällä") { ruudut.SetTileMethod('+', LuoPowerUp, new Vector(16, 20), "Power Up", powerupinkuva); } 
    164186        //if (HP == "Päällä") { ruudut.SetTileMethod('h', LuoHP, new Vector(20, 21), "HP", hpkuva); } 
    165         ruudut.SetTileMethod('1', delegate(Vector paikka, double leveys, double korkeus) { pelaaja1 = LuoPelaaja(paikka, leveys, korkeus, pelaaja1); }); 
    166         ruudut.SetTileMethod('2', delegate(Vector paikka, double leveys, double korkeus) { pelaaja2 = LuoPelaaja(paikka, leveys, korkeus, pelaaja2); }); 
     187        ruudut.SetTileMethod('1', delegate(Vector paikka, double leveys, double korkeus) { pelaaja1 = LuoPelaaja(paikka, leveys, korkeus, Direction.Right, pelaaja1); }); 
     188        ruudut.SetTileMethod('2', delegate(Vector paikka, double leveys, double korkeus) { pelaaja2 = LuoPelaaja(paikka, leveys, korkeus, Direction.Left, pelaaja2); }); 
    167189        ruudut.Execute(RUUDUNLEVEYS, RUUDUNKORKEUS); 
    168190        Level.Background.CreateGradient(Color.White, Color.Gray); 
     
    176198        if (PowerUpit == "Päällä") 
    177199        { 
    178         Timer poweruptimer = new Timer(); 
    179         poweruptimer.Interval = 6.0; 
    180         poweruptimer.Timeout += delegate 
    181         { 
    182             if (powerupmaara < 3) 
    183             { 
    184                 double luku = RandomGen.NextDouble(0.0, 1.0); 
    185                 if (luku < 0.5) 
    186                 { 
    187                     Vector paikka = powerupvektorit[RandomGen.NextInt(0, powerupvektorit.Count)]; 
    188                     GameObject nimi = GetObjectAt(paikka, "Power Up", 10); 
    189                     if (nimi == null) 
     200            Timer poweruptimer = new Timer(); 
     201            poweruptimer.Interval = 6.0; 
     202            poweruptimer.Timeout += delegate 
     203            { 
     204                if (powerupmaara < 3) 
     205                { 
     206                    double luku = RandomGen.NextDouble(0.0, 1.0); 
     207                    if (luku < 0.5) 
    190208                    { 
    191                         powerupmaara += 1; 
    192                         LuoPowerUp(paikka, new Vector(16, 20), "Power Up", powerupinkuva); 
     209                        Vector paikka = powerupvektorit[RandomGen.NextInt(0, powerupvektorit.Count)]; 
     210                        GameObject nimi = GetObjectAt(paikka, "Power Up", 10); 
     211                        if (nimi == null) 
     212                        { 
     213                            powerupmaara += 1; 
     214                            LuoPowerUp(paikka, new Vector(16, 20), "Power Up", powerupinkuva); 
     215                        } 
    193216                    } 
    194217                } 
    195             } 
    196         }; 
    197         poweruptimer.Start(); 
     218            }; 
     219            poweruptimer.Start(); 
    198220        } 
    199221 
     
    322344        NollaaLaskurit(); 
    323345        MultiSelectWindow alkuValikko = new MultiSelectWindow("Kynäri", 
    324         "Aloita peli", "Asetukset", "Lopeta"); 
     346        "Yksinpeli", "Moninpeli", "Asetukset", "Lopeta"); 
    325347        Add(alkuValikko); 
    326         alkuValikko.AddItemHandler(0, LuoKenttaValikko); 
    327         alkuValikko.AddItemHandler(1, LuoAsetukset); 
    328         alkuValikko.AddItemHandler(2, Exit); 
    329         alkuValikko.DefaultCancel = 2; 
     348        alkuValikko.AddItemHandler(0, LuoTasoValikko); 
     349        alkuValikko.AddItemHandler(1, LuoKenttaValikko); 
     350        alkuValikko.AddItemHandler(2, LuoAsetukset, 0); 
     351        alkuValikko.AddItemHandler(3, Exit); 
     352        alkuValikko.DefaultCancel = 3; 
    330353        alkuValikko.Color = Color.Gray; 
    331         Level.BackgroundColor = Color.Gray; 
    332     } 
    333  
    334     void LuoAsetukset() 
     354        Level.Background.Color = Color.Gray; 
     355 
     356        ControllerTwo.Listen(Button.DPadUp, ButtonState.Pressed, delegate { alkuValikko.SelectedIndex = (alkuValikko.Buttons.Length + alkuValikko.SelectedIndex - 1) % alkuValikko.Buttons.Length; }, null).InContext(alkuValikko); 
     357        ControllerTwo.Listen(Button.DPadDown, ButtonState.Pressed, delegate { alkuValikko.SelectedIndex = (alkuValikko.SelectedIndex + 1) % alkuValikko.Buttons.Length; }, null).InContext(alkuValikko); 
     358        ControllerTwo.Listen(Button.B, ButtonState.Pressed, delegate { Exit(); }, null).InContext(alkuValikko); 
     359        ControllerTwo.Listen(Button.A, ButtonState.Pressed, delegate { alkuValikko.SelectedButton.Click(); }, null).InContext(alkuValikko); 
     360    } 
     361 
     362    void LuoAsetukset(int valinta) 
    335363    { 
    336364        ClearAll(); 
     
    345373        asetukset.AddItemHandler(6, AsetaSailytaAse); 
    346374        asetukset.AddItemHandler(7, LuoAlkuValikko); 
     375 
    347376        asetukset.Color = Color.Gray; 
     377        Level.Background.Color = Color.Gray; 
    348378        asetukset.DefaultCancel = 7; 
    349379        Add(asetukset); 
     380        Timer.SingleShot(0.01, delegate 
     381        { 
     382            asetukset.SelectedIndex = valinta; 
     383        }); 
     384 
     385 
     386 
     387        ControllerTwo.Listen(Button.DPadUp, ButtonState.Pressed, delegate { asetukset.SelectedIndex = (asetukset.Buttons.Length + asetukset.SelectedIndex - 1) % asetukset.Buttons.Length; }, null).InContext(asetukset); 
     388        ControllerTwo.Listen(Button.DPadDown, ButtonState.Pressed, delegate { asetukset.SelectedIndex = (asetukset.SelectedIndex + 1) % asetukset.Buttons.Length; }, null).InContext(asetukset); 
     389        ControllerTwo.Listen(Button.B, ButtonState.Pressed, delegate { LuoAlkuValikko(); }, null).InContext(asetukset); 
     390        ControllerTwo.Listen(Button.A, ButtonState.Pressed, delegate { asetukset.SelectedButton.Click(); }, null).InContext(asetukset); 
    350391    } 
    351392 
     
    359400            voitto.AddItemHandler(1, LuoAlkuValikko); 
    360401            voitto.Color = Color.Gray; 
     402            Level.Background.Color = Color.Gray; 
    361403            voitto.DefaultCancel = 1; 
    362404            Add(voitto); 
     405 
     406            ControllerTwo.Listen(Button.DPadUp, ButtonState.Pressed, delegate { voitto.SelectedIndex = (voitto.Buttons.Length + voitto.SelectedIndex - 1) % voitto.Buttons.Length; }, null).InContext(voitto); 
     407            ControllerTwo.Listen(Button.DPadDown, ButtonState.Pressed, delegate { voitto.SelectedIndex = (voitto.SelectedIndex + 1) % voitto.Buttons.Length; }, null).InContext(voitto); 
     408            ControllerTwo.Listen(Button.B, ButtonState.Pressed, delegate { LuoAlkuValikko(); }, null).InContext(voitto); 
     409            ControllerTwo.Listen(Button.A, ButtonState.Pressed, delegate { voitto.SelectedButton.Click(); }, null).InContext(voitto); 
    363410        } 
    364411        else 
     
    368415            voitto.AddItemHandler(1, LuoAlkuValikko); 
    369416            voitto.Color = Color.Gray; 
     417            Level.Background.Color = Color.Gray; 
    370418            voitto.DefaultCancel = 1; 
    371419            Add(voitto); 
     420 
     421            ControllerTwo.Listen(Button.DPadUp, ButtonState.Pressed, delegate { voitto.SelectedIndex = (voitto.Buttons.Length + voitto.SelectedIndex - 1) % voitto.Buttons.Length; }, null).InContext(voitto); 
     422            ControllerTwo.Listen(Button.DPadDown, ButtonState.Pressed, delegate { voitto.SelectedIndex = (voitto.SelectedIndex + 1) % voitto.Buttons.Length; }, null).InContext(voitto); 
     423            ControllerTwo.Listen(Button.B, ButtonState.Pressed, delegate { LuoAlkuValikko(); }, null).InContext(voitto); 
     424            ControllerTwo.Listen(Button.A, ButtonState.Pressed, delegate { voitto.SelectedButton.Click(); }, null).InContext(voitto); 
    372425        } 
    373426        LuoPisteLaskuri(-200, 0, pelaajan1Pisteet); 
     
    381434        { 
    382435            SailytaAse = "Kyllä"; 
    383             LuoAsetukset(); 
     436            LuoAsetukset(6); 
    384437            return; 
    385438        } 
     
    387440        { 
    388441            SailytaAse = "Ei"; 
    389             LuoAsetukset(); 
     442            LuoAsetukset(6); 
    390443            return; 
    391444        } 
     
    393446        { 
    394447            SailytaAse = "Kyllä"; 
     448            LuoAsetukset(6); 
    395449        } 
    396450    } 
     
    401455        { 
    402456            PISTEMAARA_JOLLA_VOITTAA_PELIN = 3; 
    403             LuoAsetukset(); 
     457            LuoAsetukset(0); 
    404458            return; 
    405459        } 
     
    407461        { 
    408462            PISTEMAARA_JOLLA_VOITTAA_PELIN = 5; 
    409             LuoAsetukset(); 
     463            LuoAsetukset(0); 
    410464            return; 
    411465        } 
     
    413467        { 
    414468            PISTEMAARA_JOLLA_VOITTAA_PELIN = 7; 
    415             LuoAsetukset(); 
     469            LuoAsetukset(0); 
    416470            return; 
    417471        } 
     
    419473        { 
    420474            PISTEMAARA_JOLLA_VOITTAA_PELIN = 10; 
    421             LuoAsetukset(); 
     475            LuoAsetukset(0); 
    422476            return; 
    423477        } 
     
    425479        { 
    426480            PISTEMAARA_JOLLA_VOITTAA_PELIN = 1; 
    427             LuoAsetukset(); 
     481            LuoAsetukset(0); 
    428482            return; 
    429483        } 
     
    431485        { 
    432486            PISTEMAARA_JOLLA_VOITTAA_PELIN = 3; 
    433             LuoAsetukset(); 
     487            LuoAsetukset(0); 
    434488        } 
    435489 
     
    441495        { 
    442496            HPMAARA = 50; 
    443             LuoAsetukset(); 
     497            LuoAsetukset(1); 
    444498            return; 
    445499        } 
     
    447501        { 
    448502            HPMAARA = 100; 
    449             LuoAsetukset(); 
     503            LuoAsetukset(1); 
    450504            return; 
    451505        } 
     
    453507        { 
    454508            HPMAARA = 150; 
    455             LuoAsetukset(); 
     509            LuoAsetukset(1); 
    456510            return; 
    457511        } 
     
    459513        { 
    460514            HPMAARA = 200; 
    461             LuoAsetukset(); 
     515            LuoAsetukset(1); 
    462516            return; 
    463517        } 
     
    465519        { 
    466520            HPMAARA = 250; 
    467             LuoAsetukset(); 
     521            LuoAsetukset(1); 
    468522            return; 
    469523        } 
     
    471525        { 
    472526            HPMAARA = 500; 
    473             LuoAsetukset(); 
     527            LuoAsetukset(1); 
    474528            return; 
    475529        } 
     
    477531        { 
    478532            HPMAARA = 1000; 
    479             LuoAsetukset(); 
     533            LuoAsetukset(1); 
    480534            return; 
    481535        } 
     
    483537        { 
    484538            HPMAARA = 1; 
    485             LuoAsetukset(); 
     539            LuoAsetukset(1); 
    486540            return; 
    487541        } 
     
    489543        { 
    490544            HPMAARA = 100; 
    491             LuoAsetukset(); 
     545            LuoAsetukset(1); 
    492546        } 
    493547    } 
     
    498552        { 
    499553            Aseet = "Vähän aseita"; 
    500             LuoAsetukset(); 
     554            LuoAsetukset(2); 
    501555            return; 
    502556        } 
     
    504558        { 
    505559            Aseet = "Paljon aseita"; 
    506             LuoAsetukset(); 
     560            LuoAsetukset(2); 
    507561            return; 
    508562        } 
     
    510564        { 
    511565            Aseet = "Kaikki aseet"; 
    512             LuoAsetukset(); 
     566            LuoAsetukset(2); 
    513567            return; 
    514568        } 
     
    516570        { 
    517571            Aseet = "Ei aseita"; 
    518             LuoAsetukset(); 
     572            LuoAsetukset(2); 
    519573            return; 
    520574        } 
     
    522576        { 
    523577            Aseet = "Kaikki aseet"; 
    524             LuoAsetukset(); 
     578            LuoAsetukset(2); 
    525579        } 
    526580    } 
     
    531585        { 
    532586            PowerUpit = "Päällä"; 
    533             LuoAsetukset(); 
     587            LuoAsetukset(3); 
    534588            return; 
    535589        } 
     
    537591        { 
    538592            PowerUpit = "Pois"; 
    539             LuoAsetukset(); 
     593            LuoAsetukset(3); 
    540594            return; 
    541595        } 
     
    543597        { 
    544598            PowerUpit = "Päällä"; 
    545             LuoAsetukset(); 
     599            LuoAsetukset(3); 
    546600        } 
    547601    } 
     
    552606        { 
    553607            HPBOOST = 25; 
    554             LuoAsetukset(); 
     608            LuoAsetukset(5); 
    555609            return; 
    556610        } 
     
    558612        { 
    559613            HPBOOST = 50; 
    560             LuoAsetukset(); 
     614            LuoAsetukset(5); 
    561615            return; 
    562616        } 
     
    564618        { 
    565619            HPBOOST = 75; 
    566             LuoAsetukset(); 
     620            LuoAsetukset(5); 
    567621            return; 
    568622        } 
     
    570624        { 
    571625            HPBOOST = 100; 
    572             LuoAsetukset(); 
     626            LuoAsetukset(5); 
    573627            return; 
    574628        } 
     
    576630        { 
    577631            HPBOOST = 10; 
    578             LuoAsetukset(); 
     632            LuoAsetukset(5); 
    579633            return; 
    580634        } 
     
    582636        { 
    583637            HPBOOST = 25; 
    584             LuoAsetukset(); 
     638            LuoAsetukset(5); 
    585639        } 
    586640    } 
     
    591645        { 
    592646            HP = "Päällä"; 
    593             LuoAsetukset(); 
     647            LuoAsetukset(4); 
    594648            return; 
    595649        } 
     
    597651        { 
    598652            HP = "Pois"; 
    599             LuoAsetukset(); 
     653            LuoAsetukset(4); 
    600654            return; 
    601655        } 
     
    603657        { 
    604658            HP = "Päällä"; 
    605             LuoAsetukset(); 
    606         } 
     659            LuoAsetukset(4); 
     660        } 
     661    } 
     662    void LuoTasoValikko() 
     663    { 
     664        ClearAll(); 
     665        MultiSelectWindow tasoValikko = new MultiSelectWindow("Yksinpeli", "Uusi peli", 
     666        "Jatka peliä", "Takaisin"); 
     667        tasoValikko.AddItemHandler(0, LuoTaso0); 
     668        tasoValikko.AddItemHandler(1, LataaPeli); 
     669        tasoValikko.AddItemHandler(2, LuoAlkuValikko); 
     670        tasoValikko.Color = Color.Gray; 
     671        Level.Background.Color = Color.Gray; 
     672        tasoValikko.DefaultCancel = 2; 
     673        Add(tasoValikko); 
     674 
     675        ControllerTwo.Listen(Button.DPadUp, ButtonState.Pressed, delegate { tasoValikko.SelectedIndex = (tasoValikko.Buttons.Length + tasoValikko.SelectedIndex - 1) % tasoValikko.Buttons.Length; }, null).InContext(tasoValikko); 
     676        ControllerTwo.Listen(Button.DPadDown, ButtonState.Pressed, delegate { tasoValikko.SelectedIndex = (tasoValikko.SelectedIndex + 1) % tasoValikko.Buttons.Length; }, null).InContext(tasoValikko); 
     677        ControllerTwo.Listen(Button.B, ButtonState.Pressed, delegate { LuoAlkuValikko(); }, null).InContext(tasoValikko); 
     678        ControllerTwo.Listen(Button.A, ButtonState.Pressed, delegate { tasoValikko.SelectedButton.Click(); }, null).InContext(tasoValikko); 
    607679    } 
    608680 
     
    617689        kenttaValikko.AddItemHandler(3, LuoAlkuValikko); 
    618690        kenttaValikko.Color = Color.Gray; 
     691        Level.Background.Color = Color.Gray; 
    619692        kenttaValikko.DefaultCancel = 3; 
    620693        Add(kenttaValikko); 
     694 
     695        ControllerTwo.Listen(Button.DPadUp, ButtonState.Pressed, delegate { kenttaValikko.SelectedIndex = (kenttaValikko.Buttons.Length + kenttaValikko.SelectedIndex - 1) % kenttaValikko.Buttons.Length; }, null).InContext(kenttaValikko); 
     696        ControllerTwo.Listen(Button.DPadDown, ButtonState.Pressed, delegate { kenttaValikko.SelectedIndex = (kenttaValikko.SelectedIndex + 1) % kenttaValikko.Buttons.Length; }, null).InContext(kenttaValikko); 
     697        ControllerTwo.Listen(Button.B, ButtonState.Pressed, delegate { LuoAlkuValikko(); }, null).InContext(kenttaValikko); 
     698        ControllerTwo.Listen(Button.A, ButtonState.Pressed, delegate { kenttaValikko.SelectedButton.Click(); }, null).InContext(kenttaValikko); 
     699    } 
     700 
     701    void LataaPeli() 
     702    { 
     703 
     704    } 
     705 
     706    void LuoTaso0() 
     707    { 
     708        taso = 0; 
     709        uusiYksinPeli(); 
    621710    } 
    622711 
     
    691780 
    692781        hpNaytto2 = new ProgressBar(250, 30); 
    693         //hpNaytto2.Angle = Angle.FromDegrees(90); 
     782        hpNaytto2.Angle = Angle.FromDegrees(180); 
    694783        hpNaytto2.BarColor = Color.LightGreen; 
    695784        hpNaytto2.Color = Color.Red; 
     
    805894    } 
    806895 
    807     Pelaaja LuoPelaaja(Vector paikka, double leveys, double korkeus, Pelaaja pelaaja) 
     896    Pelaaja LuoPelaaja(Vector paikka, double leveys, double korkeus, Direction suunta, Pelaaja pelaaja) 
    808897    { 
    809898        string ase = "Pistooli"; 
     
    815904                ase = ase.Substring(0, ase.Length - 5) + "Lv. 3"; 
    816905            } 
    817              
     906 
    818907        } 
    819908        pelaaja = new Pelaaja(40, 40, Shape.Circle); 
     
    821910        pelaaja.Position = paikka; 
    822911        pelaaja.Tag = "pelaaja"; 
     912        pelaaja.FacingDirection = suunta; 
    823913 
    824914        pelaaja.HPLaskuri = new DoubleMeter(HPMAARA, 0, HPMAARA); 
     
    9141004        if (pelaaja.HPLaskuri.Value == pelaaja.HPLaskuri.MaxValue && pelaaja.DamageResistance == false) 
    9151005        { 
    916                 GameObject kilpi = new GameObject(60, 60, Shape.Circle); 
    917                 kilpi.Color = new Color(Color.Blue, 50); 
    918                 pelaaja.Add(kilpi); 
    919                 pelaaja.DamageResistance = true; 
    920                 Timer.SingleShot(5.0, delegate { pelaaja.DamageResistance = false; pelaaja.Remove(kilpi); }); 
     1006            GameObject kilpi = new GameObject(60, 60, Shape.Circle); 
     1007            kilpi.Color = new Color(Color.Blue, 50); 
     1008            pelaaja.Add(kilpi); 
     1009            pelaaja.DamageResistance = true; 
     1010            Timer.SingleShot(5.0, delegate { pelaaja.DamageResistance = false; pelaaja.Remove(kilpi); }); 
    9211011        } 
    9221012        pelaaja.HPLaskuri.Value += HPBOOST; 
     
    10211111        if (pelaaja.DamageResistance == true) 
    10221112        { 
    1023             pelaaja.HPLaskuri.Value -= 17; 
     1113            pelaaja.HPLaskuri.Value -= 10; 
    10241114        } 
    10251115        else 
    10261116        { 
    1027             pelaaja.HPLaskuri.Value -= 35; 
     1117            pelaaja.HPLaskuri.Value -= 20; 
    10281118        } 
    10291119    } 
     
    10561146        Explosion rajahdys = new Explosion(100); 
    10571147        rajahdys.Position = ammus.Position; 
    1058         rajahdys.ShockwaveReachesObject += delegate(IPhysicsObject p, Vector shokki) { PaineaaltoOsuu(p, shokki, rajahdys, 60.0); }; 
     1148        rajahdys.ShockwaveReachesObject += delegate(IPhysicsObject p, Vector shokki) { PaineaaltoOsuu(p, shokki, rajahdys, 40.0); }; 
    10591149        Add(rajahdys); 
    10601150        rajahdys.Force = 25; 
     
    11471237        if (p.DamageResistance == true) 
    11481238        { 
    1149             p.HPLaskuri.Value -= damagenMaara/2; 
     1239            p.HPLaskuri.Value -= damagenMaara / 2; 
    11501240        } 
    11511241        else 
     
    14901580    } 
    14911581 
    1492     void LisaaPowerUpPaikka(Vector paikka, double leveys, double korkeus, List<Vector>powerupvektorit) 
     1582    void LisaaPowerUpPaikka(Vector paikka, double leveys, double korkeus, List<Vector> powerupvektorit) 
    14931583    { 
    14941584        powerupvektorit.Add(paikka); 
     
    21002190            { 
    21012191                rajahdys.Position = pelaaja2.Position; 
    2102                 pelaaja2.HPLaskuri.Value -= 25; 
     2192                if (pelaaja2.DamageResistance == true) 
     2193                { 
     2194                    pelaaja2.HPLaskuri.Value -= 12; 
     2195                } 
     2196                else 
     2197                { 
     2198                    pelaaja2.HPLaskuri.Value -= 25; 
     2199                } 
     2200 
    21032201            } 
    21042202            if (pelaaja == pelaaja2) 
    21052203            { 
    21062204                rajahdys.Position = pelaaja1.Position; 
    2107                 pelaaja1.HPLaskuri.Value -= 25; 
     2205                if (pelaaja1.DamageResistance == true) 
     2206                { 
     2207                    pelaaja1.HPLaskuri.Value -= 12; 
     2208                } 
     2209                else 
     2210                { 
     2211                    pelaaja1.HPLaskuri.Value -= 25; 
     2212                } 
    21082213            } 
    21092214            Add(rajahdys); 
     
    21252230 
    21262231        // Pelaajan näppäimet 
     2232 
    21272233        Keyboard.Listen(Key.A, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, new Vector(-LIIKEVOIMA, 0)); 
    21282234        Keyboard.Listen(Key.D, ButtonState.Down, liikuta, "Liikkuu oikealle", pelaaja1, new Vector(LIIKEVOIMA, 0)); 
    21292235        Keyboard.Listen(Key.W, ButtonState.Pressed, hyppaa, "Hyppää", pelaaja1, HYPPYVOIMA); 
    21302236        Keyboard.Listen(Key.Space, ButtonState.Down, Ammu, "Ammu", pelaaja1); 
     2237        Keyboard.Listen(Key.LeftShift, ButtonState.Down, LukitseSuunta, "Lukitse suunta", pelaaja1); 
     2238        Keyboard.Listen(Key.LeftShift, ButtonState.Pressed, ValitseSuunta, "Valitse lukittava suunta", pelaaja1); 
    21312239 
    21322240        Keyboard.Listen(Key.Left, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja2, new Vector(-LIIKEVOIMA, 0)); 
     
    21342242        Keyboard.Listen(Key.Up, ButtonState.Pressed, hyppaa, "Hyppää", pelaaja2, HYPPYVOIMA); 
    21352243        Keyboard.Listen(Key.RightControl, ButtonState.Down, Ammu, "Ammu", pelaaja2); 
    2136  
    2137         Keyboard.Listen(Key.Escape, ButtonState.Pressed, PeliPauselle, "Pysäyttää pelin"); 
     2244        Keyboard.Listen(Key.RightShift, ButtonState.Down, LukitseSuunta, "Lukitse suunta", pelaaja2); 
     2245        Keyboard.Listen(Key.RightShift, ButtonState.Pressed, ValitseSuunta, "Valitse lukittava suunta", pelaaja2); 
     2246         
     2247        Keyboard.Listen(Key.Escape, ButtonState.Pressed, PeliPauselle, "Pysäyttää pelin", pelaaja1); 
    21382248 
    21392249        lisaaGamePadNappaimet(ControllerOne, pelaaja1); 
     
    21412251    } 
    21422252 
    2143     void lisaaGamePadNappaimet(GamePad pelaajaNro, PlatformCharacter pelaaja) 
     2253    void LukitseSuunta(Pelaaja pelaaja) 
     2254    { 
     2255        if (pelaaja.lukittuSuunta == Direction.Left) 
     2256        { 
     2257            pelaaja.Turn(Direction.Left); 
     2258        } 
     2259        if (pelaaja.lukittuSuunta == Direction.Right) 
     2260        { 
     2261            pelaaja.Turn(Direction.Right); 
     2262        } 
     2263    } 
     2264 
     2265    void ValitseSuunta(Pelaaja pelaaja) 
     2266    { 
     2267        pelaaja.lukittuSuunta = pelaaja.FacingDirection; 
     2268    } 
     2269 
     2270    void lisaaGamePadNappaimet(GamePad pelaajaNro, Pelaaja pelaaja) 
    21442271    { 
    21452272        //Yleiset näppäimet 
    2146         pelaajaNro.Listen(Button.Start, ButtonState.Pressed, PeliPauselle, "Pysäyttää pelin"); 
    2147  
    2148         //pelaajaNro.ListenAnalog(AnalogControl.LeftStick, 0.1, liikuta, "Pelaaja liikkuu vasemmalle", pelaaja, new Vector(-LIIKEVOIMA, 0)); 
    2149         //pelaajaNro.ListenAnalog(AnalogControl.LeftStick, 0.1, liikuta, "Pelaaja liikkuu vasemmalle", pelaaja, new Vector(-LIIKEVOIMA, 0)); 
     2273 
     2274        LiikutaPelaajaa(pelaajaNro, pelaaja); 
    21502275        pelaajaNro.Listen(Button.DPadLeft, ButtonState.Down, liikuta, "Pelaaja liikkuu vasemmalle", pelaaja, new Vector(-LIIKEVOIMA, 0)); 
    21512276        pelaajaNro.Listen(Button.DPadRight, ButtonState.Down, liikuta, "Pelaaja liikkuu oikealle", pelaaja, new Vector(LIIKEVOIMA, 0)); 
    21522277        pelaajaNro.Listen(Button.A, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pelaaja, HYPPYVOIMA); 
    21532278        pelaajaNro.Listen(Button.RightTrigger, ButtonState.Down, Ammu, "Ammu", pelaaja); 
    2154     } 
    2155  
    2156     void PeliPauselle() 
     2279        pelaajaNro.Listen(Button.LeftTrigger, ButtonState.Down, LukitseSuunta, "Lukitse suunta", pelaaja); 
     2280        pelaajaNro.Listen(Button.LeftTrigger, ButtonState.Pressed, ValitseSuunta, "Valitse lukittava suunta", pelaaja); 
     2281 
     2282        pelaajaNro.Listen(Button.Start, ButtonState.Pressed, PeliPauselle, "Pysäyttää pelin", pelaaja); 
     2283    } 
     2284 
     2285    void LiikutaPelaajaa(GamePad pelaajaNro, PlatformCharacter pelaaja) 
     2286    { 
     2287        pelaajaNro.ListenAnalog(AnalogControl.LeftStick, 0.1, liikutaAnalog, "Pelaaja liikkuu vasemmalle", pelaaja, LIIKEVOIMA); 
     2288    } 
     2289 
     2290 
     2291    void PeliPauselle(PlatformCharacter pelaaja) 
    21572292    { 
    21582293        Pause(); 
     
    21662301        PauseValikko.DefaultCancel = 0; 
    21672302        PauseValikko.Color = Color.Gray; 
     2303 
     2304        //if (pelaaja == pelaaja1) 
     2305        //{ 
     2306        //ControllerOne.Listen(Button.DPadUp, ButtonState.Pressed, delegate { PauseValikko.SelectedIndex = (PauseValikko.Buttons.Length + PauseValikko.SelectedIndex - 1) % PauseValikko.Buttons.Length; }, null).InContext(PauseValikko); 
     2307        //ControllerOne.Listen(Button.DPadDown, ButtonState.Pressed, delegate { PauseValikko.SelectedIndex = (PauseValikko.SelectedIndex + 1) % PauseValikko.Buttons.Length; }, null).InContext(PauseValikko); 
     2308        ControllerOne.Listen(Button.Start, ButtonState.Pressed, delegate { PauseValikko.Close(); Pause(); }, null).InContext(PauseValikko); 
     2309        ControllerOne.Listen(Button.B, ButtonState.Pressed, delegate { PauseValikko.Close(); Pause(); }, null).InContext(PauseValikko); 
     2310        //ControllerOne.Listen(Button.A, ButtonState.Pressed, delegate { PauseValikko.SelectedButton.Click(); }, null).InContext(PauseValikko); 
     2311        //} 
     2312 
     2313        //if (pelaaja == pelaaja2) 
     2314        //{ 
     2315        ControllerTwo.Listen(Button.DPadUp, ButtonState.Pressed, delegate { PauseValikko.SelectedIndex = (PauseValikko.Buttons.Length + PauseValikko.SelectedIndex - 1) % PauseValikko.Buttons.Length; }, null).InContext(PauseValikko); 
     2316        ControllerTwo.Listen(Button.DPadDown, ButtonState.Pressed, delegate { PauseValikko.SelectedIndex = (PauseValikko.SelectedIndex + 1) % PauseValikko.Buttons.Length; }, null).InContext(PauseValikko); 
     2317        ControllerTwo.Listen(Button.Start, ButtonState.Pressed, delegate { PauseValikko.Close(); Pause(); }, null).InContext(PauseValikko); 
     2318        ControllerTwo.Listen(Button.B, ButtonState.Pressed, delegate { PauseValikko.Close(); Pause(); }, null).InContext(PauseValikko); 
     2319        ControllerTwo.Listen(Button.A, ButtonState.Pressed, delegate { PauseValikko.SelectedButton.Click(); }, null).InContext(PauseValikko); 
     2320        //} 
    21682321    } 
    21692322 
     
    21722325    { 
    21732326        hahmo.Walk(voima.X); 
     2327    } 
     2328 
     2329    void liikutaAnalog(AnalogState tatinTila, PlatformCharacter hahmo, double voima) 
     2330    { 
     2331        Vector tatinAsento = tatinTila.StateVector; 
     2332 
     2333        hahmo.Walk(voima * tatinAsento.X); 
    21742334    } 
    21752335 
     
    24672627    } 
    24682628 
     2629    void uusiYksinPeli() 
     2630    { 
     2631        LuoTaso(); 
     2632        NollaaLaskurit(); 
     2633    } 
     2634 
    24692635    void uusiPeli() 
    24702636    { 
  • 2012/09-22/SanteriH/Kynari/Kynari/Kynari/Kynari.csproj.Debug.cachefile

    r4224 r4248  
    4848Content\ammuslv4.xnb 
    4949Content\kentta3.xnb 
     50Content\taso1.xnb 
     51Content\taso0.xnb 
    5052Content\tausta.wma 
    5153Content\kentta1.txt 
  • 2012/09-22/SanteriH/Kynari/Kynari/Kynari/bin/x86/Debug/Jypeli.xml

    r4194 r4248  
    659659            <returns></returns> 
    660660        </member> 
     661        <member name="M:Jypeli.GameObject.SeesObject(Jypeli.GameObject,System.Object)"> 
     662            <summary> 
     663            NÀkeekö olio toisen. 
     664            </summary> 
     665            <param name="obj">Toinen olio</param> 
     666            <param name="obstacleTag">Tagi esteelle</param> 
     667            <returns></returns> 
     668        </member> 
     669        <member name="M:Jypeli.GameObject.SeesTarget(Jypeli.Vector)"> 
     670            <summary> 
     671            NÀkeekö olio paikkaan. 
     672            </summary> 
     673            <param name="targetPosition">Paikka</param> 
     674            <returns></returns> 
     675        </member> 
     676        <member name="M:Jypeli.GameObject.SeesTarget(Jypeli.Vector,System.Predicate{Jypeli.GameObject})"> 
     677            <summary> 
     678            NÀkeekö olio paikkaan. 
     679            </summary> 
     680            <param name="targetPosition">Paikka</param> 
     681            <param name="isObstacle">Ehto sille mikÀ lasketaan esteeksi</param> 
     682            <returns></returns> 
     683        </member> 
     684        <member name="M:Jypeli.GameObject.SeesTarget(Jypeli.Vector,System.Object)"> 
     685            <summary> 
     686            NÀkeekö olio paikkaan. 
     687            </summary> 
     688            <param name="targetPosition">Paikka</param> 
     689            <param name="obstacleTag">Tagi esteelle</param> 
     690            <returns></returns> 
     691        </member> 
     692        <member name="M:Jypeli.GameObject.IsBlocking(Jypeli.Vector,Jypeli.Vector)"> 
     693            <summary> 
     694            Onko olio kahden paikan vÀlissÀ. 
     695            </summary> 
     696            <param name="obj">Olio</param> 
     697            <param name="pos1">Paikka 1</param> 
     698            <param name="pos2">Paikka 2</param> 
     699            <returns></returns> 
     700        </member> 
    661701        <member name="M:Jypeli.GameObject.FadeColorTo(Jypeli.Color,System.Double)"> 
    662702            <summary> 
     
    23602400            <param name="radius">SÀde jolla etsitÀÀn</param> 
    23612401            <returns>Mahdollinen olio</returns> 
     2402        </member> 
     2403        <member name="M:Jypeli.Game.GetObjectsBetween(Jypeli.Vector,Jypeli.Vector)"> 
     2404            <summary> 
     2405            Palauttaa pelioliot kahden pisteen vÀlillÀ. 
     2406            </summary> 
     2407            <param name="pos1"></param> 
     2408            <param name="pos2"></param> 
     2409            <returns></returns> 
    23622410        </member> 
    23632411        <member name="M:Jypeli.Game.LoadAnimation(System.String)"> 
     
    68786926            </summary> 
    68796927        </member> 
     6928        <member name="F:Jypeli.Widgets.MultiSelectWindow.QuestionLabel"> 
     6929            <summary> 
     6930            Kysymys. 
     6931            </summary> 
     6932        </member> 
    68806933        <member name="M:Jypeli.Widgets.MultiSelectWindow.#ctor(System.String,System.String[])"> 
    68816934            <summary> 
     
    68996952            MitÀ valitaan kun kÀyttÀjÀ painaa esc tai takaisin-nÀppÀintÀ. 
    69006953            Laittomalla arvolla (esim. negatiivinen) em. nÀppÀimistÀ ei tapahdu mitÀÀn. 
     6954            </summary> 
     6955        </member> 
     6956        <member name="P:Jypeli.Widgets.MultiSelectWindow.SelectedIndex"> 
     6957            <summary> 
     6958            Kuinka mones nappula on valittuna (alkaa nollasta) 
    69016959            </summary> 
    69026960        </member> 
     
    1173911797            </summary> 
    1174011798        </member> 
     11799        <member name="M:Jypeli.Level.Clear"> 
     11800            <summary> 
     11801            Palauttaa oletustaustan. 
     11802            </summary> 
     11803        </member> 
    1174111804        <member name="M:Jypeli.Level.FindObjectLimits"> 
    1174211805            <summary> 
  • 2012/09-22/SanteriH/Kynari/Kynari/Kynari/obj/x86/Debug/Kynari.csproj.FileListAbsolute.txt

    r4224 r4248  
    5858C:\MyTemp\SanteriH\Kynari\Kynari\Kynari\bin\x86\Debug\Content\ammuslv4.xnb 
    5959C:\MyTemp\SanteriH\Kynari\Kynari\Kynari\bin\x86\Debug\Content\kentta3.xnb 
     60C:\MyTemp\SanteriH\Kynari\Kynari\Kynari\bin\x86\Debug\Content\taso1.xnb 
     61C:\MyTemp\SanteriH\Kynari\Kynari\Kynari\bin\x86\Debug\Content\taso0.xnb 
  • 2012/09-22/SanteriH/Kynari/Kynari/Kynari/obj/x86/Debug/cachefile-{CE1DC0B1-C320-4A5D-86A8-6245AF0207D1}-targetpath.txt

    r4224 r4248  
    4949Content\ammuslv4.xnb 
    5050Content\kentta3.xnb 
     51Content\taso1.xnb 
     52Content\taso0.xnb 
    5153Content\kentta1.txt 
  • 2012/09-22/SanteriH/Kynari/Kynari/KynariContent/KynariContent.contentproj

    r4224 r4248  
    372372    </Compile> 
    373373  </ItemGroup> 
     374  <ItemGroup> 
     375    <Compile Include="taso1.txt"> 
     376      <Name>taso1</Name> 
     377      <Importer>TextFileImporter</Importer> 
     378      <Processor>TextFileContentProcessor</Processor> 
     379    </Compile> 
     380  </ItemGroup> 
     381  <ItemGroup> 
     382    <Compile Include="taso0.txt"> 
     383      <Name>taso0</Name> 
     384      <Importer>TextFileImporter</Importer> 
     385      <Processor>TextFileContentProcessor</Processor> 
     386    </Compile> 
     387  </ItemGroup> 
    374388  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    375389  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
  • 2012/09-22/SanteriH/Kynari/Kynari/KynariContent/obj/x86/Debug/ContentPipeline.xml

    r4224 r4248  
    443443      <Output>C:\MyTemp\SanteriH\Kynari\Kynari\Kynari\bin\x86\Debug\Content\kentta3.xnb</Output> 
    444444      <Time>2013-06-25T13:35:02.0747624+03:00</Time> 
     445    </Item> 
     446    <Item> 
     447      <Source>taso1.txt</Source> 
     448      <Name>taso1</Name> 
     449      <Importer>TextFileImporter</Importer> 
     450      <Processor>TextFileContentProcessor</Processor> 
     451      <Options>None</Options> 
     452      <Output>C:\MyTemp\SanteriH\Kynari\Kynari\Kynari\bin\x86\Debug\Content\taso1.xnb</Output> 
     453      <Time>2013-06-25T13:14:13.8889563+03:00</Time> 
     454    </Item> 
     455    <Item> 
     456      <Source>taso0.txt</Source> 
     457      <Name>taso0</Name> 
     458      <Importer>TextFileImporter</Importer> 
     459      <Processor>TextFileContentProcessor</Processor> 
     460      <Options>None</Options> 
     461      <Output>C:\MyTemp\SanteriH\Kynari\Kynari\Kynari\bin\x86\Debug\Content\taso0.xnb</Output> 
     462      <Time>2013-06-25T13:14:13.8889563+03:00</Time> 
    445463    </Item> 
    446464    <BuildSuccessful>true</BuildSuccessful> 
Note: See TracChangeset for help on using the changeset viewer.