Changeset 5592 for 2014/30


Ignore:
Timestamp:
2014-07-23 15:00:26 (9 years ago)
Author:
sidatogr
Message:

Viholliset hyökkäävät nyt Pelaajan kimppuun, ajastimet yms laitettu.

Location:
2014/30/SimonG/OmaPeli2014
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • 2014/30/SimonG/OmaPeli2014/OmaPeli2014/OmaPeli2014/OmaPeli2014.cs

    r5571 r5592  
    1111    PhysicsObject Pelaaja; 
    1212    AssaultRifle PelaajanAse; 
    13  
     13    Timer aikaLaskuri; 
    1414 
    1515    public override void Begin() 
    1616    { 
    1717        IsMouseVisible = true; 
     18        SetWindowSize (800, 600); 
     19        AloitaPeli(); 
     20    } 
     21 
     22    void AloitaPeli() 
     23    { 
     24        ClearAll(); 
     25 
    1826        Luokentta(); 
    1927        LuoHyokkaaja(); 
    20         SetWindowSize (800, 600); 
    21         LuoHyokkaaja(); 
    22         LuoHyokkaaja(); 
    23         LuoHyokkaaja(); 
    24         LuoHyokkaaja(); 
    25         LuoHyokkaaja(); 
    26         LuoHyokkaaja(); 
    27  
     28        LuoAikaLaskuri(); 
     29         
    2830        Level.CreateBorders (); 
    2931        Camera.ZoomToLevel(); 
    30  
    3132         
    32          
     33        Timer ajastin = new Timer(); 
     34        ajastin.Interval = 6.9; 
     35        ajastin.Timeout += LuoHyokkaaja; 
     36        ajastin.Start(); 
    3337 
    3438        Keyboard.Listen(Key.A, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-1000, 0)); 
     
    4852        Pelaaja.Push(vektori); 
    4953    } 
     54 
     55    void KunOllaanLahella() 
     56    { 
     57        if (!Pelaaja.IsDestroyed) 
     58        { 
     59            aikaLaskuri.Stop(); 
     60            Pelaaja.Destroy(); 
     61            MessageDisplay.Add("Hävisit"); 
     62 
     63            Explosion rajahdys = new Explosion(1000); 
     64            rajahdys.Position = Pelaaja.Position; 
     65            Add(rajahdys); 
     66            rajahdys.Speed = 400.0; 
     67            rajahdys.Force = 1000; 
     68 
     69            Timer.SingleShot(4, AloitaPeli); 
     70        } 
     71         
     72    } 
     73 
     74    void LuoAikaLaskuri() 
     75    { 
     76        aikaLaskuri = new Timer(); 
     77        aikaLaskuri.Start(); 
     78 
     79        Label aikaNaytto = new Label(); 
     80        aikaNaytto.TextColor = Color.White; 
     81        aikaNaytto.DecimalPlaces = 1; 
     82        aikaNaytto.BindTo(aikaLaskuri.SecondCounter); 
     83        Add(aikaNaytto); 
     84 
     85    } 
    5086    void Luokentta() 
    5187    { 
     
    6298        Pelaaja.Add(PelaajanAse); 
    6399        PelaajanAse.AttackSound = null; 
    64  
    65  
     100         
    66101        Mouse.Listen (MouseButton.Left, ButtonState.Pressed, AmmuAseella, "Ammu", PelaajanAse); 
    67102 
    68103        Mouse.ListenMovement(0.0, Tahtaa, "Tähtää aseella"); 
    69  
    70104    } 
    71105    void LuoHyokkaaja() 
    72106    { 
    73         PhysicsObject Hyokkaaja = new PhysicsObject(50, 50); 
    74         Hyokkaaja.Shape = Shape.Circle; 
    75         Hyokkaaja.Color = Color.MediumPurple; 
    76         Hyokkaaja.Tag = "Hyokkaaja"; 
    77         FollowerBrain seuraajanAivot = new FollowerBrain("Hyokkaaja"); 
    78         Add(Hyokkaaja); 
    79  
    80         Hyokkaaja.X = RandomGen.NextDouble(Level.Left,Level.Left + 50); 
    81         Hyokkaaja.Y = RandomGen.NextDouble(Level.Top, Level.Bottom); 
     107        for (int i = 0; i < 18; i++) 
     108        { 
     109            FollowerBrain SeuraajanAivot = new FollowerBrain("Pelaaja"); 
     110            SeuraajanAivot.Speed = 200; 
     111            SeuraajanAivot.DistanceFar = 8000; 
     112            SeuraajanAivot.DistanceClose = 56; 
     113            SeuraajanAivot.StopWhenTargetClose = false; 
     114            SeuraajanAivot.TargetClose += KunOllaanLahella; 
     115            SeuraajanAivot.Active = true; 
     116             
     117            PhysicsObject Hyokkaaja = new PhysicsObject(50, 50); 
     118            Hyokkaaja.Shape = Shape.Circle; 
     119            Hyokkaaja.Color = Color.MediumPurple; 
     120            Hyokkaaja.Tag = "Hyokkaaja"; 
     121            Add(Hyokkaaja); 
     122            Hyokkaaja.Brain = SeuraajanAivot; 
     123            SeuraajanAivot.Speed = 69; 
     124            Hyokkaaja.LinearDamping = 0.9; 
     125             
     126            if (RandomGen.NextBool()) 
     127            { 
     128                Hyokkaaja.X = RandomGen.SelectOne(Level.Left, Level.Right); 
     129                Hyokkaaja.Y = RandomGen.NextDouble(Level.Top, Level.Bottom); 
     130            } 
     131            else 
     132            { 
     133                Hyokkaaja.X = RandomGen.NextDouble(Level.Left + 50, Level.Right - 50); 
     134                Hyokkaaja.Y = RandomGen.SelectOne(Level.Bottom + 50, Level.Top - 50); 
     135            } 
     136        } 
    82137    } 
    83138    void Tahtaa(AnalogState hiirenliike) 
Note: See TracChangeset for help on using the changeset viewer.