Ignore:
Timestamp:
2017-08-02 14:10:08 (4 years ago)
Author:
nupeohje
Message:
 
File:
1 edited

Legend:

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

    r9317 r9343  
    3636    } 
    3737 
    38     
     38 
    3939 
    4040 
     
    6060public class Trumpsimulator : PhysicsGame 
    6161{ 
    62     const double nopeus = 500; 
     62    const double nopeus = 300; 
    6363    const double hyppyNopeus = 750; 
    6464    const int RUUDUN_KOKO = 40; 
    65     const double flynopeus = 500; 
     65    const double flynopeus = 3000; 
    6666 
    6767    Image meksikolainen = LoadImage("meksikolainen"); 
    6868    Pelihahmo pelaaja1; 
     69 
     70    DoubleMeter jetpacklaskuri; 
    6971 
    7072    int kenttaNumero = 1; 
     
    7274    Image pelaajanKuva = LoadImage("trumphahmo"); 
    7375    Image tahtiKuva = LoadImage("one dollar"); 
     76    Image wifekuva = LoadImage("untitled"); 
    7477 
    7578    SoundEffect maaliAani = LoadSoundEffect("maali"); 
     
    7881    { 
    7982        Gravity = new Vector(0, -1000); 
     83 
     84        jetpacklaskuri = new DoubleMeter(0, 0, 100); 
    8085 
    8186        LuoKentta(); 
     
    97102        ExplosionSystem rajahdys = 
    98103        new ExplosionSystem(LoadImage("tomasräjähdys"), pMaxMaara); 
    99         rajahdys.MaxScale = 1000; 
     104        rajahdys.MaxScale = 100; 
    100105 
    101106 
     
    112117        PlatformCharacter y = new PlatformCharacter(leveys * 0.8, korkeus * 1.0); 
    113118        y.Position = paikka; 
    114          
    115         
    116          
     119 
     120 
     121 
    117122 
    118123        Add(y); 
     
    128133 
    129134    } 
     135 
    130136    void bombi(Vector paikka, double leveys, double korkeus) 
    131137    { 
     
    135141        Add(p); 
    136142        p.Tag = "p"; 
    137        
     143 
    138144 
    139145 
     
    159165    { 
    160166        PhysicsObject maali = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    161          
    162  
    163         //ClearAll(); 
    164         //Begin(); 
    165167        maali.Tag = "maali"; 
    166168        maali.Position = paikka; 
     
    173175        if (kohde.Tag.Equals("A")) 
    174176        { 
    175             //ShowMessageWindow("Osu"); 
    176  
    177177            (kohde as Asevihu).ElamaLaskuri.Value--; 
     178        } 
     179 
     180        if (kohde is Talo) 
     181        { 
     182            (kohde as Talo).ElamaLaskuri.Value--; 
    178183        } 
    179184    } 
     
    214219    } 
    215220 
    216     void Tormaataloon(PhysicsObject tormaa,PhysicsObject kohde) 
     221    void Tormaataloon(PhysicsObject tormaa, PhysicsObject kohde) 
    217222    { 
    218223        (kohde as Talo).ElamaLaskuri.AddValue(-1); 
     
    227232        kentta.SetTileMethod('y', tomas); 
    228233        kentta.SetTileMethod('A', Lisaaasevihu); 
    229         kentta.SetTileMethod('T', Lisaaasevihu); 
     234        kentta.SetTileMethod('Q', wife); 
    230235        kentta.SetTileMethod('H', Lisaahiekka); 
    231236        kentta.SetTileMethod('R', LisaaRuoho); 
     
    234239        kentta.SetTileMethod('G', LisaaTacoVihu); 
    235240        kentta.SetTileMethod('p', bombi); 
    236         kentta.SetTileMethod('C',  Lisaacaktus); 
     241        kentta.SetTileMethod('C', Lisaacaktus); 
    237242        kentta.SetTileMethod('J', lisaajetpack); 
    238243        kentta.Optimize('H'); 
     
    254259        jetpack.IgnoresCollisionResponse = true; 
    255260        jetpack.Tag = "jetpack"; 
     261         
    256262        Add(jetpack); 
    257263 
     
    300306        taso.Color = Color.Green; 
    301307        taso.Image = LoadImage("hiekka"); 
    302         taso.TextureWrapSize = new Vector(leveys / RUUDUN_KOKO, korkeus / RUUDUN_KOKO);  
     308        taso.TextureWrapSize = new Vector(leveys / RUUDUN_KOKO, korkeus / RUUDUN_KOKO); 
    303309        Add(taso); 
    304310    } 
     
    311317        taso.Tag = "talo"; 
    312318        Add(taso); 
     319        taso.MakeStatic(); 
    313320 
    314321        taso.Image = LoadImage("talo"); 
     
    331338    void Lisaacaktus(Vector paikka, double leveys, double korkeus) 
    332339    { 
    333         PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     340        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys*2, korkeus*3); 
    334341        taso.Position = paikka; 
     342        taso.Bottom = paikka.Y - RUUDUN_KOKO / 2; 
    335343 
    336344        Add(taso); 
     
    354362    void LisaaPelaaja(Vector paikka, double leveys, double korkeus) 
    355363    { 
    356         pelaaja1 = new Pelihahmo(leveys, korkeus*2.0); 
     364        pelaaja1 = new Pelihahmo(leveys, korkeus * 2.0); 
    357365        pelaaja1.Position = paikka; 
    358366        pelaaja1.Mass = 2.0; 
     
    360368        pelaaja1.Tag = "pelaaja"; 
    361369        AddCollisionHandler(pelaaja1, "dollar", Tormaadollar); 
     370        AddCollisionHandler(pelaaja1, "jetpack", Tormaajetpack); 
    362371        Add(pelaaja1); 
    363         AddCollisionHandler(pelaaja1, "p", CollisionHandler.ExplodeBoth(511, true)); 
     372        AddCollisionHandler(pelaaja1, "p", CollisionHandler.ExplodeBoth(5110, true)); 
    364373        AddCollisionHandler(pelaaja1, "maali", paasiMaalin); 
    365374        AddCollisionHandler(pelaaja1, "y", CollisionHandler.ExplodeBoth(9999999, true)); 
     
    373382        pelaaja1.Weapon.Image = LoadImage("alkuase"); 
    374383        pelaaja1.Weapon.Y = 5; 
     384 
     385        ProgressBar jetpackpalkki = new ProgressBar(150, 20); 
     386        jetpackpalkki.X = Screen.Right - 150; 
     387        jetpackpalkki.Y = Screen.Top - 20; 
     388        jetpackpalkki.BindTo(jetpacklaskuri); 
     389        jetpackpalkki.BarColor = Color.SkyBlue; 
     390        Add(jetpackpalkki); 
     391 
     392        ProgressBar elamaPalkki = new ProgressBar(150, 20); 
     393        elamaPalkki.X = Screen.Left + 150; 
     394        elamaPalkki.Y = Screen.Top - 20; 
     395        elamaPalkki.BindTo(pelaaja1.ElamaLaskuri); 
     396        Add(elamaPalkki);  
    375397    } 
    376398 
     
    379401        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    380402        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    381         Mouse.Listen(MouseButton.Left, ButtonState.Pressed, AmmuAseella, "Lopeta peli", pelaaja1); 
     403        Mouse.Listen(MouseButton.Left, ButtonState.Down, AmmuAseella, "Lopeta peli", pelaaja1); 
    382404 
    383405        Keyboard.Listen(Key.E, ButtonState.Pressed, HeitaKranaatti, "heitä kranaatti", pelaaja1); 
     
    453475        Add(tacovihu); 
    454476        tacovihu.Tag = "A"; 
    455            
     477 
    456478        PlatformWandererBrain tasoAivot = new PlatformWandererBrain(); 
    457479        tasoAivot.Speed = 100; 
     
    469491        aikaLaskuri.Timeout += delegate 
    470492        { 
    471             Grenade kranu = new Grenade(5.2); 
     493            Grenade kranu = new Grenade(7.2); 
    472494            kranu.Image = LoadImage("tacobom"); 
    473495            tacovihu.Throw(kranu, Angle.FromDegrees(300), 1000); 
     
    485507        dollar.Destroy(); 
    486508    } 
     509 
     510    void Tormaajetpack(PhysicsObject hahmo, PhysicsObject jetpack) 
     511    { 
     512        maaliAani.Play(); 
     513        MessageDisplay.Add("Keräsit jetpack!"); 
     514        jetpack.Destroy(); 
     515 
     516        jetpacklaskuri.Value = 100; 
     517    } 
    487518    void fly(PlatformCharacter hahmo, double nopeus) 
    488519    { 
    489  
    490         hahmo.Push(new Vector(0, nopeus)); 
    491     } 
     520        if (jetpacklaskuri.Value > 0) 
     521        { 
     522            hahmo.Push(new Vector(0, nopeus)); 
     523            jetpacklaskuri.Value -= 0.1; 
     524        } 
     525 
     526    } 
     527    void wife(Vector paikka, double leveys, double korkeus) 
     528    { 
     529        PlatformCharacter p = new PlatformCharacter(leveys * 0.7, korkeus * 2.0); 
     530        p.Position = paikka; 
     531        p.Image = wifekuva; 
     532        Add(p); 
     533        p.Tag = "Q"; 
     534 
     535 
     536 
     537        PlatformWandererBrain tasoAivot = new PlatformWandererBrain(); 
     538        tasoAivot.Speed = 100; 
     539 
     540        tasoAivot.FallsOffPlatforms = true; 
     541        tasoAivot.TriesToJump = true; 
     542 
     543        p.Brain = tasoAivot; 
     544 
     545    } 
     546 
     547 
     548 
     549 
     550 
     551 
     552 
     553 
    492554} 
Note: See TracChangeset for help on using the changeset viewer.