Changeset 378 for arho_m


Ignore:
Timestamp:
2009-08-06 14:59:22 (10 years ago)
Author:
armahlam
Message:
 
Location:
arho_m/Avaruuspeli2
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • arho_m/Avaruuspeli2/Content/Content.contentproj

    r294 r378  
    4747    </Compile> 
    4848  </ItemGroup> 
     49  <ItemGroup> 
     50    <Compile Include="pallo.png"> 
     51      <Name>pallo</Name> 
     52      <Importer>TextureImporter</Importer> 
     53      <Processor>TextureProcessor</Processor> 
     54    </Compile> 
     55  </ItemGroup> 
     56  <ItemGroup> 
     57    <Compile Include="pun_sein.png"> 
     58      <Name>pun_sein</Name> 
     59      <Importer>TextureImporter</Importer> 
     60      <Processor>TextureProcessor</Processor> 
     61    </Compile> 
     62  </ItemGroup> 
     63  <ItemGroup> 
     64    <Compile Include="ammus.png"> 
     65      <Name>ammus</Name> 
     66      <Importer>TextureImporter</Importer> 
     67      <Processor>TextureProcessor</Processor> 
     68    </Compile> 
     69  </ItemGroup> 
    4970  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    5071  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.  
  • arho_m/Avaruuspeli2/Peli.cs

    r351 r378  
    2323        #region Muuttujat 
    2424        BattleObject pelaaja1; 
     25        const int PELAAJAN_HP = 1000; 
    2526        PlasmaCannon ase; 
    2627        BarGauge hitpointNaytto; 
     
    4546            hitpointNaytto.ValueColor = Color.LightGreen; 
    4647            hitpointNaytto.BackColor = Color.Red; 
    47             hitpointNaytto.Max = 5; 
     48            hitpointNaytto.Max = PELAAJAN_HP; 
    4849            hitpointNaytto.Position = new Vector2D(Screen.RightSafe - 300, Screen.TopSafe - 170); 
    4950            Add(hitpointNaytto); 
     
    5556        { 
    5657            ClearPhysics(); 
    57             Gravity = new Vector2D(-300, 0); 
     58            ClearTimers(); 
     59 
     60            Gravity = new Vector2D(-240, 0); 
    5861 
    5962            Level = luoKentta(); 
     
    8285        private void lisaaPelaajat(Level kentta) 
    8386        { 
    84             //Texture2D alus = Content.Load<Texture2D>("alus"); 
    85             //IShape pelaaja_shape = Shapes.CreateFromTexture(alus, new Vector2D(alus.Width, alus.Height), 8.0); 
    8687            IShape pelaaja_shape = Shapes.CreateRectangle(20, 20); 
    87  
    88             pelaaja1 = new BattleObject(pelaaja_shape, 15, 5); 
    89             //pelaaja1.Texture = alus; 
     88            pelaaja1 = new BattleObject(pelaaja_shape, 15, PELAAJAN_HP); 
     89 
     90            Texture2D pelaaja_tex = Content.Load<Texture2D>("pallo"); 
     91            pelaaja1.Texture = pelaaja_tex; 
    9092 
    9193            hitpointNaytto.BindTo(pelaaja1.HitPoints); 
     
    100102 
    101103            // luodaan ase 
    102             ase = new PlasmaCannon(new PlasmaParticle()); 
     104            IShape s = Shapes.CreateCircle(16); 
     105            Projectile ammot = new Projectile("aaaaaa", s, 10.0); 
     106            ammot.Explosion = new Explosion(0); 
     107            ammot.Damage = new Damage(200); 
     108            ammot.ExplodeCondition = Projectile.AlwaysTrue; 
     109            ammot.Texture = Content.Load<Texture2D>("ammus"); 
     110            ammot.Size = new Vector2D(32, 32); 
     111             
     112 
     113            ase = new PlasmaCannon(ammot); 
    103114            ase.SetOwner(pelaaja1, kentta); 
    104115            ase.Visible = true; 
     
    108119            ase.Power = new Meter<double>(5000, 5000, 5000); 
    109120            ase.IgnoresGravity = true; 
     121 
    110122            kentta.Objects.Add(ase); 
    111123        } 
     
    217229        } 
    218230 
     231        double VektorinPituus(Vector2D v1) 
     232        { 
     233            double a_x = v1.X; 
     234            double a_y = v1.Y; 
     235            double b_x = v1.X * -1; 
     236            double b_y = v1.Y * -1; 
     237 
     238            double x = Math.Abs(a_x - b_x); 
     239            double y = Math.Abs(a_y - b_y); 
     240            double pituus = Math.Sqrt((x*x) + (y*y)); 
     241 
     242            return pituus; 
     243        } 
     244 
    219245        void tormays(Collision collision) 
    220246        { 
    221247            if (!(collision.Obj is BattleObject && collision.Other is BattleObject)) return; 
    222248 
    223             BattleObject bo1 = (collision.Obj as BattleObject); 
    224             bo1.TakeDamage(new Damage(1)); 
    225             BattleObject bo2 = (collision.Other as BattleObject); 
    226             bo2.TakeDamage(new Damage(1)); 
     249            Vector2D vek = collision.Obj.Velocity - collision.Other.Velocity; 
     250            double dmg_d = VektorinPituus(vek); 
     251 
     252            int dmg = (int)(dmg_d/4.0); 
     253 
     254            BattleObject bo = (collision.Obj as BattleObject); 
     255            bo.TakeDamage(new Damage(dmg)); 
     256 
     257            bo = (collision.Other as BattleObject); 
     258            bo.TakeDamage(new Damage(dmg)); 
    227259        } 
    228260 
    229261        void spawnEste(Timer timer) 
    230262        { 
    231             IShape shape = Shapes.CreateRectangle(RandomGen.NextDouble(20, 30), RandomGen.NextDouble(40, 120)); 
    232             BattleObject obj = new BattleObject(shape, 200, 55); 
     263            const int HITPOINTS = 630; 
     264 
     265            IShape shape = Shapes.CreateRectangle( 
     266                RandomGen.NextDouble(20, 30),  
     267                RandomGen.NextDouble(60, 120)); 
     268 
     269            BattleObject obj = new BattleObject(shape, 200, HITPOINTS); 
    233270 
    234271            Texture2D tex = Content.Load<Texture2D>("laatikko"); 
     
    248285        void spawnVihu(Timer timer) 
    249286        { 
     287            const int HITPOINTS = 410; 
     288 
    250289            IShape shape = Shapes.CreateRectangle(30, 30); 
    251             BattleObject bobj = new BattleObject(shape, 100, 10); 
     290            BattleObject bobj = new BattleObject(shape, 100, HITPOINTS); 
    252291            bobj.X = Level.Right - (bobj.Width / 2); 
    253292            bobj.Y = RandomGen.NextDouble(Level.Bottom + (bobj.Height / 2.0), Level.Top - (bobj.Height / 2.0)); 
    254             bobj.MomentOfInertia = double.PositiveInfinity; 
    255293 
    256294            Texture2D tex = Content.Load<Texture2D>("alus"); 
    257295            bobj.Texture = tex; 
    258             bobj.TextureFillsShape = true; 
     296            ///bobj.TextureFillsShape = true; 
    259297            bobj.Color = Color.Green; 
    260298 
     
    292330        { 
    293331            PhysicsObject p = new PhysicsObject(200.0, shape); 
     332 
    294333            p.IgnoresCollisionResponse = true; 
    295334            p.IgnoresExplosions = true; 
     335 
     336            Texture2D tex = Content.Load<Texture2D>("pun_sein"); 
     337            p.Texture = tex; 
     338            p.TextureFillsShape = true; 
    296339            p.Color = Color.Red; 
     340 
    297341            p.X = Level.Right - p.Width / 2.0; 
     342 
    298343            AddCollisionHandler(p, vasen_reuna_destroy); 
    299344            AddCollisionHandler(p, instagib); 
     345 
    300346            Level.Objects.Add(p); 
    301347            return p; 
     
    306352            IShape shape = Shapes.CreateRectangle(30, 150); 
    307353            PhysicsObject p = luoPunainenSeina(shape); 
    308             p.Y = RandomGen.NextDouble(Level.Bottom+p.Height/2.0, Level.Top-p.Height/2.0); 
     354            while( p.Y < p.Height && p.Y > -p.Height ) 
     355                p.Y = RandomGen.NextDouble(Level.Bottom+p.Height/2.0, Level.Top-p.Height/2.0); 
    309356        } 
    310357 
     
    327374                // yksi seinä, kolo ylhäällä 
    328375                case 1: 
    329                     shape = Shapes.CreateRectangle(50.0, Level.Height - (pelaaja1.Height * 2)); 
     376                    shape = Shapes.CreateRectangle(50.0, Level.Height - (pelaaja1.Height * 3)); 
    330377                    po = luoPunainenSeina(shape); 
    331378                    po.Y = Level.Bottom + po.Height / 2.0; 
    332379                    break; 
    333                  
     380                     
    334381                // yksi seinä, kolo alhaalla 
    335382                case 2: 
    336                     shape = Shapes.CreateRectangle(50.0, Level.Height - (pelaaja1.Height * 2)); 
     383                    shape = Shapes.CreateRectangle(50.0, Level.Height - (pelaaja1.Height * 3)); 
    337384                    po = luoPunainenSeina(shape); 
    338385                    po.Y = Level.Top - po.Height / 2.0; 
Note: See TracChangeset for help on using the changeset viewer.