+ //The projectile has hit something.\r
+ IEntity hitEntity = mGame.GetEntityAtCoordinates(new Point(mGame.State.mProjectiles[i].Coordinates.X, mGame.State.mProjectiles[i].Coordinates.Y));\r
+ //If it is a monster than decrement monster health and increment the score of the player who shot it.\r
+ if (hitEntity is IMonster)\r
+ {\r
+ IMonster hitMonster = (IMonster)hitEntity;\r
+ hitMonster.causeDamageTo(mGame.State.mProjectiles[i].Damage);\r
+ if (hitMonster.Health > 0)\r
+ {\r
+ mGame.State.mCharacters[mGame.State.mProjectiles[i].CharacterIndex].Score += mGame.State.HitMonsterScore;\r
+ Console.WriteLine(mGame.State.mCharacters[mGame.State.mProjectiles[i].CharacterIndex].Score);\r
+ }\r
+ else\r
+ {\r
+ mGame.State.mCharacters[mGame.State.mProjectiles[i].CharacterIndex].Score += mGame.State.KillMonsterScore;\r
+ Console.WriteLine(mGame.State.mCharacters[mGame.State.mProjectiles[i].CharacterIndex].Score);\r
+ //Remove dead monsters\r
+ mGame.State.Entities.Remove(hitEntity);\r
+ }\r
+ }\r