Changeset 873 for 2010/23


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

Säteelle lisätty tekstuuri
Ampumista parannettu

Location:
2010/23/hniemi/ShootEmUp/ShootEmUp
Files:
14 edited

Legend:

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

    r847 r873  
    4444            this.CanRotate = false; 
    4545            this.IgnoresCollisionResponse = true; 
     46            this.IgnoresExplosions = true; 
    4647            this.hp = new IntMeter(hp); 
    4748        } 
  • 2010/23/hniemi/ShootEmUp/ShootEmUp/Content/Content.contentproj

    r847 r873  
    9696    </Compile> 
    9797  </ItemGroup> 
     98  <ItemGroup> 
     99    <Compile Include="sade.png"> 
     100      <Name>sade</Name> 
     101      <Importer>TextureImporter</Importer> 
     102      <Processor>TextureProcessor</Processor> 
     103    </Compile> 
     104  </ItemGroup> 
    98105  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    99106  <!-- 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/ContentPipeline.xml

    r847 r873  
    5454      <Options>None</Options> 
    5555      <Output>C:\MyTemp\hniemi\ShootEmUp\ShootEmUp\bin\x86\Debug\Content\sankarialus\sankarialusThrust1.xnb</Output> 
    56       <Time>2010-06-15T09:37:30.7697918+03:00</Time> 
     56      <Time>2010-06-15T12:15:45.427405+03:00</Time> 
    5757    </Item> 
    5858    <Item> 
     
    9191      <Output>C:\MyTemp\hniemi\ShootEmUp\ShootEmUp\bin\x86\Debug\Content\vihollinen3.xnb</Output> 
    9292      <Time>2010-06-15T11:22:42.3386343+03:00</Time> 
     93    </Item> 
     94    <Item> 
     95      <Source>sade.png</Source> 
     96      <Name>sade</Name> 
     97      <Importer>TextureImporter</Importer> 
     98      <Processor>TextureProcessor</Processor> 
     99      <Options>None</Options> 
     100      <Output>C:\MyTemp\hniemi\ShootEmUp\ShootEmUp\bin\x86\Debug\Content\sade.xnb</Output> 
     101      <Time>2010-06-15T15:08:27.3746365+03:00</Time> 
    93102    </Item> 
    94103    <BuildSuccessful>true</BuildSuccessful> 
  • 2010/23/hniemi/ShootEmUp/ShootEmUp/Peli.cs

    r847 r873  
    5757 
    5858            //Laidat 
     59            LisaData tieto; 
     60            tieto.Tyyppi = "seina"; 
     61            tieto.Rajahtaa = true; 
     62            tieto.Damage = 5; 
    5963            vasenLaita = Level.CreateLeftBorder(); 
     64            vasenLaita.Tag = tieto; 
    6065            oikeaLaita = Level.CreateRightBorder(); 
     66            oikeaLaita.Tag = tieto; 
    6167            pohja = Level.CreateBottomBorder(); 
     68            pohja.Tag = tieto; 
    6269            katto = Level.CreateTopBorder(); 
     70            katto.Tag = tieto; 
    6371 
    6472            //Exit-alueen tekeminen. 
    6573            exitZone = PhysicsObject.CreateStaticObject(Level.Width, 200); 
    6674            exitZone.Position = new Vector(Level.Center.X, Level.Bottom - exitZone.Size.Y / 2 - 5); 
     75            exitZone.Tag = tieto; 
     76 
    6777            Add(exitZone); 
    6878 
     
    92102            scoreNaytto.Text = "SCORE: "; 
    93103 
    94  
    95  
    96104        } 
    97105 
     
    102110        void LuoPelaaja() 
    103111        { 
    104             pelaajaAlus = new Alus(40, 50, 10); 
     112            pelaajaAlus = new Alus(60, 55, 10); 
    105113            pelaajaAlus.Shape = Shapes.Triangle; 
    106             pelaajaAlus.Image = LoadImage("sankarialus/sankarialusStop"); 
     114             
     115            pelaajaAlus.Animation = new Animation(LoadImages("sankarialus/sankarialusThrust1", "sankarialus/sankarialusThrust2")); 
     116            pelaajaAlus.Animation.Start(); 
     117 
     118            LisaData tieto; 
     119            tieto.Tyyppi = "oma"; 
     120            tieto.Rajahtaa = true; 
     121            tieto.Damage = 5; 
     122            pelaajaAlus.Tag = tieto; 
    107123 
    108124            pelaajaAlus.Angle += Angle.Degrees(90); 
     
    115131            weapons = new Weapon[2]; 
    116132 
    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; 
     133            weapons[0] = new Beam(1, 1); 
     134            ((Beam)weapons[0]).BeamCollision = AmmusOsuu; 
     135            weapons[0].Position = new Vector(0, -40); 
     136            weapons[1] = new Missile(1, 1); 
     137            ((Missile)weapons[1]).MissileCollision = AmmusOsuu; 
    122138 
    123139            Add(pelaajaAlus); 
    124             pelaajaAlus.SetWeapon(weapons[1]); 
     140            pelaajaAlus.SetWeapon(weapons[0]); 
    125141             
    126142            AddCollisionHandler(pelaajaAlus, PelaajaTormaa); 
     
    145161            Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikuttaa alusta oikealle", pelaaja, nopeusVaaka); 
    146162            Keyboard.Listen(Key.Right, ButtonState.Released, pelaaja.StopHorizontal, null); 
    147             Keyboard.Listen(Key.LeftControl, ButtonState.Pressed, Ammu, "Lopettaa pelin", pelaajaAlus); 
     163            Keyboard.Listen(Key.LeftControl, ButtonState.Down, Ammu, "Lopettaa pelin", pelaajaAlus); 
    148164            Keyboard.Listen(Key.D1, ButtonState.Pressed, VaihdaAsetta, "Valitsee säde-aseen", 1); 
    149165            Keyboard.Listen(Key.D2, ButtonState.Pressed, VaihdaAsetta, "Valitsee säde-aseen", 2); 
     
    247263        } 
    248264 
     265        /// <summary> 
     266        /// Arpoo ja lähettää satunnaisen vihollislaivueen 
     267        /// Laivueessa on tällä hetkellä 10 alusta 
     268        /// Aluksen kuva arvotaan tiedostoista, joiden nimi on "vihollinen#.png" 
     269        /// </summary> 
     270        /// <param name="sender"></param> 
    249271        void LahetaSatunnainenVihollislaivue(Timer sender) 
    250272        { 
     
    254276            for (int i = 0; i < 10; i++) 
    255277            { 
    256                 alukset.Add(LuoVihollinen(vihollisenKuva, 1)); 
     278                alukset.Add(LuoVihollinen(vihollisenKuva, 40)); 
    257279                Add(alukset[i]); 
    258280                Angle alas = new Angle(); 
     
    288310        Alus LuoVihollinen(Image kuva, int hp) 
    289311        { 
    290             Alus vihollinen = new Alus(50, 50, hp); 
     312             
     313            Alus vihollinen = new Alus(kuva.Width/5, kuva.Height/5, hp); 
    291314            vihollinen.Image = kuva; 
    292             vihollinen.Tag = "vihollinen"; 
     315            LisaData tieto; 
     316            tieto.Tyyppi = "vihollinen"; 
     317            tieto.Rajahtaa = true; 
     318            tieto.Damage = 5; 
     319            vihollinen.Tag = tieto; 
    293320            return vihollinen; 
    294321        } 
     
    317344        void PelaajaTormaa(PhysicsObject tormaaja, PhysicsObject kohde) 
    318345        { 
    319             if (kohde.Tag.ToString() == "vihollinen")  
     346            if (((LisaData)kohde.Tag).Tyyppi == "vihollinen")  
    320347            { 
    321348                ((Alus)tormaaja).TakeHit(5); 
     
    358385        } 
    359386 
    360         void BeamOsuu(PhysicsObject sade, PhysicsObject toinen) 
    361         { 
    362             sade.Destroy(); 
    363  
    364             if (toinen.Tag.ToString() == "vihollinen")  
    365             { 
    366                 ((Alus)toinen).TakeHit(5); 
    367                 if (toinen.IsDestroyed()) score.Value++; 
    368             } 
    369         } 
    370  
    371         void MissileOsuu(PhysicsObject missile, PhysicsObject toinen) 
    372         { 
    373             if (toinen != pelaajaAlus) missile.Destroy(); 
    374  
    375             if (toinen.Tag.ToString() == "vihollinen") 
    376             { 
    377                 ((Alus)toinen).TakeHit(20); 
    378                 if (toinen.IsDestroyed()) score.Value++; 
    379             } 
     387        void AmmusOsuu(PhysicsObject ammus, PhysicsObject toinen) 
     388        { 
     389             
     390            if (toinen.Tag.ToString() == "seina" || ((LisaData)toinen.Tag).Tyyppi != "oma" ) 
     391            { 
     392                ammus.Destroy(); 
     393                if (((LisaData)ammus.Tag).Rajahtaa) 
     394                { 
     395                    Explosion rajahdys = new Explosion(100); 
     396                    rajahdys.Position = toinen.Position; 
     397                    Add(rajahdys); 
     398                } 
     399 
     400                if (((LisaData)toinen.Tag).Tyyppi == "vihollinen") 
     401                { 
     402                    ((Alus)toinen).TakeHit(((LisaData)ammus.Tag).Damage); 
     403                    if (toinen.IsDestroyed()) score.Value++; 
     404                } 
     405            } 
     406 
     407 
    380408        } 
    381409        #endregion 
  • 2010/23/hniemi/ShootEmUp/ShootEmUp/ShootEmUp.csproj.Debug.cachefile

    r847 r873  
    99Content\sankarialus\sankarialusStopShield.xnb 
    1010Content\vihollinen3.xnb 
     11Content\sade.xnb 
  • 2010/23/hniemi/ShootEmUp/ShootEmUp/Weapons.cs

    r847 r873  
    99namespace ShootEmUp 
    1010{ 
     11    struct LisaData 
     12    { 
     13        public int Damage; 
     14        public string Tyyppi; 
     15        public bool Rajahtaa; 
     16    } 
     17 
    1118    class Beam : Weapon 
    1219    { 
    13  
     20        private Image ammus; 
     21        public int Damage { get; set; } 
    1422        public int Level { get; private set; } 
    1523        public CollisionHandler BeamCollision { get; set; } 
     24 
    1625 
    1726        public Beam(double width, double height) 
     
    2029            Level = 1; 
    2130            Color = Color.Blue; 
    22             this.AddedToGame += LisaaAani;           
     31            Damage = 20; 
     32            this.AddedToGame += LisaaAani; 
     33            this.TimeBetweenUse = (new TimeSpan(0, 0, 0, 0, 5)); 
     34 
    2335        } 
    2436 
     
    2638        { 
    2739            AttackSound = Game.LoadSoundEffect("pum"); 
     40            ammus = Game.LoadImage("sade"); 
    2841        } 
    2942 
     
    3851        { 
    3952 
    40             PhysicsObject projectile = new PhysicsObject(Level * 10, Level * 20); 
     53            PhysicsObject projectile = new PhysicsObject(Level * 35, Level * 5); 
     54            LisaData ammus; 
     55            ammus.Damage = 3; 
     56            ammus.Rajahtaa = false; 
     57            ammus.Tyyppi = "oma"; 
     58            projectile.Image = this.ammus; 
     59            projectile.Tag = ammus; 
    4160            projectile.Position = this.Position; 
    4261            projectile.Color = this.Color; 
     62            projectile.IgnoresExplosions = true; 
     63            projectile.IgnoresCollisionResponse = true; 
    4364            SetCollisionHandler(projectile, BeamCollision); 
    44             ShootProjectile(projectile, 1000); 
     65            ShootProjectile(projectile, 3000); 
    4566 
    4667            return projectile; 
     
    5778        public int Level { get; private set; } 
    5879        public CollisionHandler MissileCollision { get; set; } 
     80        public int Damage { get; set; } 
    5981 
    6082        public Missile(double width, double height) 
     
    6284        { 
    6385            Level = 1; 
     86            Damage = 20; 
     87            this.TimeBetweenUse = (new TimeSpan(0,0,0,0,300)); 
    6488            Color = Color.Blue; 
    6589            this.AddedToGame += LisaaAani;           
     
    82106        protected override PhysicsObject OnShoot() 
    83107        { 
    84             PhysicsObject projectile = new PhysicsObject(Level * 30, Level * 15); 
    85             projectile.Shape = Shapes.Triangle; 
    86             projectile.Position = this.Position; 
    87             projectile.Color = this.Color; 
    88             projectile.Image = ammus; 
    89             SetCollisionHandler(projectile, MissileCollision); 
    90             ShootProjectile(projectile, 1000); 
    91             Game.Add(projectile); 
    92             return projectile; 
     108            if (this.IsDestroyed()) 
     109            { 
     110                PhysicsObject projectile = new PhysicsObject(Level * 30, Level * 15); 
     111                projectile.Shape = Shapes.Triangle; 
     112                projectile.Position = this.Position; 
     113                projectile.Color = this.Color; 
     114                projectile.Image = this.ammus; 
     115                SetCollisionHandler(projectile, MissileCollision); 
     116                ShootProjectile(projectile, 1000); 
     117                Game.Add(projectile); 
     118                projectile.IgnoresExplosions = true; 
     119                projectile.IgnoresCollisionResponse = true; 
     120                LisaData ammus; 
     121                ammus.Damage = 20; 
     122                ammus.Rajahtaa = true; 
     123                ammus.Tyyppi = "oma"; 
     124                projectile.Tag = ammus; 
     125                return projectile; 
     126            } 
     127            return null; 
    93128        } 
    94129    } 
  • 2010/23/hniemi/ShootEmUp/ShootEmUp/obj/x86/Debug/ShootEmUp.csproj.FileListAbsolute.txt

    r847 r873  
    3030C:\MyTemp\hniemi\ShootEmUp\ShootEmUp\bin\x86\Debug\Content\sankarialus\sankarialusStopShield.xnb 
    3131C:\MyTemp\hniemi\ShootEmUp\ShootEmUp\bin\x86\Debug\Content\vihollinen3.xnb 
     32C:\MyTemp\hniemi\ShootEmUp\ShootEmUp\bin\x86\Debug\Content\sade.xnb 
  • 2010/23/hniemi/ShootEmUp/ShootEmUp/obj/x86/Debug/cachefile-{72efbe00-2f1f-4e1d-9867-af4a5a7cd89e}-targetpath.txt

    r847 r873  
    99Content\sankarialus\sankarialusStopShield.xnb 
    1010Content\vihollinen3.xnb 
     11Content\sade.xnb 
Note: See TracChangeset for help on using the changeset viewer.