Ignore:
Timestamp:
2017-08-04 13:04:17 (23 months ago)
Author:
nupeohje
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2017/31/OskariP/Alienharvester2/Alienharvester2/Alienharvester2/Alienharvester2.cs

    r9430 r9447  
    1414 
    1515     const double nopeus = 200; 
    16     const double hyppyNopeus = 750; 
     16    const double hyppyNopeus = 1000; 
    1717    const int RUUDUN_KOKO = 40; 
    1818 
     
    2424    Image olion3kuva = LoadImage("gargantua"); 
    2525    Image olion4uva = LoadImage("vortigaunt"); 
     26    Image olio33im = LoadImage("olio3"); 
    2627     
    2728    SoundEffect maaliAani = LoadSoundEffect("maali"); 
    2829 
    2930    bool saakoRajahtaa = true; 
     31     
    3032 
    3133    public override void Begin() 
    3234    { 
    33         Gravity = new Vector(0, -1000); 
     35        Gravity = new Vector(0, -2000); 
    3436 
    3537        LuoKentta(); 
    3638        LisaaNappaimet(); 
    3739        gargant(); 
     40        olio33(); 
     41        vortigaunt(); 
    3842         
    3943 
     
    4347        pelaaja1.Weapon = new AssaultRifle(30, 10); 
    4448        pelaaja1.Weapon.ProjectileCollision = AmmusOsui; 
    45         PhysicsObject vortigaunt = new PhysicsObject(50, 50); 
    46         vortigaunt.Shape = Shape.Rectangle; 
    47         Add(vortigaunt); 
    48         vortigaunt.Color = Color.DarkGreen; 
    49         vortigaunt.Image = olion4uva; 
     49         
    5050         
    5151    } 
     
    160160        tasoAivot.Speed = 200; 
    161161        tasoAivot.FallsOffPlatforms = true; 
    162          
     162 
    163163        tasoAivot.JumpSpeed = 1700; 
    164164        tasoAivot.TriesToJump = true; 
     
    166166        gargantuan.Brain = tasoAivot; 
    167167 
    168  
    169          
     168    } 
     169    void vortigaunt() 
     170    { 
     171        PlatformCharacter vortigaunt = new PlatformCharacter(50, 50); 
     172        Add(vortigaunt); 
     173        vortigaunt.Shape = Shape.Rectangle; 
     174        vortigaunt.Color = Color.DarkGreen; 
     175        vortigaunt.Image = olion4uva; 
     176 
     177        PlatformWandererBrain tasoAivot = new PlatformWandererBrain(); 
     178        tasoAivot.Speed = 100; 
     179 
     180         
     181 
     182        tasoAivot.JumpSpeed = 700; 
     183        tasoAivot.TriesToJump = true; 
     184        tasoAivot.FallsOffPlatforms = false; 
     185 
     186        vortigaunt.Brain = tasoAivot; 
     187 
     188 
    170189        // Millä nopeudella kohdetta seurataan 
    171190        // Pysähdytään kun ollaan lähellä kohdetta 
    172191        //seuraajanAivot.FarBrain = satunnaisAivot;   // Käytetään satunnaisaivoja kun ollaan kaukana 
    173          
     192 
    174193 
    175194    } 
     
    189208 
    190209    } 
    191      
     210    void olio33() 
     211    { 
     212        PhysicsObject olio3 = new PhysicsObject(25, 25); 
     213        olio3.Mass = 20; 
     214        olio3.Image = olio33im; 
     215        olio3.X = -400; 
     216        olio3.Y = 200; 
     217        Add(olio3); 
     218        FollowerBrain seuraajanAivot = new FollowerBrain(pelaaja1); 
     219        seuraajanAivot.Speed = 300;                 // Millä nopeudella kohdetta seurataan 
     220        seuraajanAivot.DistanceFar = 2200;           // Etäisyys jolla aletaan seurata kohdetta 
     221        seuraajanAivot.DistanceClose = 200;         // Etäisyys jolloin ollaan lähellä kohdetta 
     222        seuraajanAivot.StopWhenTargetClose = false;  // Pysähdytään kun ollaan lähellä kohdetta 
     223                                                    // seuraajanAivot.FarBrain = satunnaisAivot;   // Käytetään satunnaisaivoja kun ollaan kaukana 
     224 
     225        // Tapahtuma, joka tapahtuu kun ollaan lähellä kohdetta 
     226        seuraajanAivot.TargetClose += mitaKunOllaanLahella; 
     227        olio3.Brain = seuraajanAivot; 
     228    } 
     229 
     230 
     231// Aliohjelma joka ajetaan kun olio on tarpeeksi lähellä kohdetta. 
     232 
     233 
     234 
     235     
     236    void mitaKunOllaanLahella() 
     237    { 
     238        if (!saakoRajahtaa) return; 
     239        saakoRajahtaa = false; 
     240        Timer.SingleShot(5, () => { saakoRajahtaa = true; }); 
     241 
     242        Explosion rajahdys = new Explosion(120); 
     243        rajahdys.Position = pelaaja1.Position; 
     244        rajahdys.Speed = 50.0; 
     245        rajahdys.Force = 50000; 
     246        Add(rajahdys); 
     247    } 
     248 
    192249 
    193250} 
Note: See TracChangeset for help on using the changeset viewer.