Ignore:
Timestamp:
2018-04-07 15:04:04 (16 months ago)
Author:
rikavila
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2017/koodauskerho/mastermijari/Seikkailu/Seikkailu/Seikkailu/Seikkailu.cs

    r9496 r9516  
    1616    PhysicsObject pelaaja; 
    1717 
     18    Image nuolenkuva = LoadImage("nuoli"); 
     19    PhysicsObject nuoli; 
     20 
    1821    Image hirvionkuva = LoadImage("hirvio"); 
    1922    PhysicsObject hirvio; 
     
    2124    Image puukonkuva = LoadImage("PuuuuuuKKo"); 
    2225    PhysicsObject puukko; 
     26 
     27    Image pallonkuva = LoadImage("tuulipallo"); 
     28    PhysicsObject pallo; 
    2329 
    2430    Image pelaajan2kuva = LoadImage("ihminen2"); 
     
    2632    int kenttanro = 1; 
    2733    Image ampujankuva = LoadImage("hirvio2"); 
     34 
     35    bool tulipallovalmis = true; 
    2836 
    2937    Image puunkuva = LoadImage("puuu"); 
     
    4654        ajastin.Start(); 
    4755 
     56 
     57 
    4858        Timer ajastin2 = new Timer(); 
    49         ajastin.Interval = 3.0; 
    50         ajastin.Timeout += LisaaAmpuja; 
    51         ajastin.Start(); 
     59        ajastin2.Interval = 3.0; 
     60        ajastin2.Timeout += LisaaAmpuja; 
     61        ajastin2.Start(); 
    5262 
    5363 
     
    8494        pisteLaskuri.UpperLimit += () => { 
    8595            // tässä toinen kenttä 
    86  
     96            tulipallovalmis = true; 
    8797            ClearAll(); 
    8898            kenttanro++; 
     
    143153        Mouse.Listen(MouseButton.Left, ButtonState.Pressed, 
    144154            HeitaPuukko, null, pelaaja); 
    145  
     155        Mouse.Listen(MouseButton.Right, ButtonState.Pressed, 
     156            AmmuTulta, null, pelaaja); 
    146157 
    147158 
     
    199210        hirvio.CanRotate = true; 
    200211        Add(hirvio); 
    201         FollowerBrain seuraajanAivot = new FollowerBrain(pelaaja, pelaaja2); 
     212        FollowerBrain seuraajanAivot = new FollowerBrain(pelaaja,  pelaaja2); 
    202213        seuraajanAivot.Speed = 50; 
    203214        //   seuraajanAivot.DistanceFar = 60;           
     
    222233        //   seuraajanAivot.DistanceClose = 50;          
    223234        // seuraajanAivot.StopWhenTargetClose = true; 
     235        seuraajanAivot.TurnWhileMoving = true; 
    224236        ampuja.Brain = seuraajanAivot; 
    225237        ampuja.Tag = "ampuja"; 
    226238        AddCollisionHandler(ampuja, "pelaaja", törmää); 
    227239        AddCollisionHandler(ampuja, "pelaaja2", törmää2); 
     240        Timer ajastin3 = new Timer(); 
     241        ajastin3.Interval = 3.5; 
     242        ajastin3.Timeout += delegate { LisaaNuoli(ampuja); }; 
     243        ajastin3.Start(); 
     244    } 
     245 
     246    void LisaaNuoli(PhysicsObject ampuja) 
     247    { 
     248        PhysicsObject nuoli = new PhysicsObject(20, 50); 
     249        ampuja.Throw(nuoli, Angle.FromDegrees(0), 500); 
     250        AddCollisionHandler(nuoli, "pelaaja", törmää); 
     251        nuoli.Width = 50; 
     252        nuoli.Height = 30; 
     253        nuoli.Image = nuolenkuva; 
     254        nuoli.MaximumLifetime = TimeSpan.FromSeconds(1.0); 
     255 
    228256    } 
    229257    void LuoelamaLaskuri() 
     
    292320        pelaaja.Throw(puukko, Angle.FromDegrees(-90), 500); 
    293321        AddCollisionHandler(puukko, "hirvio", törmää3); 
     322        AddCollisionHandler(puukko, "ampuja", törmää3); 
    294323        puukko.Width = 50; 
    295324        puukko.Height = 30; 
     
    298327 
    299328    } 
     329    void AmmuTulta(PhysicsObject pelaaja) 
     330    { 
     331        if (!tulipallovalmis) return; 
     332        tulipallovalmis = false; 
     333        PhysicsObject pallo = new PhysicsObject(20, 50); 
     334        pelaaja.Throw(pallo, Angle.FromDegrees(-90), 700); 
     335        AddCollisionHandler(pallo, "hirvio", törmää3); 
     336        AddCollisionHandler(pallo, "ampuja", törmää3); 
     337        pallo.Width = 100; 
     338        pallo.Height = 100; 
     339        pallo.Image = pallonkuva; 
     340        pallo.MaximumLifetime = TimeSpan.FromSeconds(1.0); 
     341        Timer.SingleShot(3.5, delegate { tulipallovalmis = true; }); 
     342 
     343    } 
    300344 
    301345} 
Note: See TracChangeset for help on using the changeset viewer.