private void PutPieces(Player player) { for (int i = 0; i < 3; i++) { for (int j = 0; j < 4; j++) { // create pice with team color Piece piece = new Piece(player); // locate piece int row = player.InitialRow + i; int column = j * 2 + ((i + player.PlayerNumber) % 2); LocatePiece(piece, row, column); // set as drop source _ddManager.RegisterDragSource(piece.Control, DragDropEffect.Move, ModifierKeys.None); } } }
private void RemovePiece(Piece piece) { LocatePiece(piece, -1, -1); }
private void LocatePiece(Piece piece, int row, int column) { if (piece.Control.Parent != null) { var border = (Border)piece.Control.Parent; // get old row and column int oldRow = Grid.GetRow(border); int oldColumn = Grid.GetColumn(border); // remove from to table if ((oldRow >= 0 && oldRow < 8) && (oldColumn >= 0 && oldColumn < 8)) { _tablePieces[oldRow, oldColumn] = null; } border.Child = null; } // add to table if ((row >= 0 && row < 8) && (column >= 0 && column < 8)) { _tablePieces[row, column] = piece; _tableBorders[row, column].Child = piece.Control; } }