X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=CarFire%2FCarFire%2FCarFire%2FHuman.cs;h=3897491da0305896fb6674f3f13f08f0261282f1;hb=f69be675ab1a1a9ab4b478f213c7b708d59820f2;hp=8a94fd3822745dcac308baf3e3243d960b615b2f;hpb=b32b73746f5bf95771eb5f9db95763ce2a44049f;p=chaz%2Fcarfire diff --git a/CarFire/CarFire/CarFire/Human.cs b/CarFire/CarFire/CarFire/Human.cs index 8a94fd3..3897491 100644 --- a/CarFire/CarFire/CarFire/Human.cs +++ b/CarFire/CarFire/CarFire/Human.cs @@ -11,18 +11,10 @@ namespace CarFire { public class Human : IPlayer { - public enum State - { - left, - right, - up, - down - }; //The number of frames between each projectile is spawned. - const int shootCoolDown = 10; - State state; + const int shootCoolDown = 18; String CharName; - Map theMap; + Game game; Texture2D charModel; Texture2D projectileModel; int health; @@ -31,60 +23,45 @@ namespace CarFire int score; MovementManager mMotion; - bool visible; - Display theDisplay; //Used to draw projectiles int projectileSpeed; int projectileCoolDown; - public Human(Map _theMap, String Name, Texture2D model, Texture2D projectile, Display mDisplay, Point position) + public Human(Game theGame, String Name, Point position) { - theMap = _theMap; + game = theGame; CharName = Name; - theDisplay = mDisplay; health = 100; score = 0; visible = false; - //default state - state = State.up; - charModel = model; - projectileModel = projectile; - projectileSpeed = 30; + projectileSpeed = 8; // Speed is the number of grid cells you can move through per second. - mMotion = new MovementManager(position, 5.0f); + mMotion = new MovementManager(position, 4.0f); } public void LoadContent(ContentManager contentManager) { - charModel = contentManager.Load("deselectBox"); //change to charModel when designed - projectileModel = contentManager.Load("emptySelectBox"); //change to a projectile model later + charModel = contentManager.Load("cs"); //change to charModel when designed + projectileModel = contentManager.Load("projectile"); //change to a projectile model later } - public void UnloadContent() - { - - } - public long Update(GameTime gameTime, NetworkManager networkGame) + public void Update(TimeSpan timeSpan) { - return 0; - } /// /// This method will draw a character to the screen. /// /// - /// - public long Draw(SpriteBatch spriteBatch) + public void Draw(SpriteBatch spriteBatch) { - Rectangle position = theMap.GetRectangleFromCoordinates(mMotion.Position); + Rectangle position = game.State.Map.GetRectangleFromCoordinates(mMotion.Position); spriteBatch.Draw(charModel, position, Color.White); - return 0; } public int Health { get { return health; } } @@ -112,23 +89,21 @@ namespace CarFire bool moveRight = keysPressed.Contains(Keys.Right); bool moveUp = keysPressed.Contains(Keys.Up); bool moveDown = keysPressed.Contains(Keys.Down); - if (moveLeft) - state = State.left; - else if (moveRight) - state = State.right; - else if (moveUp) - state = State.up; - else if (moveDown) - state = State.down; - Point destination = MovementManager.GetNeighborCell(mMotion.Coordinates, moveLeft, moveRight, moveUp, moveDown); - if (theMap.IsCellOpen(destination)) + if (!keysPressed.Contains(Keys.LeftControl)) { - mMotion.Update(timeSpan, moveLeft, moveRight, moveUp, moveDown); + if (game.IsCellOpen(destination)) + { + mMotion.Update(timeSpan, moveLeft, moveRight, moveUp, moveDown); + } + else + { + mMotion.Update(timeSpan); + } } else { - mMotion.Update(timeSpan); + mMotion.LockUpdate(timeSpan, moveLeft, moveRight, moveUp, moveDown); } @@ -166,35 +141,10 @@ namespace CarFire toShoot.Normalize(); toShoot *= projectileSpeed; projectileCoolDown = shootCoolDown; - theDisplay.AddProjectiles(new Projectile(theMap, projectileModel, + game.State.mDisplay.AddProjectiles(new Projectile(game.State.Map, projectileModel, toShoot, new Point(startX, startY))); - /* - if (state == State.up) - { - projectileCoolDown = shootCoolDown; - theDisplay.AddProjectiles(new Projectile(theMap, projectileModel, - new Vector2(0, -projectileSpeed), new Point(Coordinates.X, Coordinates.Y - 1))); - } - if (state == State.down) - { - projectileCoolDown = shootCoolDown; - theDisplay.AddProjectiles(new Projectile(theMap, projectileModel, - new Vector2(0, projectileSpeed), new Point(Coordinates.X, Coordinates.Y + 1))); - } - if (state == State.right) - { - projectileCoolDown = shootCoolDown; - theDisplay.AddProjectiles(new Projectile(theMap, projectileModel, - new Vector2(projectileSpeed, 0), new Point (Coordinates.X + 1, Coordinates.Y))); - } - if (state == State.left) - { - projectileCoolDown = shootCoolDown; - theDisplay.AddProjectiles(new Projectile(theMap, projectileModel, - new Vector2(-projectileSpeed, 0), new Point(Coordinates.X - 1, Coordinates.Y))); - } - */ + } } }