Changeset 2830 for 2012/23


Ignore:
Timestamp:
2012-06-07 11:30:56 (7 years ago)
Author:
ramipasa
Message:

Minioniräjähdykset, pistelaskurin pohja;

Location:
2012/23/RamiP/YAG2DSSBase/YAG2DSS
Files:
3 added
4 edited

Legend:

Unmodified
Added
Removed
  • 2012/23/RamiP/YAG2DSSBase/YAG2DSS/YAG2DSS/ALTKEngine/StaticAnimHandler.cs

    r2822 r2830  
    183183            wormhole_appearing.TimeEntirelyVisible = 1; 
    184184            wormhole_appearing.Texture = ALTKHandler.Loader.loadTexture("wormhole_appearing"); 
     185 
     186            StaticAnimationType minion_explosion_staticanim = new StaticAnimationType("MINION_EXPLOSION"); 
     187            minion_explosion_staticanim.DisappearingRate = 30.0; 
     188            minion_explosion_staticanim.InitialVisibilityRate = 22.0; 
     189            minion_explosion_staticanim.TimeEntirelyVisible = 15; 
     190            minion_explosion_staticanim.Texture = ALTKHandler.Loader.loadTexture("minion_explosion"); 
     191 
     192            StaticAnimationType minion_explosion_smokering = new StaticAnimationType("MINION_EXPLOSION_SMOKERING"); 
     193            minion_explosion_smokering.DisappearingRate = 12.0; 
     194            minion_explosion_smokering.InitialVisibilityRate = 19.0; 
     195            minion_explosion_smokering.TimeEntirelyVisible = 1; 
     196            minion_explosion_smokering.Texture = ALTKHandler.Loader.loadTexture("minion_explosion_smokering"); 
    185197 
    186198            StaticAnimTypes.Add(genExplosion); 
     
    201213            StaticAnimTypes.Add(wormhole_explosion_anim); 
    202214            StaticAnimTypes.Add(wormhole_appearing); 
     215            StaticAnimTypes.Add(minion_explosion_staticanim); 
     216            StaticAnimTypes.Add(minion_explosion_smokering); 
    203217        } 
    204218 
  • 2012/23/RamiP/YAG2DSSBase/YAG2DSS/YAG2DSS/GUI/AUIButton.cs

    r2811 r2830  
    205205                if (mpX > this.PositionX + baseX && 
    206206                mpX < this.PositionX + baseX + this.Width && 
    207                 mpY > this.PositionY + baseY + this.Height / 2 && 
    208                 mpY < this.PositionY + baseY + this.Height * 1.5 && 
     207                mpY > this.PositionY + baseY && 
     208                mpY < this.PositionY + baseY + this.Height && 
    209209                Locked == false) 
    210210                { 
  • 2012/23/RamiP/YAG2DSSBase/YAG2DSS/YAG2DSS/YAG2DSS.cs

    r2826 r2830  
    2828    Timer TuhoaAsteroidi; 
    2929    Timer EnergianLataaja; 
     30    Timer Vaikeuttaja; 
    3031 
    3132    ExplosionSystem WormholeExplosionES; 
    3233    ExplosionSystem WormholeExplosionES2; 
    3334 
     35    ExplosionSystem MinionExplosionES; 
     36    ExplosionSystem MinionExplosionES2; 
     37 
    3438    double MadonreikaPosX = 0.0; 
    3539    double MadonreikaPosY = 0.0; 
     40 
     41    int Pelaajan1Pisteet = 0; 
     42    int Pelaajan2Pisteet = 0; 
     43 
     44    double Pelaajan1Kerroin = 1; 
     45    double Pelaajan2Kerroin = 2; 
    3646 
    3747    public override void Begin() 
     
    5363        WormholeExplosion(); 
    5464 
     65        MinionExplosionES = new ExplosionSystem(Image.FromStream(File.OpenRead(ALTKConstants.TexturePath + "minion_explosion.png")), 5000); 
     66        MinionExplosionES.OuterParticleImage = Image.FromStream(File.OpenRead(ALTKConstants.TexturePath + "minion_explosion_2.png")); 
     67        MinionExplosionES.ScaleAmount = 0.0002; 
     68        MinionExplosionES.MaxRotationSpeed = 1250.0; 
     69        MinionExplosionES.BlendMode = BlendMode.Alpha; 
     70        MinionExplosionES.MinScale = 2.0; 
     71        MinionExplosionES.MaxScale = 4.0; 
     72        MinionExplosionES.Shape = Shape.Circle; 
     73        MinionExplosionES.MinRotationSpeed = 500.0; 
     74        //MinionExplosionES.AlphaAmount = 0.75; 
     75        MinionExplosionES.MinAcceleration = 12.0; 
     76        MinionExplosionES.MaxAcceleration = 24.0; 
     77        MinionExplosionES.MinVelocity = 18.00; 
     78        MinionExplosionES.MaxVelocity = 30.00; 
     79        MinionExplosionES.MaxLifetime = MinionExplosionES.MaxLifetime * 1.00; 
     80        MinionExplosionES.MinLifetime = MinionExplosionES.MinLifetime * 1.00; 
     81        Add(MinionExplosionES); 
     82 
     83        MinionExplosionES2 = new ExplosionSystem(Image.FromStream(File.OpenRead(ALTKConstants.TexturePath + "minion_explosion.png")), 500); 
     84        MinionExplosionES2.OuterParticleImage = Image.FromStream(File.OpenRead(ALTKConstants.TexturePath + "minion_explosion_2.png")); 
     85        MinionExplosionES2.ScaleAmount = 0.0002; 
     86        MinionExplosionES2.MaxRotationSpeed = 800.0; 
     87        MinionExplosionES2.BlendMode = BlendMode.Alpha; 
     88        MinionExplosionES2.MinScale = 16.0; 
     89        MinionExplosionES2.MaxScale = 32.0; 
     90        MinionExplosionES2.Shape = Shape.Circle; 
     91        MinionExplosionES2.MinRotationSpeed = 250.0; 
     92        MinionExplosionES2.AlphaAmount = 0.8; 
     93        MinionExplosionES2.MinAcceleration = 3.0; 
     94        MinionExplosionES2.MaxAcceleration = 6.0; 
     95        MinionExplosionES2.MaxVelocity = 18.75; 
     96        MinionExplosionES2.MaxLifetime = MinionExplosionES2.MaxLifetime * 0.65; 
     97        MinionExplosionES2.MinLifetime = MinionExplosionES2.MinLifetime * 0.65; 
     98        Add(MinionExplosionES2); 
    5599    } 
    56100 
     
    167211        TuhoaAsteroidi.Start(); 
    168212 
    169         EnergianLataaja = new Timer(); 
    170         EnergianLataaja.Interval = 5.0; 
    171         EnergianLataaja.Timeout += new Action(EnergianLataaja_Timeout); 
    172         EnergianLataaja.Start(); 
    173     } 
    174  
    175     void EnergianLataaja_Timeout() 
    176     { 
    177         if (; 
    178     } 
     213        Vaikeuttaja = new Timer(); 
     214        Vaikeuttaja.Interval = 5.0; 
     215        Vaikeuttaja.Timeout += new Action(Vaikeuttaja_Timeout); 
     216 
     217        //EnergianLataaja = new Timer(); 
     218        //EnergianLataaja.Interval = 5.0; 
     219        //EnergianLataaja.Timeout += new Action(EnergianLataaja_Timeout); 
     220        //EnergianLataaja.Start(); 
     221    } 
     222 
     223    void Vaikeuttaja_Timeout() 
     224    { 
     225        MadonreikaAjastin.Interval = MadonreikaAjastin.Interval * 0.9; 
     226        Minioniajastin.Interval = Minioniajastin.Interval * 0.9; 
     227        Asteroidiajastin.Interval = Asteroidiajastin.Interval * 0.9; 
     228        MinioninAmmus.Interval = MinioninAmmus.Interval * 0.95; 
     229        Vaikeuttaja.Interval = Vaikeuttaja.Interval * 1.2; 
     230    } 
     231 
     232    //void EnergianLataaja_Timeout() 
     233    //{ 
     234    //    if (; 
     235    //} 
    179236 
    180237    void TuhoaAsteroidi_Timeout() 
     
    235292        { 
    236293            int tagi = (int)kohde.Tag; 
    237             if (tagi == 5 || 
    238                 tagi == 8) 
    239             { 
     294            int ammuksenTagi = (int)PelaajanAmmus.Tag;  
     295             
     296            if (tagi == 5) 
     297            { 
     298                MinionExplosionES.AddEffect(kohde.Position, 800); 
     299                MinionExplosionES2.AddEffect(kohde.Position, 100); 
     300                ALTKHandler.StaticAnimHandler.AddStaticAnim(17, ALTKHandler.CreateXNAVectorFromDoubles(kohde.X * 1.12, kohde.Y * 1.12)); 
     301                ALTKHandler.StaticAnimHandler.AddStaticAnim(18, ALTKHandler.CreateXNAVectorFromDoubles(kohde.X * 1.12, kohde.Y * 1.12)); 
    240302                kohde.Destroy(); 
     303                if (ammuksenTagi == 1) 
     304                { 
     305                    LisaaPisteita(0, Convert.ToInt32 (10 * Pelaajan1Kerroin)); 
     306                } 
     307                else 
     308                { 
     309                    LisaaPisteita(1, Convert.ToInt32 (10 * Pelaajan1Pisteet)); 
     310                } 
    241311            } 
    242312            else if (tagi == 1337) 
     
    253323            else if (tagi == 123) 
    254324            { 
    255                 kohde.Mass = kohde.Mass * 0.7; 
    256                 kohde.Size = kohde.Size * 0.7; 
     325                kohde.Mass = (Math.Abs((kohde.Left - kohde.Right) * (kohde.Top - kohde.Bottom))) / 20; 
     326                kohde.Size = kohde.Size * 0.84; 
     327 
    257328                if (kohde.Mass < 20) 
    258329                { 
     330                    if (ammuksenTagi == 1) 
     331                    { 
     332                        LisaaPisteita(0, Convert.ToInt32((1 / kohde.Mass) * 500 * Pelaajan1Kerroin)); 
     333                        if (kohde.Mass < 20) 
     334                        { 
     335                            kohde.Destroy(); 
     336                            LisaaKerrointa(0, 0.5); 
     337                        } 
     338                    } 
     339                    else 
     340                    { 
     341                        LisaaPisteita(1, Convert.ToInt32((1 / kohde.Mass) * 500 * Pelaajan2Kerroin)); 
     342                        if (kohde.Mass < 20) 
     343                        { 
     344                            kohde.Destroy(); 
     345                            LisaaKerrointa(1, 0.5); 
     346                        } 
     347                    } 
     348                } 
     349                else if (tagi == 11) 
     350                { 
     351                    ALTKHandler.HealthBars[0].Value = ALTKHandler.HealthBars[0].Value - 5; 
     352                    if (ALTKHandler.HealthBars[0].Value < 1) 
     353                    { 
     354                        PelaajanTuhoaja(); 
     355                    } 
     356                } 
     357                else if (tagi == 12) 
     358                { 
     359                    ALTKHandler.HealthBars[1].Value = ALTKHandler.HealthBars[1].Value - 5; 
     360                    PelaajanTuhoaja(); 
     361 
     362                } 
     363                else if (tagi == 8) 
     364                { 
     365                    MinionExplosionES.AddEffect(kohde.Position, 200); 
    259366                    kohde.Destroy(); 
    260367                } 
    261368            } 
    262             else if (tagi == 11) 
    263             { 
    264                 ALTKHandler.HealthBars[0].Value = ALTKHandler.HealthBars[0].Value - 5; 
    265                 if (ALTKHandler.HealthBars[0].Value < 1) 
    266                 { 
    267                     PelaajanTuhoaja(); 
    268                 } 
    269             } 
    270             else if (tagi == 12) 
    271             { 
    272                 ALTKHandler.HealthBars[1].Value = ALTKHandler.HealthBars[1].Value - 5; 
    273                 PelaajanTuhoaja(); 
    274             }             
     369 
    275370        } 
    276371        catch 
     
    286381            if (tagi == 11) 
    287382            { 
     383                MinionExplosionES.AddEffect(kohde.Position, 800); 
     384                MinionExplosionES2.AddEffect(kohde.Position, 100); 
     385                ALTKHandler.StaticAnimHandler.AddStaticAnim(17, ALTKHandler.CreateXNAVectorFromDoubles(kohde.X * 1.12, kohde.Y * 1.12)); 
     386                ALTKHandler.StaticAnimHandler.AddStaticAnim(18, ALTKHandler.CreateXNAVectorFromDoubles(kohde.X * 1.12, kohde.Y * 1.12)); 
    288387                ALTKHandler.HealthBars[0].Value = ALTKHandler.HealthBars[0].Value - 20; 
    289388                minioni.Destroy(); 
    290389                PelaajanTuhoaja(); 
     390                LisaaPisteita(0, Convert.ToInt32 ( 10 * Pelaajan1Kerroin)); 
    291391            } 
    292392 
    293393            if (tagi == 12) 
    294394            { 
     395                MinionExplosionES.AddEffect(kohde.Position, 800); 
     396                MinionExplosionES2.AddEffect(kohde.Position, 100); 
     397                ALTKHandler.StaticAnimHandler.AddStaticAnim(17, ALTKHandler.CreateXNAVectorFromDoubles(kohde.X * 1.12, kohde.Y * 1.12)); 
     398                ALTKHandler.StaticAnimHandler.AddStaticAnim(18, ALTKHandler.CreateXNAVectorFromDoubles(kohde.X * 1.12, kohde.Y * 1.12)); 
    295399                ALTKHandler.HealthBars[1].Value = ALTKHandler.HealthBars[1].Value - 20; 
    296400                minioni.Destroy(); 
    297401                PelaajanTuhoaja(); 
     402                LisaaPisteita(1, Convert.ToInt32 ( 10 * Pelaajan2Kerroin)); 
    298403            } 
    299404 
     
    309414        { 
    310415            int tagi = (int)kohde.Tag; 
    311             if (tagi == 1 || 
    312                 tagi == 2) 
     416            if (tagi == 1) 
    313417            { 
    314418                kohde.Destroy(); 
    315                 asteroidi.Mass = asteroidi.Mass * 0.7; 
    316                 asteroidi.Size = asteroidi.Size * 0.7; 
     419                asteroidi.Mass = (Math.Abs((asteroidi.Left - asteroidi.Right) * (asteroidi.Top - asteroidi.Bottom))) / 20; 
     420                asteroidi.Size = asteroidi.Size * 0.86; 
     421                LisaaPisteita(0, Convert.ToInt32((1 / asteroidi.Mass) * 500 * Pelaajan1Kerroin)); 
    317422                if (asteroidi.Mass < 20) 
    318423                { 
    319424                    asteroidi.Destroy(); 
     425                    LisaaKerrointa(0, 0.5); 
    320426                } 
    321427            } 
     428            else if (tagi == 2) 
     429            { 
     430                kohde.Destroy(); 
     431                asteroidi.Mass = (Math.Abs((asteroidi.Left - asteroidi.Right) * (asteroidi.Top - asteroidi.Bottom))) / 20; 
     432                asteroidi.Size = asteroidi.Size * 0.86; 
     433                LisaaPisteita(1, Convert.ToInt32((1 / asteroidi.Mass) * 500 * Pelaajan2Kerroin)); 
     434                if (asteroidi.Mass < 20) 
     435                { 
     436                    asteroidi.Destroy(); 
     437                    LisaaKerrointa(1, 0.5); 
     438                } 
     439 
     440            } 
     441 
    322442            else if (tagi == 11) 
    323443            { 
    324                 ALTKHandler.MessageDisplay.AddItem(Convert.ToString(Convert.ToDouble(ALTKHandler.HealthBars[0].Value) * (1 - ((asteroidi.Mass  / 360.0))))); 
    325                 ALTKHandler.HealthBars[0].Value = Convert.ToInt32(Convert.ToDouble(ALTKHandler.HealthBars[0].Value) * (1 - ((asteroidi.Mass  / 360.0)))); 
     444                ALTKHandler.HealthBars[0].Value = Convert.ToInt32(Convert.ToDouble(ALTKHandler.HealthBars[0].Value) * (1 - ((asteroidi.Mass / 360.0)))); 
    326445                PelaajanTuhoaja(); 
    327446            } 
    328447            else if (tagi == 12) 
    329448            { 
    330                 ALTKHandler.MessageDisplay.AddItem(Convert.ToString(Convert.ToDouble(ALTKHandler.HealthBars[1].Value) * (1 - ((asteroidi.Mass  / 360.0))))); 
    331                 ALTKHandler.HealthBars[1].Value = Convert.ToInt32(Convert.ToDouble(ALTKHandler.HealthBars[1].Value) * (1 - ((asteroidi.Mass  / 360.0)))); 
     449                ALTKHandler.HealthBars[1].Value = Convert.ToInt32(Convert.ToDouble(ALTKHandler.HealthBars[1].Value) * (1 - ((asteroidi.Mass / 360.0)))); 
    332450                PelaajanTuhoaja(); 
    333451            } 
     
    539657        Vector suunta = -asteroidi.Position; 
    540658        Vector origo = Vector.FromLengthAndAngle(RandomGen.NextDouble(2000, 4000), suunta.Angle); 
    541         Vector ohi = new Vector (RandomGen.NextDouble(-400.0, 400.0), RandomGen.NextDouble(-400.0, 400.0)); 
     659        Vector ohi = new Vector (RandomGen.NextDouble(-3000.0, 3000.0), RandomGen.NextDouble(-3000.0, 3000.0)); 
    542660        Vector hit = origo + ohi; 
    543661 
     
    668786    } 
    669787 
     788    void LisaaPisteita(int pelaajaID, int pistemaara) 
     789    { 
     790        if (pelaajaID == 0) 
     791            Pelaajan1Pisteet = Pelaajan1Pisteet + pistemaara; 
     792        if (pelaajaID == 1) 
     793            Pelaajan2Pisteet = Pelaajan2Pisteet + pistemaara; 
     794    } 
     795 
     796    void LisaaKerrointa(int pelaajaID, double kerroin) 
     797    { 
     798        if (pelaajaID == 0) 
     799            Pelaajan1Kerroin = Pelaajan1Kerroin + kerroin; 
     800        if (pelaajaID == 1) 
     801            Pelaajan2Kerroin = Pelaajan2Kerroin + kerroin; 
     802    } 
    670803    void AsetaNappaimet() 
    671804    { 
     
    683816        Keyboard.Listen(Key.D, ButtonState.Down, kaannaOikealle, null, Pelaaja[1]); 
    684817        Keyboard.Listen(Key.LeftShift, ButtonState.Pressed, LuoPelaajanAmmus, null, 1); 
     818 
     819        Keyboard.Listen(Key.F11, ButtonState.Pressed, Reset, null); 
    685820    } 
    686821 
     
    718853        pelaaja.Angle = Angle.FromDegrees(pelaaja.Angle.Degrees - 4); 
    719854    } 
     855 
     856    void Reset() 
     857    { 
     858        ClearAll(); 
     859        Asteroidi.Clear(); 
     860        Minioni.Clear(); 
     861        Pelaaja.Clear(); 
     862        Madonreika.Clear(); 
     863        Begin(); 
     864        ALTKHandler.HealthBars[0].Value = 100; 
     865        ALTKHandler.HealthBars[1].Value = 100; 
     866    } 
     867 
     868 
    720869 
    721870    #region XNA / ALTK-Based Code 
  • 2012/23/RamiP/YAG2DSSBase/YAG2DSS/YAG2DSSContent/YAG2DSSContent.contentproj

    r2822 r2830  
    237237    </None> 
    238238  </ItemGroup> 
     239  <ItemGroup> 
     240    <None Include="Textures\minion_explosion.png"> 
     241      <Name>minion_explosion</Name> 
     242      <Importer>TextureImporter</Importer> 
     243      <Processor>TextureProcessor</Processor> 
     244      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> 
     245    </None> 
     246    <None Include="Textures\minion_explosion_2.png"> 
     247      <Name>minion_explosion_2</Name> 
     248      <Importer>TextureImporter</Importer> 
     249      <Processor>TextureProcessor</Processor> 
     250      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> 
     251    </None> 
     252    <None Include="Textures\minion_explosion_smokering.png"> 
     253      <Name>minion_explosion_smokering</Name> 
     254      <Importer>TextureImporter</Importer> 
     255      <Processor>TextureProcessor</Processor> 
     256      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> 
     257    </None> 
     258  </ItemGroup> 
    239259  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    240260  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
Note: See TracChangeset for help on using the changeset viewer.