public void TestMineControllerSetsGameFieldCorrectly() { var gameField = new GameField(5); var mineController = new MineController(gameField); Assert.IsNotNull(mineController.GameField); Assert.IsTrue(mineController.GameField == gameField); }
public void TestGameFieldIndexerSet() { var gameField = new GameField(3); gameField[2, 1] = 'a'; Assert.IsNotNull(gameField[2, 1]); Assert.AreEqual(gameField[2, 1], 'a'); }
public void Run() { this.output.RenderText("Welcome to \"Battle Field\" game.\nEnter battle field size: n = "); int size = this.input.ReadInteger(); while (size == -1 || size < Constants.MinFieldSize || size > Constants.MaxFieldSize) { this.output.RenderText("The field size is invalid. It must be a number between 1 and 10. "); size = this.input.ReadInteger(); } this.gameField = new GameField(size); this.mineController = new MineController(this.gameField); int mines = this.PlaceMines(size); while (mines > 0) { this.output.Clear(); ShowLastHit(); this.output.Render(gameField); do { this.output.RenderText("Please enter coordinates: "); this.lastPosition = this.input.ReadPosition(); } while (!IsValidPosition()); score++; bool isMineHit = IsMineHit(); if (isMineHit) { string mineHitOnField = gameField[this.lastPosition.X, this.lastPosition.Y].ToString(); int mineHit = int.Parse(mineHitOnField); var currentMine = mineFactory.CreateMine((MineType)mineHit); mineController.SetMine(currentMine); mineController.SetHitPosition(this.lastPosition); // Explode mine int minesTakenOut = mineController.ExplodeMine(); mines -= minesTakenOut; } } }
public MineController(GameField gameField) { currentMine = null; currentPosition = null; this.gameField = gameField; }
public void TestGameFieldIndexerGet() { var gameField = new GameField(3); Assert.IsNotNull(gameField[2, 2]); Assert.IsNotNull(gameField[0, 0]); }
public void TestGameField() { var gameField = new GameField(3); Assert.AreEqual(gameField.FieldSize, 3); }