Changeset 134


Ignore:
Timestamp:
2009-07-23 11:37:31 (10 years ago)
Author:
jovivasi
Message:

Avaruuspeli puolivälissä.

Location:
valtteri_s
Files:
5 added
2 edited

Legend:

Unmodified
Added
Removed
  • valtteri_s/Avaruuspeli3/Content/Content.contentproj

    r65 r134  
    1 <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5"> 
     1<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5"> 
    22  <PropertyGroup> 
    33    <ProjectGuid>68f1285d-7efa-4139-a2e2-88e2e746284f</ProjectGuid> 
     
    3333    <Reference Include="Microsoft.Xna.Framework.Content.Pipeline.XImporter, Version=3.1.0.0, Culture=neutral, PublicKeyToken=6d5c3888ef60e27d" /> 
    3434  </ItemGroup> 
     35  <ItemGroup> 
     36    <Compile Include="vihollinen.png"> 
     37      <Name>vihollinen</Name> 
     38      <Importer>TextureImporter</Importer> 
     39      <Processor>TextureProcessor</Processor> 
     40    </Compile> 
     41  </ItemGroup> 
    3542  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    3643  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.  
  • valtteri_s/Avaruuspeli3/Peli.cs

    r65 r134  
    1515using Physics2DDotNet; 
    1616using Physics2DDotNet.Shapes; 
     17using Physics2DDotNet.Ignorers; 
    1718#endregion 
    1819 
    1920namespace Avaruuspeli3 
    2021{ 
     22    public class VihollisAlus : GameObjects<PhysicsObject> 
     23    { 
     24        /// <summary> 
     25        /// Tankin osumapisteet. 
     26        /// Kun nämä menevät nollaan, tankki hajoaa. 
     27        /// </summary> 
     28        public Meter<int> HitPoints 
     29        { 
     30            get 
     31            { 
     32                return Hull.HitPoints; 
     33            } 
     34        } 
     35 
     36        /// <summary> 
     37        /// Ammusten määrä. 
     38        /// </summary> 
     39        public Meter<int> Ammo 
     40        { 
     41            get 
     42            { 
     43                return ( Cannon != null ) ? Cannon.Clip.Ammo : new Meter<int>( 0, 0, 0 ); 
     44            } 
     45        } 
     46 
     47        /// <summary> 
     48        /// Tankin runko. 
     49        /// </summary> 
     50        public BattleObject Hull; 
     51 
     52        /// <summary> 
     53        /// Tankin piippu. 
     54        /// </summary> 
     55        public ProjectileWeapon Cannon; 
     56 
     57        /// <summary> 
     58        /// Suurimman vääntömomentin itseisarvo, jolla tankki voi pyörittää pyöriä. 
     59        /// </summary> 
     60        public const double MaxTorque = 2000000; 
     61 
     62 
     63            public VihollisAlus( PhysicsGame game, string name ) 
     64            : base( game, name ) 
     65        { 
     66            Hull = new BattleObject( name + "hull", 170, 200, 5000, 500 ); 
     67            Hull.Texture = Game.Content.Load<Texture2D>( "vihollinen" ); 
     68 
     69            // Just to be sure 
     70            if ( Hull.Body.CollisionIgnorer == null ) 
     71                Hull.Body.CollisionIgnorer = new ObjectIgnorer(); 
     72 
     73            this.Add( Hull ); 
     74            AddCannon( Hull ); 
     75        } 
     76 
     77        private void AddCannon( PhysicsObject hull ) 
     78        { 
     79            CannonBall ammus = new CannonBall(); 
     80            ammus.Explosion.Force = 0; 
     81 
     82            Cannon = new Cannon( ammus ); 
     83            Cannon.FireRate = 100; 
     84            this.Add( Cannon ); 
     85 
     86            Vector2D ppaikka = new Vector2D( hull.Position.X, hull.Position.Y + 10 ); 
     87            Cannon.Position = ppaikka; 
     88            Cannon.Anchor = ppaikka; 
     89 
     90            Cannon.Clip.Ammo.MaxValue = 130; 
     91            Cannon.Clip.Ammo.Value = 130; 
     92            Cannon.Clip.Ammo.LowerAlertValue = 25; 
     93 
     94            Cannon.EquipTo( hull ); 
     95        } 
     96 
     97    } 
     98 
    2199    public class Peli : PhysicsGame 
    22100    { 
     101 
     102 
     103 
     104 
    23105        #region Muuttujat 
    24106        BattleObject pelaaja1; 
     
    90172        { 
    91173            // Pelaaja 1 
     174            //Game.ResourceContent.Load<Texture2D>("vihollinen"); 
    92175            Texture2D alus = Content.Load<Texture2D>("alus"); 
    93176            pelaaja1 = new BattleObject(Shapes.CreateFromTexture(alus, new Vector2D(50, 40), 10), 10, 5); 
     177 
     178            VihollisAlus tankki1; 
     179            tankki1 = new VihollisAlus(this, "vihollinen"); 
     180            tankki1.X = 0; 
     181            tankki1.Y = 0; 
     182            kentta.Objects.Add(tankki1); 
     183 
    94184            pelaaja1.Texture = alus; 
    95185            hitpointNaytto.BindTo(pelaaja1.HitPoints); 
Note: See TracChangeset for help on using the changeset viewer.