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;
 }
Exemple #6
0
 public Player()
 {
     UserBoard = new BoardModel();
     TargetBoard = new BoardModel();
 }