Changeset 185


Ignore:
Timestamp:
2009-07-24 13:16:11 (10 years ago)
Author:
jomialja
Message:
 
Location:
joni_j/Lil' boxhead
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • joni_j/Lil' boxhead/Peli.cs

    r143 r185  
    2929        PhysicsObject maali; 
    3030        PhysicsObject Lehma; 
    31  
     31        Cannon ase; 
     32        AssaultRifle kk; 
     33        
    3234        int elamaLaskuri; // Vielä tekemättä toteutus! 
    3335        int kenttaNro; // monesko kenttä on menossa 
     
    6365            aloitaUusiPeli(); 
    6466 
     67 
     68 
    6569        } 
    6670 
     
    106110            lisaaLehma(kentta); 
    107111            lisaaLippis(kentta); 
    108             lisaaLippis(kentta); 
    109112            lisaaAurinko(kentta); 
    110113            lisaaCorni(kentta); 
     
    113116             
    114117            int vihollistenMaara = kenttaNro; 
    115            lisaaViholliset(kentta, vihollistenMaara); 
    116  
    117  
    118118            lisaaPieniTaso(kentta ,-100,-200); 
    119119            lisaaPieniTaso(kentta, -200, -250); 
     
    125125            lisaaPieniTaso(kentta, 1700, -100); 
    126126            lisaaPieniTaso(kentta, 2110, -175.1); 
     127 
     128 
     129 
     130            Bullet luoti = new Bullet(); 
     131            kk = new AssaultRifle(luoti); 
     132            kk.Mass = 1; 
     133            kentta.Objects.Add(kk); 
     134            kk.X = 0; 
     135            kk.Y = 0; 
     136 
     137             
     138 
    127139            return kentta; 
     140 
    128141        } 
    129142 
     
    144157            AddCollisionHandler(pelaaja1, osuiMaaliin); 
    145158            AddCollisionHandler(pelaaja1, osuiLehmaan); 
     159            AddCollisionHandler(pelaaja1, osuikkhon); 
    146160            kentta.Objects.Add(pelaaja1); 
    147161        } 
     
    174188        { 
    175189            Lehma = new PhysicsObject(10000000000000000000, Shapes.CreateCircle (150)); 
    176             Lehma.X = RandomGen.NextDouble(1750.0, -1750.0); 
    177             Lehma.Y = -250.1750; 
     190            Lehma.X = -1500; 
     191            Lehma.Y = -300.1750; 
    178192            Lehma.Restitution = 1.0; 
    179  
    180193            Lehma.Texture = Content.Load<Texture2D>("Lehma"); 
    181194            AddCollisionHandler(Lehma, tuuppaa); 
    182195            kentta.Objects.Add(Lehma); 
    183          
     196            CannonBall kuula = new CannonBall(); 
     197            ase = new Cannon(kuula); 
     198            ase.Position = Lehma.Position; 
     199            ase.Anchor = Lehma.Position; 
     200            ase.SetOwner(Lehma,kentta); 
     201            ase.Powered = false; 
     202            ase.Power = new Meter<double>(50000, 50000, 150000); 
     203            ase.FireRate = 0.6; 
     204            kentta.Objects.Add(ase); 
     205            ase.Equip(); 
     206 
    184207        } 
    185208 
     
    200223            //Aurinko 
    201224             
     225         
    202226        void lisaaAurinko (Level kentta)          
    203227             
     
    231255                AddCollisionHandler(vihollinen, tuuppaa); 
    232256                kentta.Objects.Add(vihollinen); 
    233             } 
    234         } 
    235  
    236  
    237  
    238         void lisaaViholliset(Level kentta, int kpl) 
    239         { 
    240             for (int i = 0; i < kpl; i++) 
    241             { 
    242                 PlatformCharacter Vihullinen = new PlatformCharacter(100, Shapes.CreateCircle(30)); 
    243                 Vihullinen.Brain = new RandomMoverBrain(); 
    244                 Vihullinen.X = maali.X; 
    245                 Vihullinen.Y = maali.Y; 
    246                 Vihullinen.IgnoresGravity = true; 
    247                 Vihullinen.Texture = Content.Load<Texture2D>("vihullinen"); 
    248                 AddCollisionHandler(Vihullinen, tuuppaa); 
    249                 kentta.Objects.Add(Vihullinen); 
    250              
    251              
    252              
    253              
    254              
    255              
    256              
    257             } 
    258         } 
    259          
     257                 
     258            } 
     259 
     260 
     261 
     262        } 
     263 
     264        protected override void OnUpdate(GameTime time) 
     265        { 
     266 
     267            ase.Angle = Angle.Degrees(RandomGen.NextDouble(-40, 50)); 
     268 
     269            Projectile ammus = ase.Use(); 
     270 
     271            if (ammus != null) 
     272            { 
     273                Level.Objects.Add(ammus); 
     274            } 
     275 
     276            base.OnUpdate(time); 
     277        } 
    260278         
    261279        #endregion 
    262  
    263  
    264  
    265280 
    266281 
     
    276291            Controls.Listen(Keys.Right, ButtonPosition.Down, liikuta, "Liikkuu oikealle", pelaaja1, new Vector2D(liikeVoima, 0)); 
    277292            Controls.Listen(Keys.Up, ButtonPosition.Pressed, hyppaa, "Hyppää", pelaaja1, hyppyVoima); 
    278  
     293            Controls.Listen(Keys.A, ButtonPosition.Pressed, ammu, "Ammu", pelaaja1); 
    279294            lisaaGamePadNappaimet(PlayerIndex.One, pelaaja1); 
     295            Controls.Listen(Keys.Q, ButtonPosition.Pressed, kaanna, "käännä", pelaaja1); 
    280296        } 
    281297 
     
    288304            Controls.Listen(pelaajaNro, Buttons.DPadRight, ButtonPosition.Down, liikuta, "Pelaaja liikkuu oikealle", pelaaja, new Vector2D(liikeVoima, 0)); 
    289305            Controls.Listen(pelaajaNro, Buttons.A, ButtonPosition.Pressed, hyppaa, "Pelaaja hyppää", pelaaja, hyppyVoima); 
    290         } 
    291  
     306        }    
    292307        // Näppäimiin liitetyt toiminnot alkavat tästä --> 
    293308        bool liikuta(ControlEvent e) 
     
    311326        } 
    312327 
     328        bool ammu(ControlEvent e) 
     329        { 
     330            PlatformCharacter hahmo = e.Parameter0 as PlatformCharacter; 
     331 
     332            Projectile ammus = kk.Use(); 
     333 
     334            if (ammus != null) 
     335            { 
     336                Level.Objects.Add(ammus); 
     337            } 
     338                          
     339             
     340            return false; 
     341        } 
     342 
     343        bool kaanna(ControlEvent e) 
     344        { 
     345            PlatformCharacter hahmo = e.Parameter0 as PlatformCharacter; 
     346 
     347            kk.Angle += Angle.Degrees(3); 
     348 
     349 
     350 
     351            return false; 
     352        } 
     353 
     354 
    313355        bool uusiPeli(ControlEvent e) 
    314356        { 
     
    340382                SiirraPelaajaAlkuun(); 
    341383            } 
     384        } 
     385 
     386        void osuikkhon(Collision c) 
     387        { 
     388            if (c.Other == kk) 
     389            { 
     390                MessageDisplay.Add("Osuttiin konekivääriin"); 
     391 
     392                kk.Position = pelaaja1.Position; 
     393                kk.Anchor = pelaaja1.Position; 
     394                kk.SetOwner(pelaaja1, Level); 
     395                kk.Equip(); 
     396                kk.Stop(); 
     397            }   kk.FireRate =(0.5); 
    342398        } 
    343399 
Note: See TracChangeset for help on using the changeset viewer.