Changeset 1007 for 2010/23


Ignore:
Timestamp:
2010-06-18 14:56:11 (9 years ago)
Author:
hniemi
Message:
 
Location:
2010/23/hniemi/oksa
Files:
13 copied

Legend:

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

    r993 r1007  
    7676        /// Ampuu käytössä olevalla aseella 
    7777        /// </summary> 
    78         public void Shoot() 
     78        public PhysicsObject Shoot() 
    7979        { 
    8080            PhysicsObject panos = kaytossaOlevaAse.Shoot(); 
    8181            if ( panos != null) {  
    8282                panos.Angle = this.Angle; 
    83             }     
     83            } 
     84            return panos; 
    8485        } 
    8586 
     
    9091        public void Shoot(Timer sender) 
    9192        { 
    92             this.Shoot(); 
     93            this.Position = new Vector(0, 0); 
     94            Game.Add(this.Shoot()); 
     95            //this.Shoot(); 
    9396        } 
    9497 
  • 2010/23/hniemi/oksa/ShootEmUp/ShootEmUp/Peli.cs

    r993 r1007  
    3939        private Weapon[] weapons; 
    4040 
     41        private bool bossmode = true; 
     42 
    4143        #endregion 
    4244 
     
    246248            ((ShmupWeapon)weapons[0]).ProjectileCollision = AmmusOsuu; 
    247249            weapons[0].Position = new Vector(0, -40); 
    248             weapons[1] = new Missile2(15, 30, LoadImage("ohjus")); 
     250            weapons[1] = new Missile(15, 30, LoadImage("ohjus")); 
    249251            ((ShmupWeapon)weapons[1]).ProjectileCollision = AmmusOsuu; 
    250252 
    251             weapons[2] = new Photon(1, 1); 
    252             ((Photon)weapons[2]).PhotonCollision = AmmusOsuu; 
     253            weapons[2] = new Photon(15, 15, LoadImage("photon")); 
     254            ((ShmupWeapon)weapons[2]).ProjectileCollision = AmmusOsuu; 
    253255 
    254256            for (int i = 0; i < weapons.Length; i++) 
     
    323325        void Ammu(Alus alus) 
    324326        { 
    325             alus.Shoot(); 
     327            Add(alus.Shoot()); 
    326328        } 
    327329 
     
    331333        /// Lataa viholliset 
    332334        /// TODO: Kentän numeron huomioiminen 
     335        ///  
     336        /// Jos bossmode on päällä, lähettää vain loppupomon. 
    333337        /// </summary> 
    334338        void LataaViholliset(int maara, double min, double max) 
    335339        { 
    336340            List<AikaTapahtuma> vihollistenTuloajat = new List<AikaTapahtuma>(); 
    337              
    338             for (int i = 0; i < maara; i++) 
    339             { 
    340                 vihollistenTuloajat.Add(new AikaTapahtuma(2 + (i * 5), LahetaSatunnainenVihollislaivue, 4, 10)); 
    341             } 
    342             vihollistenTuloajat.Add(new AikaTapahtuma(2 + (maara * 5), LahetaLoppupomo, 1, 20)); 
    343  
     341 
     342            if (!bossmode) 
     343            { 
     344                for (int i = 0; i < maara; i++) 
     345                { 
     346                    vihollistenTuloajat.Add(new AikaTapahtuma(2 + (i * 5), LahetaSatunnainenVihollislaivue, 4, 10)); 
     347                } 
     348                vihollistenTuloajat.Add(new AikaTapahtuma(2 + (maara * 5), LahetaLoppupomo, 1, 20)); 
     349            } 
     350            else 
     351            { 
     352                vihollistenTuloajat.Add(new AikaTapahtuma(0, LahetaLoppupomo, 1, 20)); 
     353            } 
    344354            foreach (AikaTapahtuma tapahtuma in vihollistenTuloajat) 
    345355            { 
     
    369379            Add(alukset[0]); 
    370380 
    371             //Aseen säätö 
    372             Photon ase = new Photon(10, 10); 
    373             LisaData ammuksenData = new LisaData(); 
    374             ammuksenData.Damage = 20; 
    375             ammuksenData.Rajahtaa = false; 
    376             ammuksenData.Tyyppi = "vihollinen"; 
    377             ase.Tag = ammuksenData; 
    378             alukset[0].Add(ase); 
    379             alukset[0].SetWeapon(ase); 
    380             alukset[0].UsedWeapon.IsVisible = false; 
    381             ase.PhotonCollision = AmmusOsuu; 
    382  
     381            //ase.ProjectileCollision = AmmusOsuu; 
     382 
     383            Timer Purkkakorjaus = new Timer(); 
     384            Purkkakorjaus.Tag = alukset[0]; 
     385            Purkkakorjaus.Interval = 0.1; 
     386            Purkkakorjaus.Trigger += Purkkakorjaus2; 
     387            Add(Purkkakorjaus); 
     388            Purkkakorjaus.Start(); 
     389 
     390            //Lisää ampuma-ajastimen 
    383391            Timer ampumaAjastin = new Timer(); 
    384392            ampumaAjastin.Interval = 0.7; 
     
    394402            muodostelma.MovingSpeed = 100; 
    395403            muodostelma.Start(); 
     404        } 
     405 
     406        void Purkkakorjaus2(Timer sender) 
     407        {              
     408            //Aseen säätö 
     409             
     410            Photon ase = new Photon(10, 10, LoadImage("photon")); 
     411            Add(ase); 
     412            ase.Data.Damage = 20; 
     413            ase.Data.Rajahtaa = false; 
     414            ase.Data.Tyyppi = "vihollinen"; 
     415            ((Alus)sender.Tag).Add(ase); 
     416            ((Alus)sender.Tag).SetWeapon(ase); 
    396417        } 
    397418 
  • 2010/23/hniemi/oksa/ShootEmUp/ShootEmUp/Weapons.cs

    r993 r1007  
    104104        protected override PhysicsObject OnShoot() 
    105105        { 
    106             PhysicsObject projectile = new PhysicsObject(Level * projectileWidth, Level * projectileHeigth); 
     106            if (this.IsAddedToGame) 
     107            { 
     108                PhysicsObject projectile = new PhysicsObject(Level * projectileWidth, Level * projectileHeigth); 
    107109 
    108             projectile.Tag = this.Tag; 
     110                projectile.Tag = this.Tag; 
    109111 
    110             projectile.Image = this.Projectile; 
    111             projectile.Position = this.Position; 
    112             projectile.Color = this.Color; 
    113             projectile.IgnoresExplosions = true; 
    114             projectile.IgnoresCollisionResponse = true; 
    115             SetCollisionHandler(projectile, ProjectileCollision); 
    116             ShootProjectile(projectile, GetSpeed()); 
     112                projectile.Image = this.Projectile; 
     113                projectile.Position = this.Position; 
     114                projectile.Color = this.Color; 
     115                projectile.IgnoresExplosions = true; 
     116                projectile.IgnoresCollisionResponse = true; 
     117                SetCollisionHandler(projectile, ProjectileCollision); 
     118                Game.Add(projectile); 
    117119 
    118             return projectile; 
     120                ShootProjectile(projectile, GetSpeed()); 
     121 
     122                return projectile; 
     123            } 
     124            return null; 
    119125        } 
    120126    } 
     
    138144        } 
    139145 
    140         protected override double  GetSpeed() 
     146        protected override double GetSpeed() 
    141147        { 
    142             return 2000 + (Math.Sin(Game.Time.SinceStartOfGame.Milliseconds) * 100); 
     148            return 2000; //+ (Math.Sin(Game.Time.SinceStartOfGame.Milliseconds) * 100); 
    143149        } 
    144150    } 
     
    147153    /// Ohjus-ase 
    148154    /// </summary> 
    149     class Missile2 : ShmupWeapon 
     155    class Missile : ShmupWeapon 
    150156    { 
    151157        /// <summary> 
     
    155161        /// <param name="projectileHeigth">Ammuksen pituus</param> 
    156162        /// <param name="projectileImage">Ammuksen kuva</param> 
    157         public Missile2(double projectileWidth, double projectileHeigth, Image projectileImage) 
     163        public Missile(double projectileWidth, double projectileHeigth, Image projectileImage) 
    158164            : base(projectileHeigth, projectileWidth) 
    159165        { 
     
    169175    } 
    170176 
    171  
    172177    /// <summary> 
    173     /// Ohjus-ase 
    174     /// Ampuu räjähtävän ohjuksen 
     178    /// Photon-ase 
    175179    /// </summary> 
    176     class Missile : Weapon 
     180    class Photon : ShmupWeapon 
    177181    { 
    178         private Image ammus; 
    179         public int Level { get; private set; } 
    180         public CollisionHandler MissileCollision { get; set; } 
    181         public int Damage { get; set; } 
    182  
    183         public Missile(double width, double height) 
    184             : base(width, height) 
     182        public Photon(double projectileWidth, double projectileHeigth, Image projectileImage) 
     183            : base(projectileHeigth, projectileWidth) 
    185184        { 
    186             Level = 1; 
    187             this.IsVisible = false; 
    188             this.TimeBetweenUse = (new TimeSpan(0,0,0,0,300)); 
    189             Color = Color.Blue; 
    190             this.AddedToGame += LisaaAV; 
    191             LisaData ase = new LisaData(); 
    192             ase.Damage = 20; 
    193             ase.Rajahtaa = true; 
    194             ase.Tyyppi = "oma"; 
    195             this.Tag = ase; 
     185            Projectile = projectileImage; 
     186            Damage = 20; 
     187            this.TimeBetweenUse = (new TimeSpan(0, 0, 0, 0, 200)); 
    196188        } 
    197189 
    198         /// <summary> 
    199         /// Lisää äänen ja kuvan aseeseen 
    200         /// </summary> 
    201         private void LisaaAV() 
     190        protected override double GetSpeed() 
    202191        { 
    203             //AttackSound = Game.LoadSoundEffect("pum"); 
    204             ammus = Game.LoadImage("ohjus"); 
    205         } 
    206  
    207         protected override void OnUse() 
    208         { 
    209             OnShoot(); 
    210         } 
    211  
    212         protected override PhysicsObject OnShoot() 
    213         { 
    214             
    215             if (!this.IsDestroyed()) 
    216             { 
    217                 PhysicsObject projectile = new PhysicsObject(Level * 30, Level * 15); 
    218                 projectile.Shape = Shapes.Triangle; 
    219                 projectile.Position = this.Position; 
    220                 projectile.Color = this.Color; 
    221                 projectile.Image = this.ammus; 
    222                 SetCollisionHandler(projectile, MissileCollision); 
    223                 ShootProjectile(projectile, 1000); 
    224                 projectile.IgnoresExplosions = true; 
    225                 projectile.IgnoresCollisionResponse = true; 
    226  
    227                 projectile.Tag = this.Tag; 
    228  
    229                 return projectile; 
    230             } 
    231             return null; 
    232         } 
    233     } 
    234  
    235     /// <summary> 
    236     /// Photon-ase 
    237     /// Ampuu pallon 
    238     /// </summary> 
    239     class Photon : Weapon 
    240     { 
    241         private Image ammus; 
    242         public int Level { get; private set; } 
    243         public CollisionHandler PhotonCollision { get; set; } 
    244         public int Damage { get; set; } 
    245  
    246         public Photon(double width, double height): base(width, height) 
    247         { 
    248             Level = 1; 
    249             this.TimeBetweenUse = (new TimeSpan(0,0,0,0,150)); 
    250             Color = Color.Blue; 
    251             this.AddedToGame += LisaaAani; 
    252             this.IsVisible = false; 
    253  
    254             //Tagi 
    255             LisaData ase = new LisaData(); ; 
    256             ase.Damage = 15; 
    257             ase.Rajahtaa = false; 
    258             ase.Tyyppi = "oma"; 
    259             this.Tag = ase; 
    260         } 
    261  
    262         /// <summary> 
    263         /// Lisää äänen 
    264         /// </summary> 
    265         private void LisaaAani() 
    266         { 
    267             //AttackSound = Game.LoadSoundEffect("pum"); 
    268             ammus = Game.LoadImage("photon"); 
    269         } 
    270  
    271         protected override void OnUse() 
    272         { 
    273             OnShoot(); 
    274         } 
    275  
    276         protected override PhysicsObject OnShoot() 
    277         { 
    278  
    279             if (!this.IsDestroyed()) 
    280             { 
    281                 PhysicsObject projectile = new PhysicsObject(Level * 15, Level * 15); 
    282                 projectile.Shape = Shapes.Circle; 
    283                 projectile.Position = this.Position; 
    284                 projectile.Color = this.Color; 
    285                 projectile.Image = this.ammus; 
    286                 SetCollisionHandler(projectile, PhotonCollision); 
    287                 ShootProjectile(projectile, 2000); 
    288                 projectile.IgnoresExplosions = true; 
    289                 projectile.IgnoresCollisionResponse = true; 
    290  
    291                 projectile.Tag = this.Tag; 
    292                 return projectile; 
    293             } 
    294             return null; 
     192            return 2000; 
    295193        } 
    296194    } 
Note: See TracChangeset for help on using the changeset viewer.