X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fcarfire;a=blobdiff_plain;f=CarFire%2FCarFire%2FCarFire%2FGame.cs;h=45b79d16901a653e8bcd1038075c8766d7fc4086;hp=38088419c59db8bebb2c20f097cbe56102e11f4c;hb=d167160264cd2c33de81a71039eddbb959c40bb2;hpb=beb1ce501897ce4c00f7e97c6923ba0af2451732 diff --git a/CarFire/CarFire/CarFire/Game.cs b/CarFire/CarFire/CarFire/Game.cs index 3808841..45b79d1 100644 --- a/CarFire/CarFire/CarFire/Game.cs +++ b/CarFire/CarFire/CarFire/Game.cs @@ -25,7 +25,7 @@ namespace CarFire public Map Map; public List Entities = new List(); public List mProjectiles = new List(); - public Player[] mCharacters = new Player[4]; + public Player[] mCharacters; public Display mDisplay; #endregion @@ -42,6 +42,8 @@ namespace CarFire mNumberOfPlayers = numPlayers; mFrameNumber = 0; + mCharacters = new Player[numPlayers]; + mIsGameOver = new bool[numPlayers]; mIsTerminated = new bool[numPlayers]; @@ -223,7 +225,7 @@ namespace CarFire foreach (IEntity entity in State.Entities) { Point coordinates = entity.Coordinates; - grid[coordinates.X, coordinates.Y] = true; + if (State.Map.IsCellOpen(coordinates)) grid[coordinates.X, coordinates.Y] = false; } return grid; } @@ -233,13 +235,29 @@ namespace CarFire #region Public Methods - public bool IsCellOpen(Point point) + + public IEntity GetEntityAtCoordinates(Point point) { - if (!State.Map.IsCellOpen(point)) return false; foreach (IEntity entity in State.Entities) { - if (entity.Coordinates == point) return false; + if (entity.Coordinates == point) return entity; + } + return null; + } + + public Player GetPlayerAtCoordinates(Point point) + { + foreach (Player player in State.mCharacters) + { + if (player != null && player.Coordinates == point) return player; } + return null; + } + + public bool IsCellOpen(Point point) + { + if (!State.Map.IsCellOpen(point)) return false; + if (GetEntityAtCoordinates(point) != null) return false; return true; } @@ -311,7 +329,7 @@ namespace CarFire State.mDisplay = new Display(this); State.mDisplay.LoadContent(mContentManager); - State.Map = mContentManager.Load("Maps/stable"); + State.Map = mContentManager.Load("Maps/level1"); State.Entities = State.Map.GetAllEntities(this); Map.DefaultTile = mContentManager.Load("default");