Changeset 2811 for 2012/23


Ignore:
Timestamp:
2012-06-06 11:31:02 (7 years ago)
Author:
ramipasa
Message:
 
Location:
2012/23/RamiP/YAG2DSSBase/YAG2DSS
Files:
11 added
10 edited

Legend:

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

    r2768 r2811  
    1111        public static string TexturePath = ContentPath + "Textures\\"; 
    1212        public static string MusicPath = ContentPath + "Music\\"; 
     13        public static string SoundPath = ContentPath + "Sounds\\"; 
    1314        public static string FontPath = ContentPath + "Fonts\\"; 
    1415 
    1516        public static int WindowWidth; 
    1617        public static int WindowHeight; 
     18 
     19        public static bool bMusicEnabled = true; 
     20        public static bool bSoundEnabled = true; 
    1721    } 
    1822} 
  • 2012/23/RamiP/YAG2DSSBase/YAG2DSS/YAG2DSS/ALTKEngine/Loader.cs

    r2768 r2811  
    5353        } 
    5454 
     55        public SoundEffect loadSound(string soundPath) 
     56        { 
     57            return SoundEffect.FromStream(File.OpenRead(ALTKConstants.SoundPath + soundPath + ".wav")); 
     58        } 
     59 
    5560        //public string loadTextFile(string filePath) 
    5661        //{ 
     
    7984        } 
    8085 
     86        public Texture2D CreateTexture(int width, int height, Color MainColor, Color SecondaryColor, Color TertiaryColor) 
     87        { 
     88            Texture2D Texture = new Texture2D(GraphicsDevice, width, height, false, SurfaceFormat.Color); 
     89 
     90            Color[] color = new Color[width * height]; 
     91 
     92            // background color 
     93            // *** 
     94 
     95            for (int i = 0; i < color.Length; i++) 
     96                color[i] = MainColor; 
     97 
     98            // main border 
     99            // *** 
     100 
     101            // top 
     102            for (int i = width; i < (width * 3); i++) 
     103                color[i] = SecondaryColor; 
     104 
     105            // bottom 
     106            for (int i = color.Length - (width * 3); i < color.Length - width; i++) 
     107                color[i] = SecondaryColor; 
     108 
     109            // right 
     110            for (int i = 1; i < color.Length - width - 2; i = i + width) 
     111                color[i] = SecondaryColor; 
     112 
     113            for (int i = 2; i < color.Length - width - 2; i = i + width) 
     114                color[i] = SecondaryColor; 
     115 
     116            // left 
     117            for (int i = width - 3; i < color.Length; i = i + width) 
     118                color[i] = SecondaryColor; 
     119 
     120            for (int i = width - 2; i < color.Length; i = i + width) 
     121                color[i] = SecondaryColor; 
     122 
     123            // outer border 
     124            // *** 
     125 
     126            // top 
     127            for (int i = 0; i < width; i++) 
     128                color[i] = TertiaryColor; 
     129 
     130            // bottom 
     131            for (int i = color.Length - width; i < color.Length; i++) 
     132                color[i] = TertiaryColor; 
     133 
     134            // right 
     135            for (int i = 0; i < color.Length - width; i = i + width) 
     136                color[i] = TertiaryColor; 
     137 
     138            // left 
     139            for (int i = width - 1; i < color.Length; i = i + width) 
     140                color[i] = TertiaryColor; 
     141 
     142            Texture.SetData(color); 
     143            return Texture; 
     144        } 
     145 
    81146        protected override void LoadContent() 
    82147        { 
  • 2012/23/RamiP/YAG2DSSBase/YAG2DSS/YAG2DSS/ALTKHandler.cs

    r2785 r2811  
    2929        public static GUI.Dialogs.ExitWindow ExitWindow; 
    3030        public static GUI.AMessageDisplay MessageDisplay; 
     31        public static List<GUI.ALineBar> HealthBars = new List<GUI.ALineBar>(); 
     32        public static Audio.MusicPlayer MusicPlayer; 
     33        public static Audio.SoundPlayer SoundPlayer; 
    3134 
    3235        /// <summary> 
     
    6770            Game.Components.Add(MessageDisplay); 
    6871 
     72            HealthBars.Add(CreateHealthBar(new Vector2(ALTKConstants.WindowWidth - 36.0f, ALTKConstants.WindowHeight - 110.0f))); 
     73            HealthBars.Add(CreateHealthBar(new Vector2(10.0f, ALTKConstants.WindowHeight - 110.0f))); 
     74            Game.Components.Add(HealthBars[0]); 
     75            Game.Components.Add(HealthBars[1]); 
     76 
     77            MusicPlayer = new Audio.MusicPlayer(Game); 
     78            MusicPlayer.Initialize(); 
     79            MusicPlayer.LoadTrack("YAG2DSS", true); 
     80 
     81            SoundPlayer = new Audio.SoundPlayer(Game); 
     82            SoundPlayer.Initialize(); 
     83            //Game.Components.Add(HealthBars[1]); 
     84        } 
     85 
     86        private GUI.ALineBar CreateHealthBar(Vector2 position) 
     87        { 
     88            GUI.ALineBar returnValue = new GUI.ALineBar(Game); 
     89            returnValue.Position = position; 
     90            returnValue.Value = 100; 
     91            returnValue.Enabled = true; 
     92            returnValue.Initialize(); 
     93            return returnValue; 
    6994        } 
    7095 
  • 2012/23/RamiP/YAG2DSSBase/YAG2DSS/YAG2DSS/GUI/AListBox.cs

    r2768 r2811  
    1 using System; 
     1// Avaruuslaatikko Graphical User Interface 
     2// Written by Rami "Rampastring" Pasanen, 2010 
     3 
     4using System; 
    25using System.Collections.Generic; 
    36using System.Linq; 
  • 2012/23/RamiP/YAG2DSSBase/YAG2DSS/YAG2DSS/GUI/ATextBox.cs

    r2768 r2811  
    1 using System; 
     1// Avaruuslaatikko Graphical User Interface 
     2// Copyright Rami "Rampastring" Pasanen, 2012 
     3 
     4using System; 
    25using System.Collections.Generic; 
    36using System.Linq; 
  • 2012/23/RamiP/YAG2DSSBase/YAG2DSS/YAG2DSS/GUI/AUIButton.cs

    r2781 r2811  
    1 using System; 
     1// Avaruuslaatikko Graphical User Interface 
     2// Written by Rami "Rampastring" Pasanen, 2012 
     3 
     4using System; 
    25using System.Collections.Generic; 
    36using System.Linq; 
  • 2012/23/RamiP/YAG2DSSBase/YAG2DSS/YAG2DSS/GUI/Dialogs/ExitWindow.cs

    r2781 r2811  
    139139 
    140140            // top 
    141             for (int i = sizePos.Width; i < (sizePos.Width * 3); i++) 
     141            for (int i = width; i < (width * 3); i++) 
    142142                color[i] = SecondaryColor; 
    143143 
    144144            // bottom 
    145             for (int i = color.Length - (sizePos.Width * 3); i < color.Length - sizePos.Width; i++) 
     145            for (int i = color.Length - (width * 3); i < color.Length - width; i++) 
    146146                color[i] = SecondaryColor; 
    147147 
    148148            // right 
    149             for (int i = 1; i < color.Length - sizePos.Width - 2; i = i + sizePos.Width) 
    150                 color[i] = SecondaryColor; 
    151  
    152             for (int i = 2; i < color.Length - sizePos.Width - 2; i = i + sizePos.Width) 
     149            for (int i = 1; i < color.Length - width - 2; i = i + width) 
     150                color[i] = SecondaryColor; 
     151 
     152            for (int i = 2; i < color.Length - width - 2; i = i + width) 
    153153                color[i] = SecondaryColor; 
    154154 
    155155            // left 
    156             for (int i = sizePos.Width - 3; i < color.Length; i = i + sizePos.Width) 
    157                 color[i] = SecondaryColor; 
    158  
    159             for (int i = sizePos.Width - 2; i < color.Length; i = i + sizePos.Width) 
     156            for (int i = width - 3; i < color.Length; i = i + width) 
     157                color[i] = SecondaryColor; 
     158 
     159            for (int i = width - 2; i < color.Length; i = i + width) 
    160160                color[i] = SecondaryColor; 
    161161 
     
    164164 
    165165            // top 
    166             for (int i = 0; i < sizePos.Width; i++) 
     166            for (int i = 0; i < width; i++) 
    167167                color[i] = TertiaryColor; 
    168168 
    169169            // bottom 
    170             for (int i = color.Length - sizePos.Width; i < color.Length; i++) 
     170            for (int i = color.Length - width; i < color.Length; i++) 
    171171                color[i] = TertiaryColor; 
    172172 
    173173            // right 
    174             for (int i = 0; i < color.Length - sizePos.Width; i = i + sizePos.Width) 
     174            for (int i = 0; i < color.Length - width; i = i + width) 
    175175                color[i] = TertiaryColor; 
    176176 
    177177            // left 
    178             for (int i = sizePos.Width - 1; i < color.Length; i = i + sizePos.Width) 
     178            for (int i = width - 1; i < color.Length; i = i + width) 
    179179                color[i] = TertiaryColor; 
    180180 
  • 2012/23/RamiP/YAG2DSSBase/YAG2DSS/YAG2DSS/YAG2DSS.cs

    r2809 r2811  
    2323    Timer Minioninliikuttaja; 
    2424    Timer Automaattiammus; 
     25    Timer MinioninAmmus; 
    2526 
    2627    List<int> PelaajanKesto = new List<int>(); 
     
    7374        pelaaja.Shape = Shape.Triangle; 
    7475        pelaaja.Angle = Angle.FromDegrees(pelaaja.Angle.Degrees + 90); 
     76        pelaaja.Tag = 15; 
     77        pelaaja.Image = Image.FromStream(File.OpenRead(ALTKConstants.TexturePath + "player.png")); 
    7578        PelaajanKesto.Add(100); 
    7679        Pelaaja.Add(pelaaja); 
     
    99102        Automaattiammus.Timeout += new Action(Automaattiammus_Timeout); 
    100103        Automaattiammus.Start(); 
     104 
     105        MinioninAmmus = new Timer(); 
     106        MinioninAmmus.Interval = 1.0; 
     107        MinioninAmmus.Timeout += new Action(MinioninAmmus_Timeout); 
     108        MinioninAmmus.Start(); 
    101109    } 
    102110 
    103111    void LuoPelaajanAmmus(int pelaajaID) 
    104112    { 
     113        if (Pelaaja[pelaajaID].IsDestroyed) 
     114        { 
     115            return; 
     116        } 
    105117        Projectile PelaajanAmmus = new Projectile(4.0, 4.0, Color.Green); 
    106118        PelaajanAmmus.Shape = Shape.Triangle; 
     
    117129            PelaajanAmmus.Tag = 2; 
    118130        } 
    119         //PelaajanAmmus.Mass = 0; 
    120131        Add(PelaajanAmmus); 
    121132        Vector Pelaajanammus = jotain * 80; 
    122133        PelaajanAmmus.Hit(Pelaajanammus); 
     134        ALTKHandler.SoundPlayer.PlaySound(0); 
    123135    } 
    124136 
     
    148160    } 
    149161 
     162    void MinioninTuhoaja(PhysicsObject minioni, PhysicsObject kohde) 
     163    { 
     164        try 
     165        { 
     166            int tagi = (int)kohde.Tag; 
     167            if (tagi == 15) 
     168            { 
     169                kohde.Destroy(); 
     170                minioni.Destroy(); 
     171            } 
     172        } 
     173        catch 
     174        { 
     175        } 
     176    } 
     177 
    150178    void Minioninliikuttaja_Timeout() 
    151179    { 
     
    176204    void Minioniajastin_Timeout() 
    177205    { 
    178         Timer.SingleShot(2, AjaLuoMinioni); 
     206        Timer.SingleShot (2, AjaLuoMinioni); 
    179207    } 
    180208 
     
    183211        if (Keyboard.GetKeyState(Key.RightShift) == ButtonState.Down) 
    184212        { 
    185             Timer.SingleShot(1, AjaLuoPelaajan1Ammus); 
     213            Timer.SingleShot(0, AjaLuoPelaajan1Ammus); 
    186214        } 
    187215 
    188216        if (Keyboard.GetKeyState(Key.LeftShift) == ButtonState.Down) 
    189217        { 
    190             Timer.SingleShot(1, AjaLuoPelaajan2Ammus); 
    191         } 
     218            Timer.SingleShot(0, AjaLuoPelaajan2Ammus); 
     219        } 
     220    } 
     221 
     222    void MinioninAmmus_Timeout() 
     223    { 
     224        Timer.SingleShot(RandomGen.NextDouble(0.5, 2), AjaLuoMinioninAmmus); 
    192225    } 
    193226 
     
    197230    } 
    198231 
     232    void AjaLuoMinioninAmmus() 
     233    { 
     234        for (int mId = 0; mId < Minioni.Count; mId++) 
     235        { 
     236            if (!Minioni[mId].IsDestroyed) 
     237            { 
     238                int jtn = RandomGen.NextInt(10000); 
     239                if (jtn > 5000) 
     240                { 
     241                    LuoMinioninAmmus(mId); 
     242                } 
     243            } 
     244        } 
     245    } 
     246 
    199247    void AjaLuoPelaajan2Ammus() 
    200248    { 
     
    205253    { 
    206254        for (int Madonreikaa = 0; Madonreikaa < Madonreika.Count; Madonreikaa++) 
    207         LuoMinioni(Madonreikaa); 
     255        { 
     256            if (!Madonreika[Madonreikaa].IsDestroyed) 
     257                LuoMinioni(Madonreikaa); 
     258        } 
    208259    } 
    209260     
     
    255306        Add(madonreika); 
    256307        LuoMinioni(Madonreika.Count - 1); 
     308        ALTKHandler.SoundPlayer.PlaySound(2); 
    257309    } 
    258310 
     
    268320        minioni.Angle = (Pelaaja[1].Position - minioni.Position).Angle; 
    269321        minioni.Hit(Vector.FromLengthAndAngle(100, minioni.Angle)); 
     322        minioni.MaxVelocity = 100.0; 
    270323        minioni.AngularDamping = 0.1; 
    271324        minioni.Tag = 5; 
     325        AddCollisionHandler(minioni, MinioninTuhoaja); 
    272326        Minioni.Add(minioni); 
    273327        Add(Minioni[Minioni.Count - 1]); 
    274328        MinioninLiike(Minioni[Minioni.Count - 1], 0); 
     329    } 
     330 
     331    void LuoMinioninAmmus(int minioniID) 
     332    { 
     333        Projectile minioninAmmus = new Projectile(4.0, 4.0, Color.Yellow); 
     334        minioninAmmus.Angle = Minioni[minioniID].Angle; 
     335        Vector a = Vector.FromLengthAndAngle(25.0, Minioni[minioniID].Angle); 
     336        minioninAmmus.Position = Minioni[minioniID].Position + a; 
     337        AddCollisionHandler(minioninAmmus, MinioninAmmuksenTuhoaja); 
     338        minioninAmmus.CollisionIgnoreGroup = 5; 
     339        Add(minioninAmmus); 
     340        Vector b = Vector.FromLengthAndAngle(2000.0, Minioni[minioniID].Angle); 
     341        minioninAmmus.Hit(b); 
     342        ALTKHandler.SoundPlayer.PlaySound(3); 
     343    } 
     344 
     345    void MinioninAmmuksenTuhoaja(PhysicsObject minioninAmmus, PhysicsObject kohde) 
     346    { 
     347        minioninAmmus.Destroy(); 
     348 
     349        try 
     350        { 
     351            int tagi = (int)kohde.Tag; 
     352            if (tagi == 15) 
     353            { 
     354                kohde.Destroy(); 
     355            } 
     356        } 
     357        catch 
     358        { 
     359        } 
    275360    } 
    276361 
     
    302387    void AlkuKiihdytys(PhysicsObject pelaaja) 
    303388    { 
    304         if (pelaaja.Velocity.Magnitude < 7+0) 
     389        if (pelaaja.Velocity.Magnitude < 7) 
    305390        { 
    306391            Vector o = Vector.FromLengthAndAngle(50.0, pelaaja.Angle); 
    307392            pelaaja.Hit(o); 
     393            ALTKHandler.SoundPlayer.PlaySound(1); 
    308394        } 
    309395    } 
  • 2012/23/RamiP/YAG2DSSBase/YAG2DSS/YAG2DSS/YAG2DSS.csproj

    r2799 r2811  
    120120    <Compile Include="ALTKEngine\KeyboardEventInput.cs" /> 
    121121    <Compile Include="ALTKEngine\Loader.cs" /> 
     122    <Compile Include="ALTKEngine\MusicPlayer.cs" /> 
     123    <Compile Include="ALTKEngine\SoundPlayer.cs" /> 
    122124    <Compile Include="ALTKEngine\StaticAnimHandler.cs" /> 
    123125    <Compile Include="ALTKHandler.cs" /> 
     
    125127    <Compile Include="GUI\AChoiceButton.cs" /> 
    126128    <Compile Include="GUI\ALine.cs" /> 
     129    <Compile Include="GUI\ALineBar.cs" /> 
    127130    <Compile Include="GUI\AListBox.cs" /> 
    128131    <Compile Include="GUI\AMessageDisplay.cs" /> 
  • 2012/23/RamiP/YAG2DSSBase/YAG2DSS/YAG2DSSContent/YAG2DSSContent.contentproj

    r2809 r2811  
    139139    </None> 
    140140  </ItemGroup> 
     141  <ItemGroup> 
     142    <None Include="Textures\player.png"> 
     143      <Name>player</Name> 
     144      <Importer>TextureImporter</Importer> 
     145      <Processor>TextureProcessor</Processor> 
     146      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> 
     147    </None> 
     148  </ItemGroup> 
     149  <ItemGroup> 
     150    <None Include="Music\Yag2Dss.wav"> 
     151      <Name>Yag2Dss</Name> 
     152      <Importer>WavImporter</Importer> 
     153      <Processor>SoundEffectProcessor</Processor> 
     154      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> 
     155    </None> 
     156  </ItemGroup> 
     157  <ItemGroup> 
     158    <None Include="Sounds\MinionGun.wav"> 
     159      <Name>MinionGun</Name> 
     160      <Importer>WavImporter</Importer> 
     161      <Processor>SoundEffectProcessor</Processor> 
     162      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> 
     163    </None> 
     164    <None Include="Sounds\PlayerGun.wav"> 
     165      <Name>PlayerGun</Name> 
     166      <Importer>WavImporter</Importer> 
     167      <Processor>SoundEffectProcessor</Processor> 
     168      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> 
     169    </None> 
     170    <None Include="Sounds\ShipEngine.wav"> 
     171      <Name>ShipEngine</Name> 
     172      <Importer>WavImporter</Importer> 
     173      <Processor>SoundEffectProcessor</Processor> 
     174      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> 
     175    </None> 
     176    <None Include="Sounds\Wormhole.wav"> 
     177      <Name>Wormhole</Name> 
     178      <Importer>WavImporter</Importer> 
     179      <Processor>SoundEffectProcessor</Processor> 
     180      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> 
     181    </None> 
     182  </ItemGroup> 
    141183  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    142184  <!--  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.