X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fcarfire;a=blobdiff_plain;f=CarFire%2FCarFire%2FCarFire%2FHuman.cs;h=9350d8605e099e92c6c4afecf1e4e7cd27292468;hp=30546f3827db7e1a8c20f4b2af4720d33181516f;hb=6f4eff30ee197a57bbedb2067f94b12ab0d69d48;hpb=5776c1910247848ab45b111b6a9df4265483a894 diff --git a/CarFire/CarFire/CarFire/Human.cs b/CarFire/CarFire/CarFire/Human.cs index 30546f3..9350d86 100644 --- a/CarFire/CarFire/CarFire/Human.cs +++ b/CarFire/CarFire/CarFire/Human.cs @@ -18,6 +18,8 @@ namespace CarFire up, down }; + const int moveCoolDown = 12; + const int shootCoolDown = 10; //Member Variables State state; String CharName; @@ -38,6 +40,7 @@ namespace CarFire int movementCoolDown; Display theDisplay; int projectileSpeed; + int projectileCoolDown; public Human(Map _theMap, String Name, Texture2D model, Texture2D projectile, Display mDisplay) { @@ -53,8 +56,8 @@ namespace CarFire state = State.up; charModel = model; projectileModel = projectile; - movementCoolDown = movementSpeed; projectileSpeed = 30; + } public void LoadContent(ContentManager contentManager) @@ -111,76 +114,85 @@ namespace CarFire { gridX -= 1; gridY -= 1; - movementCoolDown = movementSpeed; + movementCoolDown = moveCoolDown; } // move upright else if (keysPressed.Contains(Keys.Up) && keysPressed.Contains(Keys.Right) && theMap.IsCellOpen(gridX + 1, gridY - 1)) { gridX += 1; gridY -= 1; - movementCoolDown = movementSpeed; + movementCoolDown = moveCoolDown; } // move downleft else if (keysPressed.Contains(Keys.Down) && keysPressed.Contains(Keys.Left) && theMap.IsCellOpen(gridX - 1, gridY + 1)) { gridX -= 1; gridY += 1; - movementCoolDown = movementSpeed; + movementCoolDown = moveCoolDown; } // move downright else if (keysPressed.Contains(Keys.Down) && keysPressed.Contains(Keys.Right) && theMap.IsCellOpen(gridX + 1, gridY + 1)) { gridX += 1; gridY += 1; - movementCoolDown = movementSpeed; + movementCoolDown = moveCoolDown; } // move up else if (keysPressed.Contains(Keys.Up) && theMap.IsCellOpen(gridX, gridY - 1)) { state = State.up; gridY -= 1; - movementCoolDown = movementSpeed; + movementCoolDown = moveCoolDown; } // move down else if (keysPressed.Contains(Keys.Down) && theMap.IsCellOpen(gridX, gridY + 1)) { state = State.down; gridY += 1; - movementCoolDown = movementSpeed; + movementCoolDown = moveCoolDown; } // move left else if (keysPressed.Contains(Keys.Left) && theMap.IsCellOpen(gridX - 1, gridY)) { state = State.left; gridX -= 1; - movementCoolDown = movementSpeed; + movementCoolDown = moveCoolDown; } // move right else if (keysPressed.Contains(Keys.Right) && theMap.IsCellOpen(gridX + 1, gridY)) { state = State.right; gridX += 1; - movementCoolDown = movementSpeed; + movementCoolDown = moveCoolDown; } } - if (keysPressed.Contains(Keys.Space)) + if (projectileCoolDown > 0) + projectileCoolDown--; + else if (projectileCoolDown == 0) { - //TODO spawn projectile... needs to be added to display though - if (state == State.up) + if (keysPressed.Contains(Keys.Space)) { - theDisplay.AddProjectiles(new Projectile(theMap, projectileModel, new Vector2(0, -projectileSpeed), GridX, GridY)); - } - if (state == State.down) - { - theDisplay.AddProjectiles(new Projectile(theMap, projectileModel, new Vector2(0, projectileSpeed), GridX, GridY + 1)); - } - if (state == State.right) - { - theDisplay.AddProjectiles(new Projectile(theMap, projectileModel, new Vector2(projectileSpeed, 0), GridX +1, GridY)); - } - if (state == State.left) - { - theDisplay.AddProjectiles(new Projectile(theMap, projectileModel, new Vector2(-projectileSpeed, 0), GridX, GridY)); + //TODO spawn projectile... needs to be added to display though + if (state == State.up) + { + projectileCoolDown = shootCoolDown; + theDisplay.AddProjectiles(new Projectile(theMap, projectileModel, new Vector2(0, -projectileSpeed), GridX, GridY - 1)); + } + if (state == State.down) + { + projectileCoolDown = shootCoolDown; + theDisplay.AddProjectiles(new Projectile(theMap, projectileModel, new Vector2(0, projectileSpeed), GridX, GridY + 1)); + } + if (state == State.right) + { + projectileCoolDown = shootCoolDown; + theDisplay.AddProjectiles(new Projectile(theMap, projectileModel, new Vector2(projectileSpeed, 0), GridX + 1, GridY)); + } + if (state == State.left) + { + projectileCoolDown = shootCoolDown; + theDisplay.AddProjectiles(new Projectile(theMap, projectileModel, new Vector2(-projectileSpeed, 0), GridX - 1, GridY)); + } } } }