Ignore:
Timestamp:
2017-10-21 14:58:12 (2 years ago)
Author:
mianhayr
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2017/24/EljaL/TheMetsäsurvivor/TheMetsäsurvivor/TheMetsäsurvivor/TheMetsäsurvivor.cs

    r8767 r9465  
    99public class TheMetsäsurvivor : PhysicsGame 
    1010{ 
    11      
     11 
    1212    PhysicsObject ihminen; 
     13    PhysicsObject karhuansa; 
     14    PhysicsObject Generaattori; 
    1315    PhysicsObject karhu; 
    1416    Image ihminenkuva = LoadImage("ihminen"); 
    15     Image karhukuva = LoadImage("karhu"); 
     17    Image TNT = LoadImage("TNT"); 
     18    Image karhukuva = LoadImage("karhu2"); 
    1619    Image puukuva = LoadImage("Puu"); 
    1720    Image kivikuva = LoadImage("kivi"); 
     21    Image Gene = LoadImage("Generaattori"); 
    1822    Timer aikaLaskuri; 
    1923    SoundEffect karhuaani = LoadSoundEffect("karhuaani"); 
     
    2327    public override void Begin() 
    2428    { 
     29        Keyboard.Listen(Key.O, ButtonState.Pressed, Pause, "pysäyttää pelin"); 
     30 
     31        Keyboard.Listen(Key.L, ButtonState.Down, luokansa, null); 
     32 
     33        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
     34 
    2535        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    2636 
    27         IsFullScreen = true; 
     37        IsFullScreen = false; 
     38 
     39        ihminen = new PhysicsObject(40, 40); 
     40        ihminen.CanRotate = true; 
     41        ihminen.Restitution = 0.1; 
     42        ihminen.Image = ihminenkuva; 
     43        ihminen.Shape = Shape.Circle; 
     44        Add(ihminen); 
     45 
     46        luokarhu(700, 700); 
    2847 
    2948        Mouse.IsCursorVisible = true; 
     
    3655        Reuna(4000, 10, 0, -2000); 
    3756 
    38         ihminen = new PhysicsObject(40, 40); 
    39         ihminen.CanRotate = true; 
    40         ihminen.Restitution = 0.0; 
    41         ihminen.Image = ihminenkuva; 
    42         ihminen.Shape = Shape.Circle; 
    43         Add(ihminen); 
    44  
    45         FollowerBrain seuraajanAivot = new FollowerBrain(ihminen); 
    46         RandomMoverBrain satunnaisAivot = new RandomMoverBrain(200); 
    47         satunnaisAivot.ChangeMovementSeconds = 3; 
    48  
    49         karhu = new PhysicsObject(40.0, 40.0); 
    50         karhu.Color = Color.Brown; 
    51         karhu.X = RandomGen.NextDouble(2000, -2000); 
    52         karhu.Y = RandomGen.NextDouble(2000, -2000); 
    53         karhu.Tag = "karhu"; 
    54         karhu.Brain = seuraajanAivot; 
    55         karhu.Image = karhukuva; 
    56         Add(karhu); 
    57  
    58         seuraajanAivot.Speed = 100; 
    59         seuraajanAivot.DistanceFar = 1000; 
    60         seuraajanAivot.FarBrain = satunnaisAivot; 
    61         seuraajanAivot.FarBrain = satunnaisAivot; 
    62  
    63  
    64  
    65  
    66  
    67         AddCollisionHandler(ihminen, karhu, karhutormays); 
     57        Generaattori = new PhysicsObject(60, 60); 
     58        Generaattori.CanRotate = true; 
     59        Generaattori.Shape = Shape.Circle; 
     60        Generaattori.Color = Color.Brown; 
     61        Generaattori.Restitution = 0.5; 
    6862 
    6963        for (int i = 0; i < RandomGen.NextInt(10, 30); i++) 
     
    8882        luokentta(); 
    8983 
    90         Keyboard.Listen(Key.Left, ButtonState.Down, käännäpelaajaav, null); 
    91         Keyboard.Listen(Key.Right, ButtonState.Down, käännäpelaajaao, null); 
    92         Keyboard.Listen(Key.Up, ButtonState.Down, käännäpelaajaay, null); 
    93         Keyboard.Listen(Key.Down, ButtonState.Down, käännäpelaajaaa, null); 
     84        Keyboard.Listen(Key.A, ButtonState.Down, käännäpelaajaav, null); 
     85        Keyboard.Listen(Key.D, ButtonState.Down, käännäpelaajaao, null); 
     86        Keyboard.Listen(Key.W, ButtonState.Down, käännäpelaajaay, null); 
     87        Keyboard.Listen(Key.S, ButtonState.Down, käännäpelaajaaa, null); 
    9488 
    9589        Keyboard.Listen(Key.A, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-50, 0)); 
     
    115109    void käännäpelaajaav() 
    116110    { 
     111        ihminen.Angle = Angle.FromDegrees(90); 
     112    } 
     113    void käännäpelaajaao() 
     114    { 
    117115        ihminen.Angle = Angle.FromDegrees(-90); 
    118116    } 
    119     void käännäpelaajaao() 
    120     { 
    121         ihminen.Angle = Angle.FromDegrees(90); 
    122     } 
    123117    void käännäpelaajaay() 
    124118    { 
     119        ihminen.Angle = Angle.FromDegrees(-0); 
     120    } 
     121    void käännäpelaajaaa() 
     122    { 
    125123        ihminen.Angle = Angle.FromDegrees(180); 
    126     } 
    127     void käännäpelaajaaa() 
    128     { 
    129         ihminen.Angle = Angle.FromDegrees(0); 
    130124    } 
    131125    void teekivi() 
     
    234228        karhuaani.Play(); 
    235229    } 
     230 
     231    void karhukuolema(PhysicsObject karhu, PhysicsObject karhuansa) 
     232    { 
     233        karhu.Destroy(); 
     234        Explosion rajahdys = new Explosion(10); 
     235        rajahdys.Position = karhuansa.Position; 
     236        Add(rajahdys); 
     237        luokarhu(300, 300); 
     238    } 
     239     
    236240    void ripped() 
    237241    { 
    238242        MessageDisplay.Add("kuolit"); 
    239243        ihminen.Destroy(); 
     244        Explosion rajahdys = new Explosion(100); 
     245        rajahdys.Position = ihminen.Position; 
     246        Add(rajahdys); 
    240247    } 
    241248 
     
    351358            if (puuLaskuri > 29) 
    352359            { 
    353                 kivigen.Value += 1; 
    354                 kivilaskuri.AddOverTime(1000000, 10000000); 
    355                 kivilaskuri.Value -= 10; 
    356                 puuLaskuri.Value -= 30; 
    357360                if (kivigen < 5) 
    358361                { 
    359362 
     363 
     364                    kivigen.Value += 1; 
     365                    kivilaskuri.AddOverTime(1000000, 10000000); 
     366                    kivilaskuri.Value -= 10; 
     367                    puuLaskuri.Value -= 30; 
     368                    luogeneraattori(ihminen.X, ihminen.Y); 
    360369                    kivilaskuri.AddOverTime(1000000 * kivigen, 10000000); 
     370 
    361371                } 
     372                 
     373 
     374                     
     375                 
    362376                } 
    363377 
     
    372386            if (kivilaskuri > 29) 
    373387            { 
    374                 puugen.Value += 1; 
    375                 puuLaskuri.AddOverTime(1000000, 10000000); 
    376                 puuLaskuri.Value -= 10; 
    377                 kivilaskuri.Value -= 30; 
    378388                if (puugen < 5) 
    379389                { 
    380  
     390                    puugen.Value += 1; 
     391                    puuLaskuri.AddOverTime(1000000, 10000000); 
     392                    puuLaskuri.Value -= 10; 
     393                    kivilaskuri.Value -= 30; 
    381394                    puuLaskuri.AddOverTime(1000000 * puugen, 10000000); 
     395                    luogeneraattori(ihminen.X, ihminen.Y); 
    382396                } 
     397                 
     398 
     399                     
     400                 
    383401            } 
    384402        } 
     
    395413                puuLaskuri.Value -= 100; 
    396414                kivilaskuri.Value -= 100; 
     415                luogeneraattori(ihminen.X, ihminen.Y); 
    397416 
    398417                    pojolaskuri.AddOverTime(1000000*pistegen, 10000000); 
     
    402421        } 
    403422    } 
     423    void luogeneraattori(double x, double y) 
     424    { 
     425        Generaattori = new PhysicsObject(60, 60); 
     426        Generaattori.CanRotate = true; 
     427        Generaattori.Shape = Shape.Circle; 
     428        Generaattori.Color = Color.Brown; 
     429        Generaattori.X = x; 
     430        Generaattori.Y = y; 
     431        Generaattori.Image = Gene; 
     432        Add(Generaattori); 
     433    } 
     434    void luokansa() 
     435    { 
     436        if (puuLaskuri > 19) 
     437        { 
     438            if(kivilaskuri > 19) 
     439            { 
     440                puuLaskuri.Value -= 20; 
     441                kivilaskuri.Value -= 20; 
     442                karhuansa = new PhysicsObject(30, 30); 
     443                karhuansa.Shape = Shape.Circle; 
     444                karhuansa.Color = Color.Gray; 
     445                karhuansa.X = ihminen.X; 
     446                karhuansa.Y = ihminen.Y; 
     447                karhuansa.Image = TNT; 
     448                Add(karhuansa); 
     449                AddCollisionHandler(karhu, karhuansa, karhukuolema); 
     450 
     451            } 
     452        } 
     453    } 
     454    void luokarhu(double x, double y) 
     455    { 
     456        FollowerBrain seuraajanAivot = new FollowerBrain(ihminen); 
     457        RandomMoverBrain satunnaisAivot = new RandomMoverBrain(200); 
     458        satunnaisAivot.ChangeMovementSeconds = 3; 
     459 
     460        karhu = new PhysicsObject(70.0, 40.0); 
     461        karhu.X = x; 
     462        karhu.Y = y; 
     463        karhu.Tag = "karhu"; 
     464        karhu.Brain = seuraajanAivot; 
     465        karhu.Image = karhukuva; 
     466        karhu.Shape = Shape.Rectangle; 
     467 
     468        seuraajanAivot.Speed = 100; 
     469        seuraajanAivot.DistanceFar = 1000; 
     470        seuraajanAivot.FarBrain = satunnaisAivot; 
     471        seuraajanAivot.FarBrain = satunnaisAivot; 
     472        seuraajanAivot.TurnWhileMoving = true; 
     473        Add(karhu); 
     474 
     475        AddCollisionHandler(ihminen, karhu, karhutormays); 
     476    } 
    404477} 
Note: See TracChangeset for help on using the changeset viewer.