public void addShip(int[] x, int[] y) { for (int i = 0; i < x.Length; i++) { _board.modifyCoordinate(x[i], y[i], BoardConstants.ship); } Board = _board; }
public void coordinateClicked(int x, int y) { foreach (CellValue c in _board.Model) { if (c.X == x && c.Y == y) { if (c.Value > 3) { _board.modifyCoordinate(x, y, BoardConstants.hit); Board = _board; } else if (c.Value == BoardConstants.water) { _board.modifyCoordinate(x, y, BoardConstants.miss); Board = _board; } DoSomething(); } } }
public BattleshipBuilder(ModelHolder modelHolder, Player player1, Player player2, int state) { TookShoot = false; BoatsPlaced = false; resetBoard = false; CurrentState = state; this.modelHolder = modelHolder; this.Player1 = player1; this.Player1.Name = "Player1"; this.Player2 = player2; this.Player2.Name = "Player2"; currentPlayer = player1; if (state == State.PLACE_BOAT_STATE) { visibleBoard = currentPlayer.UserBoard; } else { visibleBoard = currentPlayer.TargetBoard; } modelHolder.modelChanged(visibleBoard); }
public void progressGame() { if (CurrentState == State.PLACE_BOAT_STATE) { if (visibleBoard.allBoatsPlaced()) { if (currentPlayer.Equals(Player2)) { CurrentState = State.GAME_STATE; currentPlayer = nextPlayer(); resetBoard = true; visibleBoard = currentPlayer.TargetBoard; modelHolder.modelChanged(visibleBoard); } else { BoatsPlaced = true; currentPlayer = nextPlayer(); visibleBoard = currentPlayer.UserBoard; modelHolder.modelChanged(visibleBoard); } } else { MessageBox.Show("Placera ut alla skepp"); BoatsPlaced = false; } } else if (CurrentState == State.GAME_STATE) { resetBoard = false; if (visibleBoard.finished()) { MessageBox.Show("Vinnare " + currentPlayer.Name); } else { TookShoot = false; currentPlayer = nextPlayer(); visibleBoard = currentPlayer.TargetBoard; modelHolder.modelChanged(visibleBoard); } } }
public void modelChanged(BoardModel model) { Board = model; }
public Player() { UserBoard = new BoardModel(); TargetBoard = new BoardModel(); }