public Map Map;\r
public List<IEntity> Entities = new List<IEntity>();\r
public List<Projectile> mProjectiles = new List<Projectile>();\r
- public Player[] mCharacters = new Player[4];\r
+ public Player[] mCharacters;\r
public Display mDisplay;\r
\r
#endregion\r
mNumberOfPlayers = numPlayers;\r
mFrameNumber = 0;\r
\r
+ mCharacters = new Player[numPlayers];\r
+\r
mIsGameOver = new bool[numPlayers];\r
mIsTerminated = new bool[numPlayers];\r
\r
foreach (IEntity entity in State.Entities)\r
{\r
Point coordinates = entity.Coordinates;\r
- grid[coordinates.X, coordinates.Y] = true;\r
+ if (State.Map.IsCellOpen(coordinates)) grid[coordinates.X, coordinates.Y] = false;\r
}\r
return grid;\r
}\r
\r
\r
#region Public Methods\r
- public bool IsCellOpen(Point point)\r
+\r
+ public IEntity GetEntityAtCoordinates(Point point)\r
{\r
- if (!State.Map.IsCellOpen(point)) return false;\r
foreach (IEntity entity in State.Entities)\r
{\r
- if (entity.Coordinates == point) return false;\r
+ if (entity.Coordinates == point) return entity;\r
+ }\r
+ return null;\r
+ }\r
+\r
+ public Player GetPlayerAtCoordinates(Point point)\r
+ {\r
+ foreach (Player player in State.mCharacters)\r
+ {\r
+ if (player != null && player.Coordinates == point) return player;\r
}\r
+ return null;\r
+ }\r
+\r
+ public bool IsCellOpen(Point point)\r
+ {\r
+ if (!State.Map.IsCellOpen(point)) return false;\r
+ if (GetEntityAtCoordinates(point) != null) return false;\r
return true;\r
}\r
\r
State.mDisplay = new Display(this);\r
State.mDisplay.LoadContent(mContentManager);\r
\r
- State.Map = mContentManager.Load<Map>("Maps/stable");\r
+ State.Map = mContentManager.Load<Map>("Maps/level1");\r
State.Entities = State.Map.GetAllEntities(this);\r
Map.DefaultTile = mContentManager.Load<Texture2D>("default");\r
\r