Click here to Skip to main content
15,903,632 members
Home / Discussions / C#
   

C#

 
GeneralRe: DirectoryInfo on server Pin
marine8826-Feb-08 9:45
marine8826-Feb-08 9:45 
GeneralListBox and objects Pin
student_rhr25-Feb-08 11:29
student_rhr25-Feb-08 11:29 
GeneralRe: ListBox and objects Pin
led mike25-Feb-08 11:36
led mike25-Feb-08 11:36 
GeneralRe: ListBox and objects Pin
Not Active25-Feb-08 11:40
mentorNot Active25-Feb-08 11:40 
GeneralRe: ListBox and objects Pin
Luc Pattyn25-Feb-08 11:45
sitebuilderLuc Pattyn25-Feb-08 11:45 
GeneralRe: ListBox and objects Pin
student_rhr26-Feb-08 3:59
student_rhr26-Feb-08 3:59 
GeneralRe: ListBox and objects Pin
Luc Pattyn26-Feb-08 4:17
sitebuilderLuc Pattyn26-Feb-08 4:17 
QuestionCollision Help (XNA) : Please Help! Pin
MasterSharp25-Feb-08 11:17
MasterSharp25-Feb-08 11:17 
#region Using<br />
using System;<br />
using System.Collections.Generic;<br />
using Microsoft.Xna.Framework;<br />
using Microsoft.Xna.Framework.Audio;<br />
using Microsoft.Xna.Framework.Content;<br />
using Microsoft.Xna.Framework.GamerServices;<br />
using Microsoft.Xna.Framework.Graphics;<br />
using Microsoft.Xna.Framework.Input;<br />
using Microsoft.Xna.Framework.Net;<br />
using Microsoft.Xna.Framework.Storage;<br />
#endregion<br />
<br />
namespace Bouncer<br />
{<br />
    #region Bouncer Game : Main<br />
    public class BouncerGame : Microsoft.Xna.Framework.Game<br />
    {<br />
        #region Variables<br />
        GraphicsDeviceManager Graphics;<br />
        SpriteBatch SpriteBatch;<br />
        SpriteFont SpriteFont;<br />
<br />
        Player Player;<br />
        StaticBlock[] StaticBlock = new StaticBlock[200];<br />
<br />
        int Stage = 1;<br />
<br />
        enum GameState<br />
        {<br />
            Title,<br />
            Game,<br />
            StageSelect,<br />
            Help<br />
        }<br />
<br />
        GameState State = new GameState();<br />
        #endregion<br />
<br />
        #region Performance Variables<br />
        int FPS,<br />
            FrameCounter;<br />
<br />
        TimeSpan ElapsedTime = TimeSpan.Zero;<br />
        #endregion<br />
<br />
        #region Initialization<br />
        public BouncerGame()<br />
        {<br />
            Graphics = new GraphicsDeviceManager(this);<br />
            Content.RootDirectory = "Content";<br />
        }<br />
<br />
        protected override void Initialize()<br />
        {<br />
            IsFixedTimeStep = false;<br />
<br />
            InitializePlayer();<br />
            InitializeStaticBlock();<br />
<br />
            base.Initialize();<br />
        }<br />
<br />
        private void InitializePlayer()<br />
        {<br />
            Player = new Player();<br />
        }<br />
<br />
        private void InitializeStaticBlock()<br />
        {<br />
            for (int numberOfStaticBlocks = 0; numberOfStaticBlocks < 200; ++numberOfStaticBlocks)<br />
            {<br />
                StaticBlock[numberOfStaticBlocks] = new StaticBlock();<br />
            }<br />
        }<br />
        #endregion<br />
<br />
        #region Load<br />
        protected override void LoadContent()<br />
        {<br />
            SpriteBatch = new SpriteBatch<br />
                (GraphicsDevice);<br />
<br />
            SpriteFont = Content.Load<SpriteFont><br />
                ("Trebuchet MS");<br />
<br />
            Player.Texture_Player = Content.Load<Texture2D><br />
                ("BouncerSprite_Bouncer");<br />
<br />
            for (int numberOfStaticBlocks = 0; numberOfStaticBlocks < 200; ++numberOfStaticBlocks)<br />
            {<br />
                StaticBlock[numberOfStaticBlocks].Texture_StaticBlock = Content.Load<Texture2D><br />
                    ("BouncerSprite_StaticBlock");<br />
            }<br />
        }<br />
        #endregion<br />
<br />
        #region Unload<br />
        protected override void UnloadContent()<br />
        {<br />
            Content.Unload();<br />
            Content.Dispose();<br />
        }<br />
        #endregion<br />
<br />
        #region Update<br />
        protected override void Update(GameTime gameTime)<br />
        {<br />
            #region Input<br />
            {<br />
                if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed<br />
                    || Keyboard.GetState().IsKeyDown(Keys.Escape))<br />
                {<br />
                    this.Exit();<br />
                }<br />
<br />
                if (GamePad.GetState(PlayerIndex.One).Buttons.LeftStick == ButtonState.Pressed)<br />
                {<br />
                    Player.Position = new Vector2(50, 50);<br />
                }<br />
<br />
                Player.ForwardMovement.X = GamePad.GetState(PlayerIndex.One).ThumbSticks.Left.X * 5;<br />
                Player.ForwardMovement.Y = -GamePad.GetState(PlayerIndex.One).ThumbSticks.Left.Y * 5;<br />
            }<br />
            #endregion<br />
<br />
            #region World<br />
            {<br />
                Player.Position += Player.ForwardMovement;<br />
<br />
                /*<br />
                GamePad.SetVibration<br />
                    (PlayerIndex.One, .1f, .1f);<br />
                */<br />
                <br />
                for (int NumberOfStaticBlocks = 0; NumberOfStaticBlocks < 150; ++NumberOfStaticBlocks)<br />
                {<br />
                    CheckBounds(Player, StaticBlock[NumberOfStaticBlocks]);<br />
                }<br />
<br />
                SetStaticBlockPositions(Stage);<br />
            }<br />
            #endregion<br />
<br />
            #region Performance<br />
            {<br />
                ElapsedTime += gameTime.ElapsedGameTime;<br />
<br />
                if (ElapsedTime > TimeSpan.FromSeconds(0))<br />
                {<br />
                    ElapsedTime -= TimeSpan.FromSeconds(1);<br />
                    FPS = FrameCounter;<br />
                    FrameCounter = 0;<br />
                }<br />
<br />
                FrameCounter++;<br />
            }<br />
            #endregion<br />
<br />
            base.Update(gameTime);<br />
        }<br />
        #endregion<br />
<br />
        #region Draw<br />
        protected override void Draw(GameTime gameTime)<br />
        {<br />
            Graphics.GraphicsDevice.Clear<br />
                (Color.Gray);<br />
<br />
            SpriteBatch.Begin();<br />
            {<br />
                #region Performance<br />
                SpriteBatch.DrawString<br />
                        (SpriteFont, "Vector: " + Player.Position.ToString(), new Vector2(150, 50), Color.White);<br />
<br />
                SpriteBatch.DrawString<br />
                        (SpriteFont, "Y Value: " + Player.ForwardMovement.Y / 2, new Vector2(450, 50), Color.White);<br />
<br />
                if (FPS > 60)<br />
                {<br />
                    SpriteBatch.DrawString<br />
                        (SpriteFont, "FPS: " + FPS, new Vector2(50, 50), Color.White);<br />
                }<br />
<br />
                if (FPS == 60)<br />
                {<br />
                    SpriteBatch.DrawString<br />
                        (SpriteFont, "FPS: " + FPS, new Vector2(50, 50), Color.Gainsboro);<br />
                }<br />
<br />
                if (FPS < 60<br />
                    && FPS >= 30)<br />
                {<br />
                    SpriteBatch.DrawString<br />
                        (SpriteFont, "FPS: " + FPS, new Vector2(50, 50), Color.DarkGray);<br />
                }<br />
<br />
                if (FPS < 30)<br />
                {<br />
                    SpriteBatch.DrawString<br />
                        (SpriteFont, "FPS: " + FPS, new Vector2(50, 50), Color.DimGray);<br />
                }<br />
<br />
                if (FPS <= 5)<br />
                {<br />
                    SpriteBatch.DrawString<br />
                        (SpriteFont, "FPS: " + FPS, new Vector2(50, 50), Color.Black);<br />
                }<br />
                #endregion<br />
<br />
                #region Game<br />
                Player.DrawPlayer<br />
                    (SpriteBatch, Player.Texture_Player);<br />
<br />
                for (int numberOfStaticBlocks = 0; numberOfStaticBlocks < 150; ++numberOfStaticBlocks)<br />
                {<br />
                    StaticBlock[numberOfStaticBlocks].DrawStaticBlock<br />
                        (SpriteBatch, StaticBlock[numberOfStaticBlocks].Texture_StaticBlock);<br />
                }<br />
                #endregion<br />
            }<br />
            SpriteBatch.End();<br />
<br />
            base.Draw(gameTime);<br />
        }<br />
        #endregion<br />
<br />
        #region Setting Static Block Positions<br />
        void SetStaticBlockPositions(int currentStage)<br />
        {<br />
            switch (Stage)<br />
            {<br />
                case 1:<br />
                    {<br />
                        #region Static Block Positions<br />
                        StaticBlock[0].Position = new Vector2(0, 0);<br />
                        StaticBlock[1].Position = new Vector2(0, 25);<br />
                        StaticBlock[2].Position = new Vector2(0, 50);<br />
                        StaticBlock[3].Position = new Vector2(0, 75);<br />
                        StaticBlock[4].Position = new Vector2(0, 100);<br />
                        StaticBlock[5].Position = new Vector2(0, 125);<br />
                        StaticBlock[6].Position = new Vector2(0, 150);<br />
                        StaticBlock[7].Position = new Vector2(0, 175);<br />
                        StaticBlock[8].Position = new Vector2(0, 200);<br />
                        StaticBlock[9].Position = new Vector2(0, 225);<br />
                        StaticBlock[10].Position = new Vector2(0, 250);<br />
                        StaticBlock[11].Position = new Vector2(0, 275);<br />
                        StaticBlock[12].Position = new Vector2(0, 300);<br />
                        StaticBlock[13].Position = new Vector2(0, 325);<br />
                        StaticBlock[14].Position = new Vector2(0, 350);<br />
                        StaticBlock[15].Position = new Vector2(0, 375);<br />
                        StaticBlock[16].Position = new Vector2(0, 400);<br />
                        StaticBlock[17].Position = new Vector2(0, 425);<br />
                        StaticBlock[18].Position = new Vector2(0, 450);<br />
                        StaticBlock[19].Position = new Vector2(0, 475);<br />
                        StaticBlock[20].Position = new Vector2(0, 500);<br />
                        StaticBlock[21].Position = new Vector2(0, 525);<br />
                        StaticBlock[22].Position = new Vector2(0, 550);<br />
                        StaticBlock[23].Position = new Vector2(0, 575);<br />
<br />
                        StaticBlock[24].Position = new Vector2(775, 0);<br />
                        StaticBlock[25].Position = new Vector2(775, 25);<br />
                        StaticBlock[26].Position = new Vector2(775, 50);<br />
                        StaticBlock[27].Position = new Vector2(775, 75);<br />
                        StaticBlock[28].Position = new Vector2(775, 100);<br />
                        StaticBlock[29].Position = new Vector2(775, 125);<br />
                        StaticBlock[30].Position = new Vector2(775, 150);<br />
                        StaticBlock[31].Position = new Vector2(775, 175);<br />
                        StaticBlock[32].Position = new Vector2(775, 200);<br />
                        StaticBlock[33].Position = new Vector2(775, 225);<br />
                        StaticBlock[34].Position = new Vector2(775, 250);<br />
                        StaticBlock[35].Position = new Vector2(775, 275);<br />
                        StaticBlock[36].Position = new Vector2(775, 300);<br />
                        StaticBlock[37].Position = new Vector2(775, 325);<br />
                        StaticBlock[38].Position = new Vector2(775, 350);<br />
                        StaticBlock[39].Position = new Vector2(775, 375);<br />
                        StaticBlock[40].Position = new Vector2(775, 400);<br />
                        StaticBlock[41].Position = new Vector2(775, 425);<br />
                        StaticBlock[42].Position = new Vector2(775, 450);<br />
                        StaticBlock[43].Position = new Vector2(775, 475);<br />
                        StaticBlock[44].Position = new Vector2(775, 500);<br />
                        StaticBlock[45].Position = new Vector2(775, 525);<br />
                        StaticBlock[46].Position = new Vector2(775, 550);<br />
                        StaticBlock[47].Position = new Vector2(775, 575);<br />
<br />
                        StaticBlock[48].Position = new Vector2(25, 575);<br />
                        StaticBlock[49].Position = new Vector2(50, 575);<br />
                        StaticBlock[50].Position = new Vector2(75, 575);<br />
                        StaticBlock[51].Position = new Vector2(100, 575);<br />
                        StaticBlock[52].Position = new Vector2(125, 575);<br />
                        StaticBlock[53].Position = new Vector2(150, 575);<br />
                        StaticBlock[54].Position = new Vector2(175, 575);<br />
                        StaticBlock[55].Position = new Vector2(200, 575);<br />
                        StaticBlock[56].Position = new Vector2(225, 575);<br />
                        StaticBlock[57].Position = new Vector2(250, 575);<br />
                        StaticBlock[58].Position = new Vector2(275, 575);<br />
                        StaticBlock[59].Position = new Vector2(300, 575);<br />
                        StaticBlock[60].Position = new Vector2(325, 575);<br />
                        StaticBlock[61].Position = new Vector2(350, 575);<br />
                        StaticBlock[62].Position = new Vector2(375, 575);<br />
                        StaticBlock[63].Position = new Vector2(400, 575);<br />
                        StaticBlock[64].Position = new Vector2(425, 575);<br />
                        StaticBlock[65].Position = new Vector2(450, 575);<br />
                        StaticBlock[66].Position = new Vector2(475, 575);<br />
                        StaticBlock[67].Position = new Vector2(500, 575);<br />
                        StaticBlock[68].Position = new Vector2(525, 575);<br />
                        StaticBlock[69].Position = new Vector2(550, 575);<br />
                        StaticBlock[70].Position = new Vector2(575, 575);<br />
                        StaticBlock[71].Position = new Vector2(600, 575);<br />
                        StaticBlock[72].Position = new Vector2(625, 575);<br />
                        StaticBlock[73].Position = new Vector2(650, 575);<br />
                        StaticBlock[74].Position = new Vector2(675, 575);<br />
                        StaticBlock[75].Position = new Vector2(700, 575);<br />
                        StaticBlock[76].Position = new Vector2(725, 575);<br />
                        StaticBlock[77].Position = new Vector2(750, 575);<br />
<br />
                        StaticBlock[78].Position = new Vector2(25, 0);<br />
                        StaticBlock[79].Position = new Vector2(50, 0);<br />
                        StaticBlock[80].Position = new Vector2(75, 0);<br />
                        StaticBlock[81].Position = new Vector2(100, 0);<br />
                        StaticBlock[82].Position = new Vector2(125, 0);<br />
                        StaticBlock[83].Position = new Vector2(150, 0);<br />
                        StaticBlock[84].Position = new Vector2(175, 0);<br />
                        StaticBlock[85].Position = new Vector2(200, 0);<br />
                        StaticBlock[86].Position = new Vector2(225, 0);<br />
                        StaticBlock[87].Position = new Vector2(250, 0);<br />
                        StaticBlock[88].Position = new Vector2(275, 0);<br />
                        StaticBlock[89].Position = new Vector2(300, 0);<br />
                        StaticBlock[90].Position = new Vector2(325, 0);<br />
                        StaticBlock[91].Position = new Vector2(350, 0);<br />
                        StaticBlock[92].Position = new Vector2(375, 0);<br />
                        StaticBlock[93].Position = new Vector2(400, 0);<br />
                        StaticBlock[94].Position = new Vector2(425, 0);<br />
                        StaticBlock[95].Position = new Vector2(450, 0);<br />
                        StaticBlock[96].Position = new Vector2(475, 0);<br />
                        StaticBlock[97].Position = new Vector2(500, 0);<br />
                        StaticBlock[98].Position = new Vector2(525, 0);<br />
                        StaticBlock[99].Position = new Vector2(550, 0);<br />
                        StaticBlock[100].Position = new Vector2(575, 0);<br />
                        StaticBlock[101].Position = new Vector2(600, 0);<br />
                        StaticBlock[102].Position = new Vector2(625, 0);<br />
                        StaticBlock[103].Position = new Vector2(650, 0);<br />
                        StaticBlock[104].Position = new Vector2(675, 0);<br />
                        StaticBlock[105].Position = new Vector2(700, 0);<br />
                        StaticBlock[106].Position = new Vector2(725, 0);<br />
                        StaticBlock[107].Position = new Vector2(750, 0);<br />
                        #endregion<br />
                    }<br />
                    break;<br />
            }<br />
        }<br />
        #endregion<br />
<br />
        #region Collision<br />
        public void CheckBounds(Player player, StaticBlock block)<br />
        {<br />
            //X<br />
            if (GamePad.GetState(PlayerIndex.One).ThumbSticks.Left.X < 0)<br />
            {<br />
                if (player.Position.X < block.Position.X + 25<br />
                    && player.Position.X + 25 > block.Position.X)<br />
                {<br />
                    player.Position.X = block.Position.X + 25;<br />
                }<br />
            }<br />
        }<br />
        #endregion<br />
    }<br />
    #endregion<br />
