Changeset 4159


Ignore:
Timestamp:
2013-06-14 12:41:32 (6 years ago)
Author:
eefadjuk
Message:

Talletus.

Location:
2013/24/EeroF
Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • 2013/24/EeroF/FysiikkaPeli1/FysiikkaPeli1/FysiikkaPeli1/FysiikkaPeli1.cs

    r4131 r4159  
    1010 
    1111public class FysiikkaPeli1 : PhysicsGame 
    12 {    
     12{ 
    1313    IntMeter pisteLaskuri; 
    1414    PhysicsObject Mikko; 
     
    1818    Image omenakuva = LoadImage("omena"); 
    1919    Image hamiskuva = LoadImage("Hamis"); 
     20    Image hamiskuva2 = LoadImage("HamisNopea"); 
    2021    Image SaMiKu = LoadImage("Sahkomies"); 
    2122    Image mikkokaveri = LoadImage("MikkoKaveri2"); 
     
    3940    public override void Begin() 
    4041    { 
     42        IsPaused = false; 
     43        ClearAll(); 
     44        LataaAanet(); 
     45        Mouse.IsCursorVisible = true; 
     46        Level.Size = new Vector(1000, 800); 
     47        Camera.ZoomFactor = 1; 
     48 
    4149        MultiSelectWindow valikko = new MultiSelectWindow("Tervetuloa peliin", 
    4250            "Yksinpeli", "Kaksinpeli", "Lopeta"); 
     
    4654        Level.Background.Image = Alku; 
    4755        Level.Background.ScaleToLevelByHeight(); 
    48  
     56        Level.Background.TextureWrapSize = Vector.Diagonal; 
     57    } 
     58 
     59    void LataaAanet() 
     60    { 
     61        HamisLahella = LoadSoundEffect("HamisLahella"); 
    4962    } 
    5063 
     
    6780    } 
    6881 
    69         void AloitaPeli() 
    70         { 
    71              
     82    void AloitaPeli() 
     83    { 
     84        DoNextUpdate(delegate { Mouse.IsCursorVisible = false; }); 
    7285        LuoPelaaja(); 
    7386        LuoKentta(); 
    74          
     87 
    7588        LuoPistelaskuri(); 
    7689        LuoElamaLaskuri(); 
     
    7891        Level.Background.TileToLevel(); 
    7992        Camera.Follow(Mikko); 
     93        //Camera.ZoomFactor = 20; 
    8094        AddCollisionHandler(Mikko, "Omena", CollisionHandler.DestroyTarget); 
    8195        AddCollisionHandler(Mikko, "Parannus", CollisionHandler.DestroyTarget); 
     
    159173        if (pelaajia == 2) 
    160174        { 
    161             Keyboard.Listen(Key.W, ButtonState.Down, PelaajaKavelee, "Pelaaja liikkuu", Mikko, 250.0); 
    162             Keyboard.Listen(Key.S, ButtonState.Down, PelaajaKavelee, "Pelaaja liikkuu taakse", Mikko, -250.0); 
    163             Keyboard.Listen(Key.W, ButtonState.Released, PysaytaPelaaja, null, Mikkokaveri); 
    164             Keyboard.Listen(Key.S, ButtonState.Released, PysaytaPelaaja, null, Mikkokaveri); 
    165             Keyboard.Listen(Key.A, ButtonState.Released, PysaytaPelaaja, null, Mikkokaveri); 
    166             Keyboard.Listen(Key.D, ButtonState.Released, PysaytaPelaaja, null, Mikkokaveri); 
    167             Keyboard.Listen(Key.D, ButtonState.Released, PysaytaPelaaja, null, Mikkokaveri); 
    168             Keyboard.Listen(Key.A, ButtonState.Released, PysaytaPelaaja, null, Mikkokaveri); 
    169             Keyboard.Listen(Key.D, ButtonState.Down, KaantyyOikealle, "Pelaaja kääntyy", Mikkokaveri); 
    170             Keyboard.Listen(Key.A, ButtonState.Down, KaantyyVasemmalle, "Pelaaja kääntyy", Mikkokaveri); 
    171             Keyboard.Listen(Key.Q, ButtonState.Down, KaantyyVasemmalle2, "Pelaaja kääntyy vähän", Mikkokaveri); 
    172             Keyboard.Listen(Key.E, ButtonState.Down, KaantyyOikealle2, "Pelaaja kääntyy vähän", Mikkokaveri); 
    173             Keyboard.Listen(Key.LeftShift, ButtonState.Down, Ampuu, "Ampuu", pelaajan2Ase); 
    174  
    175             ControllerOne.Listen(Button.RightTrigger, ButtonState.Down, Ampuu, "Ampuu", pelaajan2Ase); 
    176             ControllerOne.ListenAnalog(AnalogControl.RightStick, 0.1, KuunteleeOikeaaTattia, "Kääntää pelaajaa", Mikkokaveri); 
    177             ControllerOne.Listen(Button.DPadUp, ButtonState.Down, PelaajaKavelee, "LiikuttaaPelaajaa", Mikkokaveri, 250.0); 
    178             ControllerOne.Listen(Button.DPadDown, ButtonState.Down, PelaajaKavelee, "LiikuttaaPelaajaa", Mikkokaveri, -250.0); 
    179             ControllerOne.Listen(Button.DPadUp, ButtonState.Released, PysaytaPelaaja, "LiikuttaaPelaajaa", Mikkokaveri); 
    180             ControllerOne.Listen(Button.DPadDown, ButtonState.Released, PysaytaPelaaja, "LiikuttaaPelaajaa", Mikkokaveri); 
     175            if (ControllerOne.IsConnected) 
     176            { 
     177                ControllerOne.Listen(Button.RightTrigger, ButtonState.Down, Ampuu, "Ampuu", pelaajan2Ase); 
     178                ControllerOne.ListenAnalog(AnalogControl.RightStick, 0.1, KuunteleeOikeaaTattia, "Kääntää pelaajaa", Mikkokaveri); 
     179                ControllerOne.Listen(Button.DPadUp, ButtonState.Down, PelaajaKavelee, "LiikuttaaPelaajaa", Mikkokaveri, 250.0); 
     180                ControllerOne.Listen(Button.DPadDown, ButtonState.Down, PelaajaKavelee, "LiikuttaaPelaajaa", Mikkokaveri, -250.0); 
     181                ControllerOne.Listen(Button.DPadUp, ButtonState.Released, PysaytaPelaaja, "LiikuttaaPelaajaa", Mikkokaveri); 
     182                ControllerOne.Listen(Button.DPadDown, ButtonState.Released, PysaytaPelaaja, "LiikuttaaPelaajaa", Mikkokaveri); 
     183            } 
     184            else 
     185            { 
     186                Keyboard.Listen(Key.W, ButtonState.Down, PelaajaKavelee, "Pelaaja liikkuu", Mikkokaveri, 250.0); 
     187                Keyboard.Listen(Key.S, ButtonState.Down, PelaajaKavelee, "Pelaaja liikkuu taakse", Mikkokaveri, -220.0); 
     188                Keyboard.Listen(Key.W, ButtonState.Released, PysaytaPelaaja, null, Mikkokaveri); 
     189                Keyboard.Listen(Key.S, ButtonState.Released, PysaytaPelaaja, null, Mikkokaveri); 
     190                Keyboard.Listen(Key.Q, ButtonState.Released, PysaytaPelaaja, null, Mikkokaveri); 
     191                Keyboard.Listen(Key.E, ButtonState.Released, PysaytaPelaaja, null, Mikkokaveri); 
     192                Keyboard.Listen(Key.A, ButtonState.Released, PysaytaPelaaja, null, Mikkokaveri); 
     193                Keyboard.Listen(Key.D, ButtonState.Released, PysaytaPelaaja, null, Mikkokaveri); 
     194                Keyboard.Listen(Key.D, ButtonState.Released, PysaytaPelaaja, null, Mikkokaveri); 
     195                Keyboard.Listen(Key.A, ButtonState.Released, PysaytaPelaaja, null, Mikkokaveri); 
     196                Keyboard.Listen(Key.D, ButtonState.Down, KaantyyOikealle, "Pelaaja kääntyy", Mikkokaveri); 
     197                Keyboard.Listen(Key.A, ButtonState.Down, KaantyyVasemmalle, "Pelaaja kääntyy", Mikkokaveri); 
     198                Keyboard.Listen(Key.Q, ButtonState.Down, KaantyyVasemmalle2, "Pelaaja kääntyy vähän", Mikkokaveri); 
     199                Keyboard.Listen(Key.E, ButtonState.Down, KaantyyOikealle2, "Pelaaja kääntyy vähän", Mikkokaveri); 
     200                Keyboard.Listen(Key.LeftShift, ButtonState.Down, Ampuu, "Ampuu", pelaajan2Ase); 
     201            } 
     202 
    181203        } 
    182204    } 
     
    210232    void Ampuu(AssaultRifle ase) 
    211233    { 
    212          
     234 
    213235        PhysicsObject ammus = ase.Shoot(); 
    214236 
     
    234256        if (kohde is Vihu) 
    235257        { 
    236             Vihu hamis = kohde as Vihu;+ 
     258            Vihu hamis = kohde as Vihu; 
    237259            hamis.ElamaLaskuri.Value -= 1; 
    238260            hamis.Hit(Vector.FromLengthAndAngle(2500, ammus.Angle)); 
     
    276298        } 
    277299 
     300        LuoHamis2(); 
     301 
    278302        for (int i = 0; i < 10; i++) 
    279303        { 
     
    281305        } 
    282306        Level.CreateBorders(); 
     307 
    283308        Timer ajastin = new Timer(); 
    284309        ajastin.Interval = 7.5; 
     
    286311        ajastin.Start(); 
    287312 
    288  
     313        Timer ajastin2 = new Timer(); 
     314        ajastin2.Interval = 10; 
     315        ajastin2.Timeout += delegate { LuoHamis2(); }; 
     316        ajastin2.Start(); 
    289317    } 
    290318    void LisaaVihuja() 
     
    301329        int luku2 = RandomGen.NextInt(-5000, 5000); 
    302330        PhysicsObject Omena = new PhysicsObject(15, 15); 
     331        Omena.IgnoresCollisionResponse = true; 
    303332        Omena.Image = omenakuva; 
    304333        Omena.Tag = "Omena"; 
     
    321350        PhysicsObject SaMi = new PhysicsObject(120, 100); 
    322351        SaMi.Image = SaMiKu; 
    323  
     352        SaMi.CollisionIgnoreGroup = 2; 
    324353 
    325354        SaMi.X = x + luku; 
     
    367396    } 
    368397 
    369     void ElamaLoppui(PhysicsObject kuollut)  
     398    void ElamaLoppui(PhysicsObject kuollut) 
    370399    { 
    371400        kuollut.Destroy(); 
    372401        if (kuollut.Image.Equals(mikkokuva)) Kuoli.Play(); 
    373402        else Kuoli2.Play(); 
    374          
     403 
    375404    } 
    376405 
     
    385414            topLista.EnterAndShow(pisteLaskuri.Value); 
    386415        }; 
     416        ajastin.IgnorePause = true; 
    387417        ajastin.Start(1); 
    388              
    389              
    390             //   topLista.HighScoreWindow.Closed += AloitaPeli; 
    391         
     418        IsPaused = true; 
     419 
     420        topLista.HighScoreWindow.Closed += delegate { Begin(); }; 
     421 
    392422    } 
    393423    void LisaaElamaa(PhysicsObject tormaaja, PhysicsObject kohde) 
     
    395425        if (tormaaja.Image.Equals(mikkokuva)) elamaLaskuri.Value++; 
    396426        else elamalaskuri2.Value++; 
    397         DoNextUpdate (delegate 
     427        DoNextUpdate(delegate 
    398428        { 
    399429            tormaaja.AngularVelocity = 0; 
    400430            tormaaja.AngularAcceleration = 0; 
    401431        }); 
    402          
     432 
    403433    } 
    404434    void VahennaElamaa(PhysicsObject tormaaja, PhysicsObject kohde) 
     
    408438 
    409439        Ai.Play(); 
     440        DoNextUpdate(delegate 
     441        { 
     442            tormaaja.AngularVelocity = 0; 
     443            tormaaja.AngularAcceleration = 0; 
     444        }); 
    410445    } 
    411446    void LuoHamis() 
     
    433468        LuoElamaLaskurivihkulle(Hamis); 
    434469    } 
     470    void LuoHamis2() 
     471    { 
     472        Vihu Hamis = new Vihu(30, 30); 
     473        Hamis.CollisionIgnoreGroup = 2; 
     474        Hamis.Color = Color.Black; 
     475        Hamis.Tag = "Hamis"; 
     476        Hamis.ElamaLaskuri.LowerLimit += Vihukuoli; 
     477        Hamis.CanRotate = false; 
     478        FollowerBrain aivot = new FollowerBrain("pelaaja"); 
     479        Hamis.Brain = aivot; 
     480        aivot.Speed = 200; 
     481        aivot.Active = true; 
     482        aivot.TargetClose += Hamislahella; 
     483        aivot.DistanceClose = 1000; 
     484 
     485        Hamis.Image = hamiskuva2; 
     486 
     487        int luku = RandomGen.NextInt(-5000, 5000); 
     488        int luku2 = RandomGen.NextInt(-5000, 5000); 
     489        Hamis.X = luku; 
     490        Hamis.Y = luku2; 
     491        Add(Hamis); 
     492 
     493        LuoElamaLaskurivihkulle(Hamis); 
     494    } 
     495 
    435496    void LuoParannus() 
    436497    { 
     
    438499        int luku2 = RandomGen.NextInt(-5000, 5000); 
    439500        PhysicsObject Parannus = new PhysicsObject(50, 50); 
     501        Parannus.IgnoresCollisionResponse = true; 
    440502        Parannus.Image = Tahti; 
    441503        Parannus.Tag = "Parannus"; 
     
    452514        Mikko = new PhysicsObject(70, 49); 
    453515        Mikko.Image = mikkokuva; 
     516        Mikko.LinearDamping = 0.9; 
     517        Mikko.AngularDamping = 0.9; 
     518 
    454519 
    455520        Mikko.Tag = "pelaaja"; 
     
    465530 
    466531 
    467       //  pelaajan1Ase.Power.DefaultValue = 100; 
     532        //  pelaajan1Ase.Power.DefaultValue = 100; 
    468533        Mikko.Add(pelaajan1Ase); 
    469534        pelaajan1Ase.Y = -10; 
     
    475540        Mikkokaveri = new PhysicsObject(70, 49); 
    476541        Mikkokaveri.Image = mikkokaveri; 
     542        Mikko.LinearDamping = 0.9; 
     543        Mikko.AngularDamping = 0.9; 
    477544        Mikkokaveri.X = -60; 
    478545        Mikkokaveri.Tag = "pelaaja"; 
     
    485552 
    486553 
    487       //  pelaajan2Ase.Power.DefaultValue = 100; 
     554        //  pelaajan2Ase.Power.DefaultValue = 100; 
    488555        Mikkokaveri.Add(pelaajan2Ase); 
    489556        pelaajan2Ase.Y = -10; 
     
    517584    void Lopetus() 
    518585    { 
    519         MultiSelectWindow valikko = new MultiSelectWindow("Haluatko lopettaa?", 
    520            "Kyllä", "Ei"); 
     586        Mouse.IsCursorVisible = true; 
     587        MultiSelectWindow valikko = new MultiSelectWindow("Pause", 
     588           "Jatka", "Päävalikko", "Poistu"); 
    521589        valikko.ItemSelected += PainettiinValikonNappia2; 
    522590        Add(valikko); 
    523591        IsPaused = true; 
    524       
     592 
    525593    } 
    526594 
     
    531599            case 0: 
    532600 
     601                IsPaused = false; 
     602                DoNextUpdate(delegate { Mouse.IsCursorVisible = false; }); 
     603                break; 
     604 
     605            case 1: 
     606                Begin(); 
     607                break; 
     608 
     609            case 2: 
    533610                Exit(); 
    534611                break; 
    535             case 1: 
    536                 IsPaused = false; 
    537      
    538                 break; 
    539             
    540         } 
    541     } 
    542  
    543     void Randomgen() 
    544     { 
    545         //  int luku = RandomGen.NextInt( 100 ); (pienempi kuin 100) 
    546         //int luku = RandomGen.NextInt( 50, 1000 ); (väliltä 50-999) 
    547     } 
     612 
     613        } 
     614    } 
     615 
     616 
    548617 
    549618 
     
    562631    } 
    563632} 
    564 class Vihu2 : PhysicsObject 
    565 { 
    566     private IntMeter elamaLaskuri = new IntMeter(1, 0, 1); 
    567     public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 
    568  
    569     public Vihu2(double leveys, double korkeus) 
    570         : base(leveys, korkeus) 
    571     { 
    572         elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 
    573  
    574     } 
    575 } 
  • 2013/24/EeroF/FysiikkaPeli1/FysiikkaPeli1/FysiikkaPeli1Content/FysiikkaPeli1Content.contentproj

    r4123 r4159  
    171171    </Compile> 
    172172  </ItemGroup> 
     173  <ItemGroup> 
     174    <Compile Include="HamisNopea.png"> 
     175      <Name>HamisNopea</Name> 
     176      <Importer>TextureImporter</Importer> 
     177      <Processor>TextureProcessor</Processor> 
     178    </Compile> 
     179  </ItemGroup> 
    173180  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    174181  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
Note: See TracChangeset for help on using the changeset viewer.