Changeset 9405 for 2017/31


Ignore:
Timestamp:
2017-08-03 14:57:49 (2 years ago)
Author:
nupeohje
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2017/31/TaavettiV/Trumpsimulator/Trumpsimulator/Trumpsimulator/Trumpsimulator.cs

    r9398 r9405  
    1313 
    1414 
    15     private IntMeter elamaLaskuri = new IntMeter(10, 0, 10); 
    16     public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 
     15    private DoubleMeter elamaLaskuri = new DoubleMeter(10, 0, 10); 
     16    public DoubleMeter ElamaLaskuri { get { return elamaLaskuri; } } 
    1717 
    1818    public Pelihahmo(double leveys, double korkeus) 
     
    5858class Asevihu : PlatformCharacter 
    5959{ 
    60     private IntMeter elamaLaskuri = new IntMeter(3, 0, 3); 
    61     public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 
     60    private DoubleMeter elamaLaskuri = new DoubleMeter(3, 0, 3); 
     61    public DoubleMeter ElamaLaskuri { get { return elamaLaskuri; } } 
    6262    public Timer Ajastin; 
    6363    public Asevihu(double leveys, double korkeus) 
     
    128128    SoundEffect maaliAani = LoadSoundEffect("maali"); 
    129129    Image olio6Kuva = LoadImage("tumbleweed"); 
     130 
     131    private Image ulommanSavuHiukkasenKuva = LoadImage("white"); 
     132 
     133    private Image savuHiukkasenKuva = LoadImage("smoke"); 
     134 
     135    Smoke savu; 
    130136 
    131137    IntMeter pisteLaskuri; 
     
    206212    void bombi(Vector paikka, double leveys, double korkeus) 
    207213    { 
    208         PlatformCharacter p = new PlatformCharacter(leveys * 2.0, korkeus * 2.0); 
     214        Asevihu p = new Asevihu(leveys * 2.0, korkeus * 2.0); 
    209215        p.Position = paikka; 
    210216        p.Image = bombiKuva; 
     
    222228        p.Brain = tasoAivot; 
    223229 
    224     } 
     230        AddCollisionHandler(p, "pallo", (PhysicsObject a, PhysicsObject b)=> { p.ElamaLaskuri.Value -= 0.01; }); 
     231    } 
     232 
    225233    void paasiMaalin(PhysicsObject pelaaja, PhysicsObject maali) 
    226234    { 
     
    373381        jetpack.IgnoresCollisionResponse = true; 
    374382        jetpack.Tag = "jetpack"; 
    375          
     383 
    376384        Add(jetpack); 
    377385 
     
    396404    { 
    397405        rajahdyksenKohde.Destroy(); 
    398   
     406 
    399407    } 
    400408    void Heitaydinpommi(PlatformCharacter pelaaja) 
     
    408416 
    409417            Grenade kranu = new Grenade(180.0); 
    410             kranu.ExplosionRadius = 4000; 
     418            kranu.Explosion.MaxRadius = 4000; 
    411419            kranu.Image = LoadImage("iluminadi"); 
    412420            pelaaja1.Throw(kranu, Angle.FromDegrees(50), 1000); 
     
    417425        } 
    418426        
    419     } 
     427 
     428    } 
     429 
    420430    void LisaaTaso(Vector paikka, double leveys, double korkeus) 
    421431    { 
     
    514524    void Lisaamd(Vector paikka, double leveys, double korkeus) 
    515525    { 
    516         PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys*2, korkeus*3); 
     526        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys * 2, korkeus * 3); 
    517527        taso.Position = paikka; 
    518528        taso.Bottom = paikka.Y - RUUDUN_KOKO / 2; 
     
    525535 
    526536 
    527  
    528  
    529  
    530  
    531537    void Lisaacaktus(Vector paikka, double leveys, double korkeus) 
    532538    { 
    533         Caktus taso = new Caktus(leveys, korkeus * 3); 
    534         
     539        Caktus taso = new Caktus(leveys * 2, korkeus * 3); 
     540 
    535541        taso.MakeStatic(); 
    536542        taso.Position = paikka; 
     
    579585        AddCollisionHandler(pelaaja1, "maali", paasiMaalin); 
    580586        AddCollisionHandler(pelaaja1, "y", CollisionHandler.ExplodeBoth(9999999, true)); 
    581     
     587 
    582588        pelaaja1.Weapon = new AssaultRifle(30, 10); 
    583589        pelaaja1.Weapon.ProjectileCollision = AmmusOsui; 
     
    590596        pelaaja1.Weapon.Image = LoadImage("machine gun"); 
    591597        pelaaja1.Weapon.Y = 5; 
    592         pelaaja1.Weapon.FireRate = 200; 
     598        pelaaja1.Weapon.FireRate = 12; 
    593599 
    594600        ProgressBar jetpackpalkki = new ProgressBar(150, 20); 
     
    603609        elamaPalkki.Y = Screen.Top - 20; 
    604610        elamaPalkki.BindTo(pelaaja1.ElamaLaskuri); 
    605         Add(elamaPalkki);  
     611        Add(elamaPalkki); 
    606612    } 
    607613 
     
    619625        Keyboard.Listen(Key.W, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, pelaaja1.hyppyNopeus); 
    620626        Keyboard.Listen(Key.Space, ButtonState.Down, fly, "pelaaja lentää", pelaaja1, flynopeus); 
     627        Keyboard.Listen(Key.Space, ButtonState.Released, LopetaSavuttaminen, null, pelaaja1 ); 
    621628        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
     629 
    622630        Mouse.Listen(MouseButton.Left, ButtonState.Down, AmmuAseella, "Ammu", pelaaja1); 
    623631 
     
    694702 
    695703        Timer aikaLaskuri = new Timer(); 
    696         aikaLaskuri.Interval = 0.06; 
     704        aikaLaskuri.Interval = 1.0; 
    697705        aikaLaskuri.Timeout += () => VihuAmmuAseella(asevihu); 
    698706        aikaLaskuri.Start(); 
     707 
     708        AddCollisionHandler(asevihu, "pallo", (PhysicsObject a, PhysicsObject b) => { asevihu.ElamaLaskuri.Value -= 0.01; }); 
    699709    } 
    700710 
     
    754764            hahmo.Push(new Vector(0, nopeus)); 
    755765            jetpacklaskuri.Value -= 0.1; 
    756         } 
    757  
    758     } 
     766 
     767            for (int i = 0; i < 5; i++) 
     768            { 
     769                PhysicsObject pallo = new PhysicsObject(5, 5); 
     770                pallo.Color = Color.Orange; 
     771                pallo.Shape = Shape.Hexagon; 
     772                pallo.Tag = "pallo"; 
     773                pallo.Velocity = new Vector(0, -100); 
     774                pallo.FadeColorTo(Color.Transparent, 2); 
     775                pallo.IgnoresCollisionResponse = true; 
     776                pallo.LifetimeLeft = TimeSpan.FromSeconds(2); 
     777                pallo.Position = pelaaja1.Position; 
     778                pallo.X += RandomGen.NextDouble(-10, 10); 
     779                
     780                 
     781                 
     782                Add(pallo); 
     783                 
     784            } 
     785 
     786            if (savu == null) 
     787            { 
     788                savu = new Smoke(savuHiukkasenKuva, 10); 
     789 
     790                Timer savusiirrin = new Timer(); 
     791                savusiirrin.Interval = 0.1; 
     792                savusiirrin.Timeout += delegate { 
     793                    if (savu == null) 
     794                    { 
     795                        savusiirrin.Stop(); 
     796                        return; 
     797                    } 
     798                    savu.Position = pelaaja1.Position; 
     799                }; 
     800                savusiirrin.Start(); 
     801 
     802                savu.Position = pelaaja1.Position; 
     803                savu.OuterParticleImage = ulommanSavuHiukkasenKuva; 
     804                Wind = new Vector(0, -20);//voit säätää savupilven suuntaa 
     805                Add(savu); 
     806            } 
     807      } 
     808    } 
     809 
     810    void LopetaSavuttaminen(Pelihahmo pelaaja1) 
     811    { 
     812        if (savu != null) 
     813            savu.Destroy(); 
     814        savu = null; 
     815    } 
     816 
     817 
    759818    void wife(Vector paikka, double leveys, double korkeus) 
    760819    { 
     
    775834        //pelaaja2.Brain = tasoAivot; 
    776835 
    777     } 
    778          
     836        AddCollisionHandler(pelaaja2, "pallo", (PhysicsObject a, PhysicsObject b) => { pelaaja2.ElamaLaskuri.Value -= 0.01; }); 
     837 
     838    } 
     839 
    779840 
    780841 
Note: See TracChangeset for help on using the changeset viewer.