<br />
    #region Player<br />
    public class Player<br />
    {<br />
        public Texture2D Texture_Player;<br />
<br />
        public Vector2 Position = new Vector2(50, 50),<br />
            ForwardMovement;<br />
<br />
        public float Rotation = 0.0f;<br />
<br />
        public void DrawPlayer(SpriteBatch spriteBatch, Texture2D player)<br />
        {<br />
            spriteBatch.Draw<br />
                (player, Position, null, Color.White, 0, new Vector2(0, 0), .5f, SpriteEffects.None, 1);<br />
        }<br />
    }<br />
    #endregion<br />
<br />
    #region Flare<br />
    public class Flare<br />
    {<br />
        public Texture2D Texture_Flare;<br />
<br />
        public Vector2 Position,<br />
            ForwardMovement;<br />
<br />
        public void DrawFlare(SpriteBatch spriteBatch, Texture2D flare)<br />
        {<br />
            spriteBatch.Draw<br />
                (flare, Position, Color.White);<br />
        }<br />
    }<br />
    #endregion<br />
<br />
    #region Static Block<br />
    public class StaticBlock<br />
    {<br />
        public Texture2D Texture_StaticBlock;<br />
<br />
        public Vector2 Position;<br />
<br />
        public void DrawStaticBlock(SpriteBatch spriteBatch, Texture2D staticBlock)<br />
        {<br />
            spriteBatch.Draw<br />
                (staticBlock, Position, Color.White);<br />
        }<br />
    }<br />
    #endregion<br />
}<br />


