X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fcarfire;a=blobdiff_plain;f=CarFire%2FCarFire%2FCarFire%2FHuman.cs;h=30546f3827db7e1a8c20f4b2af4720d33181516f;hp=7a926a6cafc0c6936178cb61551e3946ec7b41fc;hb=5776c1910247848ab45b111b6a9df4265483a894;hpb=98a1207447757d2e01f5fba091acf87f8795c8ad diff --git a/CarFire/CarFire/CarFire/Human.cs b/CarFire/CarFire/CarFire/Human.cs index 7a926a6..30546f3 100644 --- a/CarFire/CarFire/CarFire/Human.cs +++ b/CarFire/CarFire/CarFire/Human.cs @@ -36,11 +36,14 @@ namespace CarFire int pixelY; bool visible; int movementCoolDown; + Display theDisplay; + int projectileSpeed; - public Human(Map _theMap, String Name, Texture2D model) + public Human(Map _theMap, String Name, Texture2D model, Texture2D projectile, Display mDisplay) { theMap = _theMap; CharName = Name; + theDisplay = mDisplay; movementSpeed = 12; // randomly set now health = 100; @@ -49,7 +52,9 @@ namespace CarFire //default state state = State.up; charModel = model; + projectileModel = projectile; movementCoolDown = movementSpeed; + projectileSpeed = 30; } public void LoadContent(ContentManager contentManager) @@ -132,24 +137,28 @@ namespace CarFire // move up else if (keysPressed.Contains(Keys.Up) && theMap.IsCellOpen(gridX, gridY - 1)) { + state = State.up; gridY -= 1; movementCoolDown = movementSpeed; } // move down else if (keysPressed.Contains(Keys.Down) && theMap.IsCellOpen(gridX, gridY + 1)) { + state = State.down; gridY += 1; movementCoolDown = movementSpeed; } // move left else if (keysPressed.Contains(Keys.Left) && theMap.IsCellOpen(gridX - 1, gridY)) { + state = State.left; gridX -= 1; movementCoolDown = movementSpeed; } // move right else if (keysPressed.Contains(Keys.Right) && theMap.IsCellOpen(gridX + 1, gridY)) { + state = State.right; gridX += 1; movementCoolDown = movementSpeed; } @@ -159,7 +168,19 @@ namespace CarFire //TODO spawn projectile... needs to be added to display though if (state == State.up) { - + 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)); } } }