//----------------------------------------------------------------------------------------------------------------------------------------- /// <summary> /// Constructor for CustomBoardViewModel /// </summary> public CustomBoardViewModel(Colors aPlayer1Color, Colors aStartingColor, Algorithm aPlayer1Algorithm, Algorithm aPlayer2Algorithm) { windowState = "Normal"; windowWidth = 640; windowHeight = 480; fieldSize = 48; boardSize = 384; isStartBtnClicked = false; selectedPanelItem = new FigureItem(Colors.NO_COLOR, FigureType.NO_FIGURE); mLastClickedField = -1; startBtnClicked = new DelegateCommand(X => onStartBtnClicked()); cancelBtnClicked = new DelegateCommand(X => onCancelBtnClicked()); deleteSelectedClicked = new DelegateCommand(X => onDeleteSelectedClicked()); saveClicked = new DelegateCommand(X => onSaveClicked()); loadClicked = new DelegateCommand(X => onLoadClicked()); mChessBoardCollection = new ObservableCollection <BoardItem>(); mBlackFigureCollection = new ObservableCollection <BoardItem>(); mWhiteFigureCollection = new ObservableCollection <BoardItem>(); savedPositions = new ObservableCollection <String>(); mChessBoardModel = new ChessBoardModel(aPlayer1Color, aStartingColor, aPlayer1Algorithm, aPlayer2Algorithm); mTablePositions = new TablePositions(); setSavedPositions(); setupCustomBoard(); }
//----------------------------------------------------------------------------------------------------------------------------------------- /// <summary> /// Constructor for CustomBoardViewModel /// </summary> public ChessBoardViewModel(ChessBoardModel aChessBoardModel) { mChessBoardModel = aChessBoardModel; mChessBoardModel.fieldClicked += new EventHandler <PutFigureOnTheTableEventArg>(onPutFigureOnTheTableEventArg); mChessBoardModel.setHighlight += new EventHandler <SetHighlightEventArg>(onSetHighlight); mChessBoardModel.setIsEnable += new EventHandler <Boolean>(onSetIsEnable); windowState = "Normal"; windowWidth = 640; windowHeight = 480; fieldSize = 48; boardSize = 384; mChessBoardCollection = new ObservableCollection <BoardItem>(); selectedPanelItem = new FigureItem(Colors.NO_COLOR, FigureType.NO_FIGURE); setupCustomBoard(); mChessBoardModel.startModel(); }
public ChessBoardDto Map(ChessBoardModel model) { var pawn = MapPawns(model.Board); return(new ChessBoardDto { State = this.GetValue(model.State), PlayerOne = new PlayerDto { Id = model.PlayerOneId, Name = model.PlayerOneName }, PlayerTwo = new PlayerDto { Name = model.PlayerTwoName, Id = model.PlayerTwoId }, Player = model.CurrentPlayer, Pawns = pawn }); }
//----------------------------------------------------------------------------------------------------------------------------------------- private Boolean standardGameSetup() { mChessBoardModel = new ChessBoardModel(selectedColor, selectedStartingColor, playerOneAlgorithm, playerTwoAlgorithm); if (selectedColor == Colors.WHITE) { for (Int32 column = 0; column < 8; column++) // set Pawns { mChessBoardModel.whiteFigures.Add(new ModelItem { index = (6 * 8) + column, x = 6, y = column, figureItem = new FigureItem(Colors.WHITE, FigureType.PAWN) }); mChessBoardModel.blackFigures.Add(new ModelItem { index = (1 * 8) + column, x = 1, y = column, figureItem = new FigureItem(Colors.BLACK, FigureType.PAWN) }); } mChessBoardModel.whiteFigures.Add(new ModelItem { index = (7 * 8) + 0, x = 7, y = 0, figureItem = new FigureItem(Colors.WHITE, FigureType.ROOK) }); mChessBoardModel.whiteFigures.Add(new ModelItem { index = (7 * 8) + 7, x = 7, y = 7, figureItem = new FigureItem(Colors.WHITE, FigureType.ROOK) }); mChessBoardModel.whiteFigures.Add(new ModelItem { index = (7 * 8) + 1, x = 7, y = 1, figureItem = new FigureItem(Colors.WHITE, FigureType.KNIGHT) }); mChessBoardModel.whiteFigures.Add(new ModelItem { index = (7 * 8) + 6, x = 7, y = 6, figureItem = new FigureItem(Colors.WHITE, FigureType.KNIGHT) }); mChessBoardModel.whiteFigures.Add(new ModelItem { index = (7 * 8) + 2, x = 7, y = 2, figureItem = new FigureItem(Colors.WHITE, FigureType.BISHOP) }); mChessBoardModel.whiteFigures.Add(new ModelItem { index = (7 * 8) + 5, x = 7, y = 5, figureItem = new FigureItem(Colors.WHITE, FigureType.BISHOP) }); mChessBoardModel.whiteFigures.Add(new ModelItem { index = (7 * 8) + 3, x = 7, y = 3, figureItem = new FigureItem(Colors.WHITE, FigureType.QUEEN) }); mChessBoardModel.whiteFigures.Add(new ModelItem { index = (7 * 8) + 4, x = 7, y = 4, figureItem = new FigureItem(Colors.WHITE, FigureType.KING) }); mChessBoardModel.blackFigures.Add(new ModelItem { index = (0 * 8) + 0, x = 0, y = 0, figureItem = new FigureItem(Colors.BLACK, FigureType.ROOK) }); mChessBoardModel.blackFigures.Add(new ModelItem { index = (0 * 8) + 7, x = 0, y = 7, figureItem = new FigureItem(Colors.BLACK, FigureType.ROOK) }); mChessBoardModel.blackFigures.Add(new ModelItem { index = (0 * 8) + 1, x = 0, y = 1, figureItem = new FigureItem(Colors.BLACK, FigureType.KNIGHT) }); mChessBoardModel.blackFigures.Add(new ModelItem { index = (0 * 8) + 6, x = 0, y = 6, figureItem = new FigureItem(Colors.BLACK, FigureType.KNIGHT) }); mChessBoardModel.blackFigures.Add(new ModelItem { index = (0 * 8) + 2, x = 0, y = 2, figureItem = new FigureItem(Colors.BLACK, FigureType.BISHOP) }); mChessBoardModel.blackFigures.Add(new ModelItem { index = (0 * 8) + 5, x = 0, y = 5, figureItem = new FigureItem(Colors.BLACK, FigureType.BISHOP) }); mChessBoardModel.blackFigures.Add(new ModelItem { index = (0 * 8) + 3, x = 0, y = 3, figureItem = new FigureItem(Colors.BLACK, FigureType.QUEEN) }); mChessBoardModel.blackFigures.Add(new ModelItem { index = (0 * 8) + 4, x = 0, y = 4, figureItem = new FigureItem(Colors.BLACK, FigureType.KING) }); } else { for (Int32 column = 0; column < 8; column++) { mChessBoardModel.blackFigures.Add(new ModelItem { index = (6 * 8) + column, x = 6, y = column, figureItem = new FigureItem(Colors.BLACK, FigureType.PAWN) }); mChessBoardModel.whiteFigures.Add(new ModelItem { index = (1 * 8) + column, x = 1, y = column, figureItem = new FigureItem(Colors.WHITE, FigureType.PAWN) }); } mChessBoardModel.blackFigures.Add(new ModelItem { index = (7 * 8) + 0, x = 7, y = 0, figureItem = new FigureItem(Colors.BLACK, FigureType.ROOK) }); mChessBoardModel.blackFigures.Add(new ModelItem { index = (7 * 8) + 7, x = 7, y = 7, figureItem = new FigureItem(Colors.BLACK, FigureType.ROOK) }); mChessBoardModel.blackFigures.Add(new ModelItem { index = (7 * 8) + 1, x = 7, y = 1, figureItem = new FigureItem(Colors.BLACK, FigureType.KNIGHT) }); mChessBoardModel.blackFigures.Add(new ModelItem { index = (7 * 8) + 6, x = 7, y = 6, figureItem = new FigureItem(Colors.BLACK, FigureType.KNIGHT) }); mChessBoardModel.blackFigures.Add(new ModelItem { index = (7 * 8) + 2, x = 7, y = 2, figureItem = new FigureItem(Colors.BLACK, FigureType.BISHOP) }); mChessBoardModel.blackFigures.Add(new ModelItem { index = (7 * 8) + 5, x = 7, y = 5, figureItem = new FigureItem(Colors.BLACK, FigureType.BISHOP) }); mChessBoardModel.blackFigures.Add(new ModelItem { index = (7 * 8) + 3, x = 7, y = 3, figureItem = new FigureItem(Colors.BLACK, FigureType.KING) }); mChessBoardModel.blackFigures.Add(new ModelItem { index = (7 * 8) + 4, x = 7, y = 4, figureItem = new FigureItem(Colors.BLACK, FigureType.QUEEN) }); mChessBoardModel.whiteFigures.Add(new ModelItem { index = (0 * 8) + 0, x = 0, y = 0, figureItem = new FigureItem(Colors.WHITE, FigureType.ROOK) }); mChessBoardModel.whiteFigures.Add(new ModelItem { index = (0 * 8) + 7, x = 0, y = 7, figureItem = new FigureItem(Colors.WHITE, FigureType.ROOK) }); mChessBoardModel.whiteFigures.Add(new ModelItem { index = (0 * 8) + 1, x = 0, y = 1, figureItem = new FigureItem(Colors.WHITE, FigureType.KNIGHT) }); mChessBoardModel.whiteFigures.Add(new ModelItem { index = (0 * 8) + 6, x = 0, y = 6, figureItem = new FigureItem(Colors.WHITE, FigureType.KNIGHT) }); mChessBoardModel.whiteFigures.Add(new ModelItem { index = (0 * 8) + 2, x = 0, y = 2, figureItem = new FigureItem(Colors.WHITE, FigureType.BISHOP) }); mChessBoardModel.whiteFigures.Add(new ModelItem { index = (0 * 8) + 5, x = 0, y = 5, figureItem = new FigureItem(Colors.WHITE, FigureType.BISHOP) }); mChessBoardModel.whiteFigures.Add(new ModelItem { index = (0 * 8) + 3, x = 0, y = 3, figureItem = new FigureItem(Colors.WHITE, FigureType.KING) }); mChessBoardModel.whiteFigures.Add(new ModelItem { index = (0 * 8) + 4, x = 0, y = 4, figureItem = new FigureItem(Colors.WHITE, FigureType.QUEEN) }); } return(true); }