Changeset 823 for 2010/23


Ignore:
Timestamp:
2010-06-14 15:18:38 (9 years ago)
Author:
hniemi
Message:

Ohjus lisätty aseeksi. Törmäyksentunnistus pitää korjata
Sädepyssy otettu hetkeksi pois käytöstä.

Location:
2010/23/hniemi/ShootEmUp
Files:
9 added
15 edited

Legend:

Unmodified
Added
Removed
  • 2010/23/hniemi/ShootEmUp/ShootEmUp/Alus.cs

    r776 r823  
    5959        public void SetWeapon(Weapon ase)  
    6060        { 
     61            if (kaytossaOlevaAse != null) kaytossaOlevaAse.Destroy(); 
    6162            this.Add(ase); 
    6263            kaytossaOlevaAse = ase; 
    63             kaytossaOlevaAse.IsVisible = false; 
    6464        } 
    6565 
     
    6969        public void Shoot() 
    7070        { 
    71             PhysicsObject ammus = kaytossaOlevaAse.Shoot(); 
    72             if (ammus != null)  
     71            if (kaytossaOlevaAse != null) 
    7372            { 
    74                 ammus.Angle = this.Angle; 
     73                kaytossaOlevaAse.Shoot().Angle = this.Angle; 
    7574            } 
    7675        } 
  • 2010/23/hniemi/ShootEmUp/ShootEmUp/Content/Content.contentproj

    r719 r823  
    11<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5"> 
    22  <PropertyGroup> 
    3     <ProjectGuid>{72efbe00-2f1f-4e1d-9867-af4a5a7cd89e}</ProjectGuid> 
     3    <ProjectGuid>{72EFBE00-2F1F-4E1D-9867-AF4A5A7CD89E}</ProjectGuid> 
    44    <ProjectTypeGuids>{96E2B04D-8817-42c6-938A-82C39BA4D311};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> 
    55    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 
     
    4040    </Compile> 
    4141  </ItemGroup> 
     42  <ItemGroup> 
     43    <Compile Include="ringout.wav"> 
     44      <Name>ringout</Name> 
     45      <Importer>WavImporter</Importer> 
     46      <Processor>SoundEffectProcessor</Processor> 
     47    </Compile> 
     48  </ItemGroup> 
     49  <ItemGroup> 
     50    <Compile Include="pum.wav"> 
     51      <Name>pum</Name> 
     52      <Importer>WavImporter</Importer> 
     53      <Processor>SoundEffectProcessor</Processor> 
     54    </Compile> 
     55  </ItemGroup> 
     56  <ItemGroup> 
     57    <Compile Include="ohjus.png"> 
     58      <Name>ohjus</Name> 
     59      <Importer>TextureImporter</Importer> 
     60      <Processor>TextureProcessor</Processor> 
     61    </Compile> 
     62  </ItemGroup> 
    4263  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    4364  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.  
  • 2010/23/hniemi/ShootEmUp/ShootEmUp/Content/obj/x86/Debug/Content.contentproj.FileListAbsolute.txt

    r719 r823  
    11D:\Opiskelu\kurssit\NPO2010\ShootEmUp\ShootEmUp\Content\obj\x86\Debug\ResolveAssemblyReference.cache 
     2C:\MyTemp\hniemi\ShootEmUp\ShootEmUp\Content\obj\x86\Debug\ResolveAssemblyReference.cache 
  • 2010/23/hniemi/ShootEmUp/ShootEmUp/Content/obj/x86/Debug/ContentPipeline.xml

    r776 r823  
    88      <Processor>TextureProcessor</Processor> 
    99      <Options>None</Options> 
    10       <Output>D:\Opiskelu\kurssit\NPO2010\ShootEmUp\ShootEmUp\bin\x86\Debug\Content\pelaajaAlus.xnb</Output> 
     10      <Output>C:\MyTemp\hniemi\ShootEmUp\ShootEmUp\bin\x86\Debug\Content\pelaajaAlus.xnb</Output> 
    1111      <Time>2010-06-11T19:57:36+03:00</Time> 
    1212    </Item> 
     
    1717      <Processor>TextureProcessor</Processor> 
    1818      <Options>None</Options> 
    19       <Output>D:\Opiskelu\kurssit\NPO2010\ShootEmUp\ShootEmUp\bin\x86\Debug\Content\vihollinen1.xnb</Output> 
     19      <Output>C:\MyTemp\hniemi\ShootEmUp\ShootEmUp\bin\x86\Debug\Content\vihollinen1.xnb</Output> 
    2020      <Time>2010-06-11T19:57:56+03:00</Time> 
     21    </Item> 
     22    <Item> 
     23      <Source>ringout.wav</Source> 
     24      <Name>ringout</Name> 
     25      <Importer>WavImporter</Importer> 
     26      <Processor>SoundEffectProcessor</Processor> 
     27      <Options>None</Options> 
     28      <Output>C:\MyTemp\hniemi\ShootEmUp\ShootEmUp\bin\x86\Debug\Content\ringout.xnb</Output> 
     29      <Time>2010-06-14T10:28:27.0625087+03:00</Time> 
     30    </Item> 
     31    <Item> 
     32      <Source>pum.wav</Source> 
     33      <Name>pum</Name> 
     34      <Importer>WavImporter</Importer> 
     35      <Processor>SoundEffectProcessor</Processor> 
     36      <Options>None</Options> 
     37      <Output>C:\MyTemp\hniemi\ShootEmUp\ShootEmUp\bin\x86\Debug\Content\pum.xnb</Output> 
     38      <Time>2010-06-14T10:33:19.8792997+03:00</Time> 
     39    </Item> 
     40    <Item> 
     41      <Source>ohjus.png</Source> 
     42      <Name>ohjus</Name> 
     43      <Importer>TextureImporter</Importer> 
     44      <Processor>TextureProcessor</Processor> 
     45      <Options>None</Options> 
     46      <Output>C:\MyTemp\hniemi\ShootEmUp\ShootEmUp\bin\x86\Debug\Content\ohjus.xnb</Output> 
     47      <Time>2010-06-14T15:13:56.2405151+03:00</Time> 
    2148    </Item> 
    2249    <BuildSuccessful>true</BuildSuccessful> 
     
    2552      <BuildConfiguration>Debug</BuildConfiguration> 
    2653      <CompressContent>false</CompressContent> 
    27       <RootDirectory>D:\Opiskelu\kurssit\NPO2010\ShootEmUp\ShootEmUp\Content\</RootDirectory> 
    28       <LoggerRootDirectory>D:\Opiskelu\kurssit\NPO2010\ShootEmUp\ShootEmUp\</LoggerRootDirectory> 
    29       <IntermediateDirectory>D:\Opiskelu\kurssit\NPO2010\ShootEmUp\ShootEmUp\Content\obj\x86\Debug\</IntermediateDirectory> 
    30       <OutputDirectory>D:\Opiskelu\kurssit\NPO2010\ShootEmUp\ShootEmUp\bin\x86\Debug\Content\</OutputDirectory> 
     54      <RootDirectory>C:\MyTemp\hniemi\ShootEmUp\ShootEmUp\Content\</RootDirectory> 
     55      <LoggerRootDirectory>C:\MyTemp\hniemi\ShootEmUp\ShootEmUp\</LoggerRootDirectory> 
     56      <IntermediateDirectory>C:\MyTemp\hniemi\ShootEmUp\ShootEmUp\Content\obj\x86\Debug\</IntermediateDirectory> 
     57      <OutputDirectory>C:\MyTemp\hniemi\ShootEmUp\ShootEmUp\bin\x86\Debug\Content\</OutputDirectory> 
    3158    </Settings> 
    3259    <Assemblies> 
     
    5683      </Assembly> 
    5784      <Assembly> 
    58         <Key>C:\WINDOWS\assembly\GAC_32\Microsoft.Xna.Framework.Content.Pipeline\3.1.0.0__6d5c3888ef60e27d\Microsoft.Xna.Framework.Content.Pipeline.dll</Key> 
    59         <Value>2010-04-17T01:01:45.234375+03:00</Value> 
     85        <Key>C:\Windows\assembly\GAC_32\Microsoft.Xna.Framework.Content.Pipeline\3.1.0.0__6d5c3888ef60e27d\Microsoft.Xna.Framework.Content.Pipeline.dll</Key> 
     86        <Value>2010-06-09T11:07:38.3727625+03:00</Value> 
    6087      </Assembly> 
    6188    </Assemblies> 
  • 2010/23/hniemi/ShootEmUp/ShootEmUp/Peli.cs

    r779 r823  
    1010    public class Peli : PhysicsGame 
    1111    { 
    12         private Alus pelaajaAlus; 
    13         private PhysicsObject exitZone; 
    14  
     12        #region Julistukset 
     13         
     14         
     15        //Liikkumisnopeudet 
    1516        private const double nopeus = 300; 
    1617        private Vector nopeusPysty = new Vector(0,nopeus); 
    1718        private Vector nopeusVaaka = new Vector(nopeus, 0); 
    1819 
     20        //Kentän rakenne 
     21        private Alus pelaajaAlus; 
    1922        private PhysicsObject vasenLaita; 
    2023        private PhysicsObject oikeaLaita; 
    2124        private PhysicsObject pohja; 
    2225        private PhysicsObject katto; 
    23  
     26        private PhysicsObject exitZone; 
     27 
     28        //Viholliset 
    2429        private const int VIHOLLISKUVIA = 1; 
    2530 
     31        //Statistiikka 
    2632        private int kentannro = 0; 
    2733        private IntMeter score = new IntMeter(0); 
     34        private Weapon[] weapons; 
     35 
     36        #endregion 
    2837 
    2938        protected override void Begin() 
     
    3140            LataaKentta(kentannro); 
    3241        } 
     42 
     43        #region Kentän lataaminen 
    3344 
    3445        /// <summary> 
     
    5364            //Exit-alueen tekeminen. 
    5465            exitZone = PhysicsObject.CreateStaticObject(Level.Width, 200); 
    55             exitZone.Position = new Vector(Level.Center.X, Level.Bottom - exitZone.Size.Y/2 - 5); 
     66            exitZone.Position = new Vector(Level.Center.X, Level.Bottom - exitZone.Size.Y / 2 - 5); 
    5667            Add(exitZone); 
    5768 
     
    6071            LataaKontrollit(pelaajaAlus); 
    6172            //LataaTausta(kentanNumero); 
    62             LataaViholliset(); 
     73            //LataaViholliset(); 
    6374            LataaHUD(); 
    6475        } 
     
    8192            scoreNaytto.Text = "SCORE: "; 
    8293 
    83         } 
    84  
     94 
     95 
     96        } 
     97 
     98        /// <summary> 
     99        /// Luo pelaajan ja sijoittaa sen kentälle. 
     100        /// Asettaa pelaajalle myös aseen. 
     101        /// </summary> 
    85102        void LuoPelaaja() 
    86103        { 
     
    88105            pelaajaAlus.Shape = Shapes.Triangle; 
    89106            pelaajaAlus.Image = LoadImage("pelaajaAlus"); 
    90              
     107 
    91108            pelaajaAlus.Angle += Angle.Degrees(90); 
    92109 
     
    96113            pelaajaAlus.Mass = 100000; 
    97114 
    98             LaserGun plasmatykki = new LaserGun(30, 10); 
    99             plasmatykki.Y = +11; 
    100             plasmatykki.X = +5; 
     115            weapons = new Weapon[2]; 
     116 
     117            weapons[0] = new Beam(30, 10); 
     118            ((Beam)weapons[0]).BeamCollision = BeamOsuu; 
     119            weapons[0].Position = new Vector(5, 11); 
     120            weapons[1] = new Missile(30, 10); 
     121            ((Missile)weapons[1]).MissileCollision = MissileOsuu; 
     122 
     123            //Add(weapons[0]); 
     124            //Add(weapons[1]); 
     125            pelaajaAlus.SetWeapon(weapons[1]); 
     126            Add(pelaajaAlus); 
     127            AddCollisionHandler(pelaajaAlus, PelaajaTormaa); 
    101128             
    102             plasmatykki.LaserCollision = LaserSadeOsuu; 
    103             pelaajaAlus.SetWeapon(plasmatykki); 
    104  
    105             AddCollisionHandler(pelaajaAlus, PelaajaTormaa); 
    106             Add(pelaajaAlus); 
    107         } 
    108  
     129        } 
     130 
     131        #endregion 
     132        #region Kontrollit ja liikkuminen 
    109133        /// <summary> 
    110134        /// Asettaa kontrollit ohjaamaan haluttua alusta 
     
    123147            Keyboard.Listen(Key.Right, ButtonState.Released, pelaaja.StopHorizontal, null); 
    124148            Keyboard.Listen(Key.LeftControl, ButtonState.Pressed, Ammu, "Lopettaa pelin", pelaajaAlus); 
     149            Keyboard.Listen(Key.D1, ButtonState.Pressed, VaihdaAsetta, "Valitsee säde-aseen", 1); 
     150            Keyboard.Listen(Key.D2, ButtonState.Pressed, VaihdaAsetta, "Valitsee säde-aseen", 2); 
    125151        } 
    126152 
     
    142168        } 
    143169 
     170        void VaihdaAsetta(int aseenNumero) 
     171        { 
     172            if (aseenNumero > 0 && aseenNumero < 3) 
     173            pelaajaAlus.SetWeapon(weapons[aseenNumero-1]); 
     174        } 
     175 
    144176        /// <summary> 
    145177        /// Ampuu aluksella 
    146178        /// </summary> 
    147179        /// <param name="alus">Alus joka ampuu</param> 
    148         void Ammu(Alus alus)  
     180        void Ammu(Alus alus) 
    149181        { 
    150182            alus.Shoot(); 
    151183        } 
    152184 
     185        #endregion 
     186        #region Viholliset 
     187        /// <summary> 
     188        /// Lataa viholliset 
     189        /// TODO: Kentän numeron huomioiminen 
     190        /// </summary> 
    153191        void LataaViholliset() 
    154192        { 
     
    239277        { 
    240278            List<Vector> reitti = new List<Vector>(); 
    241              
    242             reitti.Add(new Vector(RandomGen.NextDouble(Level.Left + 30, Level.Right - 30),Level.Top + 35)); 
    243  
     279            reitti.Add(new Vector(RandomGen.NextDouble(Level.Left + 30, Level.Right - 30),Level.Top + 80)); 
    244280            for (int i = 0; i < valipisteet; i++) 
    245281            { 
     
    260296 
    261297        /// <summary> 
     298        /// Luo ajastimen 
     299        /// Lisää myös ajastimen, joten voidaan kutsua suoraan Muodostelman muodostajassa. 
     300        /// </summary> 
     301        /// <returns></returns> 
     302        Timer LuoLahettaja() 
     303        { 
     304            Timer ajastin = new Timer(); 
     305            ajastin.Interval = 0.5; 
     306            Add(ajastin); 
     307            return ajastin; 
     308        } 
     309        #endregion 
     310        #region Tapahtumat 
     311        /// <summary> 
    262312        /// Pelaajan törmäyksen käsittelijä 
    263313        ///  
     
    309359        } 
    310360 
    311         void LaserSadeOsuu(PhysicsObject sade, PhysicsObject toinen) 
    312         { 
     361        void BeamOsuu(PhysicsObject sade, PhysicsObject toinen) 
     362        { 
     363            sade.Destroy(); 
     364 
    313365            if (toinen.Tag.ToString() == "vihollinen")  
    314366            { 
     
    318370        } 
    319371 
    320         /// <summary> 
    321         /// Luo ajastimen, joka on triggeröi sekunnin välein. 
    322         /// Lisää myös ajastimen, joten voidaan kutsua suoraan Muodostelman muodostajassa. 
    323         /// </summary> 
    324         /// <returns></returns> 
    325         Timer LuoLahettaja() 
    326         { 
    327             Timer ajastin = new Timer(); 
    328             ajastin.Interval = 1; 
    329             Add(ajastin); 
    330             return ajastin; 
    331         } 
    332  
     372        void MissileOsuu(PhysicsObject missile, PhysicsObject toinen) 
     373        { 
     374            //missile.Destroy(); 
     375 
     376            if (toinen.Tag.ToString() == "vihollinen") 
     377            { 
     378                ((Alus)toinen).TakeHit(20); 
     379                if (toinen.IsDestroyed()) score.Value++; 
     380            } 
     381        } 
     382        #endregion 
    333383    } 
    334384 
  • 2010/23/hniemi/ShootEmUp/ShootEmUp/ShootEmUp.csproj

    r776 r823  
    9494      <DependentUpon>Resources.resx</DependentUpon> 
    9595    </Compile> 
     96    <Compile Include="Weapons.cs" /> 
    9697  </ItemGroup> 
    9798  <ItemGroup> 
  • 2010/23/hniemi/ShootEmUp/ShootEmUp/ShootEmUp.csproj.Debug.cachefile

    r719 r823  
    11Content\pelaajaAlus.xnb 
    22Content\vihollinen1.xnb 
     3Content\ringout.xnb 
     4Content\pum.xnb 
     5Content\ohjus.xnb 
  • 2010/23/hniemi/ShootEmUp/ShootEmUp/obj/x86/Debug/ShootEmUp.csproj.FileListAbsolute.txt

    r719 r823  
    1111D:\Opiskelu\kurssit\NPO2010\ShootEmUp\ShootEmUp\obj\x86\Debug\ShootEmUp.csproj.GenerateResource.Cache 
    1212D:\Opiskelu\kurssit\NPO2010\ShootEmUp\ShootEmUp\bin\x86\Debug\Content\vihollinen1.xnb 
     13C:\MyTemp\hniemi\ShootEmUp\ShootEmUp\bin\x86\Debug\Content\pelaajaAlus.xnb 
     14C:\MyTemp\hniemi\ShootEmUp\ShootEmUp\bin\x86\Debug\Content\vihollinen1.xnb 
     15C:\MyTemp\hniemi\ShootEmUp\ShootEmUp\bin\x86\Debug\ShootEmUp.exe 
     16C:\MyTemp\hniemi\ShootEmUp\ShootEmUp\bin\x86\Debug\ShootEmUp.pdb 
     17C:\MyTemp\hniemi\ShootEmUp\ShootEmUp\bin\x86\Debug\Jypeli2.xml 
     18C:\MyTemp\hniemi\ShootEmUp\ShootEmUp\obj\x86\Debug\ResolveAssemblyReference.cache 
     19C:\MyTemp\hniemi\ShootEmUp\ShootEmUp\obj\x86\Debug\Microsoft.Xna.Framework.RuntimeProfile.txt 
     20C:\MyTemp\hniemi\ShootEmUp\ShootEmUp\obj\x86\Debug\ShootEmUp.Properties.Resources.resources 
     21C:\MyTemp\hniemi\ShootEmUp\ShootEmUp\obj\x86\Debug\ShootEmUp.csproj.GenerateResource.Cache 
     22C:\MyTemp\hniemi\ShootEmUp\ShootEmUp\obj\x86\Debug\ShootEmUp.exe 
     23C:\MyTemp\hniemi\ShootEmUp\ShootEmUp\obj\x86\Debug\ShootEmUp.pdb 
     24C:\MyTemp\hniemi\ShootEmUp\ShootEmUp\bin\x86\Debug\Content\ringout.xnb 
     25C:\MyTemp\hniemi\ShootEmUp\ShootEmUp\bin\x86\Debug\Content\pum.xnb 
     26C:\MyTemp\hniemi\ShootEmUp\ShootEmUp\bin\x86\Debug\Content\ohjus.xnb 
  • 2010/23/hniemi/ShootEmUp/ShootEmUp/obj/x86/Debug/cachefile-{72efbe00-2f1f-4e1d-9867-af4a5a7cd89e}-targetpath.txt

    r719 r823  
    11Content\pelaajaAlus.xnb 
    22Content\vihollinen1.xnb 
     3Content\ringout.xnb 
     4Content\pum.xnb 
     5Content\ohjus.xnb 
Note: See TracChangeset for help on using the changeset viewer.