Ignore:
Timestamp:
2016-07-27 10:48:41 (5 years ago)
Author:
sieerinn
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2016/24/NikoJ/ArrowRUN/ArrowRUN/ArrowRUN/ArrowRUN.cs

    r7432 r8135  
    1818    Image[] pelaajankuvat = LoadImages("taivaansininen", "keltainen", "viininpunainen", "sininen", "ruskea", "pinkki", "liila", "punen", "Untitled"); 
    1919    Image tahtiKuva = LoadImage("tahti"); 
    20  
     20    Image Laserkuva = LoadImage("laser"); 
    2121    SoundEffect maaliAani = LoadSoundEffect("maali"); 
    2222 
     
    2626    IntMeter pisteLaskuri; 
    2727 
    28     AssaultRifle pelaajan1Ase; 
     28    Weapon pelaajan1Ase; 
     29    Vector ammuksenKoko; 
     30 
     31    Color ammuksenväri; 
     32 
    2933 
    3034    EasyHighScore topLista = new EasyHighScore(); 
     
    139143    } 
    140144 
     145    void LisaaLaser(Vector paikka, double leveys, double korkeus) 
     146    { 
     147        PhysicsObject tahti = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     148        tahti.IgnoresCollisionResponse = true; 
     149        tahti.Position = paikka; 
     150        tahti.Image = Laserkuva; 
     151        tahti.Tag = "laser"; 
     152        Add(tahti); 
     153    } 
     154 
    141155    void LisaaPelaaja(Vector paikka, double leveys, double korkeus) 
    142156    { 
     
    146160        AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 
    147161        AddCollisionHandler(pelaaja1, "item2", TormaaItem2); 
     162        AddCollisionHandler(pelaaja1, "laser", TormaaLaser); 
    148163        Image arvottukuva = RandomGen.SelectOne<Image>(pelaajankuvat); 
    149164        //pelaaja1.Color = vari; 
     
    157172        pelaajan1Ase = new AssaultRifle(0,001); 
    158173        pelaajan1Ase.FireRate = 0.5; 
    159  
    160  
    161         //Mitä tapahtuu kun ammus osuu johonkin? 
    162174        pelaajan1Ase.ProjectileCollision = AmmusOsui; 
    163  
    164175        pelaaja1.Add(pelaajan1Ase); 
     176        ammuksenKoko = new Vector(10,10); 
     177        ammuksenväri = Color.Gray; 
    165178 
    166179        Add(pelaaja1); 
     
    177190        Keyboard.Listen(Key.Right, ButtonState.Down, Kaanna, "Liikkuu vasemmalle", pelaaja1, -pyoriminenNopeus); 
    178191 
    179         Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Ammu", pelaajan1Ase); 
     192        Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Ammu"); 
    180193 
    181194        /*Keyboard.Listen(Key.Right, ButtonState.Released, () => pelaaja1.Stop(), null); 
     
    209222        Vihollinen.Tag = "Vihollinen"; 
    210223 
    211  
    212  
    213  
    214  
    215224        Add(Vihollinen); 
    216225 
     
    255264 
    256265    } 
     266 
     267    void TormaaLaser(PhysicsObject hahmo, PhysicsObject Item2) 
     268    { 
     269 
     270        //pelaajan1Ase = new AssaultRifle(20, 5); 
     271       // pelaajan1Ase.ProjectileCollision = AmmusOsui; 
     272        pelaajan1Ase.FireRate = 100; 
     273        ammuksenKoko = new Vector(40,2); 
     274        ammuksenväri = Color.Red; 
     275       // pelaaja1.Add(pelaajan1Ase); 
     276 
     277 
     278        MessageDisplay.Add("keräsit erikois voiman"); 
     279        // pelaajan1Ase.FireRate = 50; 
     280        Timer.SingleShot(1, delegate () 
     281        { 
     282            pelaajan1Ase.FireRate = 1; 
     283            ammuksenKoko = new Vector(10,10); 
     284            ammuksenväri = Color.Gray; 
     285        }); 
     286        Item2.Destroy(); 
     287 
     288    } 
     289 
    257290    void LisaaSpawn(Vector paikka, double leveys, double korkeus) 
    258291    { 
     
    262295    { 
    263296 
    264  
     297        // 5.0 30.0 
    265298        Timer ajastin = new Timer(); 
    266         ajastin.Interval = RandomGen.NextDouble(5.0, 30.0); 
     299        ajastin.Interval = RandomGen.NextDouble(0.1, 0.1); 
    267300        ajastin.Timeout += delegate 
    268301        { 
    269302            Vector arvottupaikka = spawnit[RandomGen.NextInt(spawnit.Count - 1)]; 
    270303 
    271             int luku = RandomGen.NextInt(0, 100); 
    272             if (luku < 50) 
     304            int luku = RandomGen.NextInt(0, 90); 
     305             
     306            if (luku < 30) 
    273307            { 
    274                 LisaaTahti(arvottupaikka, RUUDUN_KOKO, RUUDUN_KOKO); 
     308              LisaaTahti(arvottupaikka, RUUDUN_KOKO, RUUDUN_KOKO); 
    275309            } 
    276             else 
     310            else if (luku < 60) 
    277311            { 
    278                 LisaaItem2(arvottupaikka, RUUDUN_KOKO, RUUDUN_KOKO); 
     312              LisaaItem2(arvottupaikka, RUUDUN_KOKO, RUUDUN_KOKO); 
     313            } 
     314            else if (luku < 90) 
     315            { 
     316               LisaaLaser(arvottupaikka, RUUDUN_KOKO, RUUDUN_KOKO); 
    279317            } 
    280318        }; 
     
    295333    } 
    296334 
    297     void AmmuAseella(AssaultRifle ase) 
    298     { 
    299         PhysicsObject ammus = ase.Shoot(); 
     335    void AmmuAseella() 
     336    { 
     337        PhysicsObject ammus = pelaajan1Ase.Shoot(); 
    300338 
    301339        if (ammus != null) 
    302340        { 
    303             //ammus.Size *= 3; 
    304             //ammus.Image = ... 
     341            ammus.Size = ammuksenKoko; 
     342            ammus.Image = null; 
     343            ammus.Shape = Shape.Circle; 
     344            ammus.Color = ammuksenväri; 
     345             
    305346           ammus.MaximumLifetime = TimeSpan.FromSeconds(3.0); 
     347 
    306348        } 
    307349    } 
     
    344386    { 
    345387        Grenade kranaatti = new Grenade(4.0); 
    346         pelaaja.Throw(kranaatti, Angle.FromDegrees(30), 10000); 
     388        kranaatti.Explosion.MaxRadius = 250; 
     389        pelaaja.Throw(kranaatti, Angle.FromDegrees(30), 30000); 
    347390        kranaatti.Explosion.AddShockwaveHandler("Vihollinen", KranaattiOsui); 
    348391         
     
    358401    } 
    359402 
    360     
     403    void Laser() 
     404 
     405    { 
     406         
     407    } 
     408 
     409 
     410 
     411 
    361412 
    362413 
Note: See TracChangeset for help on using the changeset viewer.