Can anyone help me with this monster? I want to be able to do collision detection for ALL OF my StaticBLocks (with the Player: BTW both 25X25) and make them not move in the direction they are bumping. I can do collision for 1 block, but how would I do this for all 200?

- I love D-flat!
- Need. More. Code.

GeneralRe: Collision Help (XNA) : Please Help! Pin
Luc Pattyn25-Feb-08 11:38
sitebuilderLuc Pattyn25-Feb-08 11:38 
GeneralRe: Collision Help (XNA) : Please Help! Pin
MasterSharp25-Feb-08 11:58
MasterSharp25-Feb-08 11:58 
GeneralRe: Collision Help (XNA) : Please Help! Pin
Luc Pattyn25-Feb-08 12:02
sitebuilderLuc Pattyn25-Feb-08 12:02 
GeneralRe: Collision Help (XNA) : Please Help! Pin
MasterSharp25-Feb-08 12:19
MasterSharp25-Feb-08 12:19 
GeneralRe: Collision Help (XNA) : Please Help! Pin
Mark Churchill25-Feb-08 19:02
Mark Churchill25-Feb-08 19:02 
GeneralEncoding and the Streamreader Pin
KaptinKrunch25-Feb-08 10:18
KaptinKrunch25-Feb-08 10:18 
GeneralRe: Encoding and the Streamreader Pin
KaptinKrunch25-Feb-08 13:15
KaptinKrunch25-Feb-08 13:15 
GeneralRe: Encoding and the Streamreader Pin
Guffa25-Feb-08 14:17
Guffa25-Feb-08 14:17 
QuestionHow to get a file from a folder Pin
Exelioindia25-Feb-08 9:31
Exelioindia25-Feb-08 9:31 
AnswerRe: How to get a file from a folder Pin
pmarfleet25-Feb-08 9:37
pmarfleet25-Feb-08 9:37 
QuestionRe: How to get a file from a folder Pin
Exelioindia25-Feb-08 10:07
Exelioindia25-Feb-08 10:07 
AnswerRe: How to get a file from a folder Pin
KaptinKrunch25-Feb-08 10:29
KaptinKrunch25-Feb-08 10:29 
AnswerRe: How to get a file from a folder Pin
Gareth H25-Feb-08 10:04
Gareth H25-Feb-08 10:04 
GeneralRe: How to get a file from a folder Pin
Exelioindia25-Feb-08 10:28
Exelioindia25-Feb-08 10:28 
QuestionStatic Extension Methods? Pin
Skippums25-Feb-08 9:13
Skippums25-Feb-08 9:13 
GeneralRe: Static Extension Methods? Pin
Not Active25-Feb-08 9:27
mentorNot Active25-Feb-08 9:27 
GeneralRe: Static Extension Methods? Pin
Skippums25-Feb-08 9:38
Skippums25-Feb-08 9:38 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.