Beispiel #1
0
 protected Piece(EPieceColor color, PiecePos position, double value)
 {
     this.Color    = color;
     this.Position = position;
     this.IsAlive  = true;
     this.Value    = value;
 }
 private void InitializeBoardView(EPieceColor mySideColor)
 {
     InitializePiecesCollection();
     AttachEventHandlersToPieces(mySideColor);
     ShowPieces();
     AttachEventHandlersToBoard();
 }
Beispiel #3
0
 public CellStatusViewModel(int identifier, EFieldType fieldType, EPieceType pieceType, EPieceColor pieceColor)
 {
     _identifier = identifier;
     _fieldType  = fieldType;
     _pieceType  = pieceType;
     _pieceColor = pieceColor;
 }
 public CGamePageViewModel(Guid gameId, EPieceColor mySideColor)
 {
     _gameId             = gameId;
     _mySideColor        = mySideColor;
     _gameManagerService = new GameManagerServiceClient(new InstanceContext(this));
     _gameManagerService.ConnectGameManager(gameId, CAuthenticationStaff.Instance.User.UserId);
     GameBoardContent = new BoardControl(gameId, mySideColor);
 }
Beispiel #5
0
 public static CPiece Create(Int32 id, EPieceType pieceType, EPieceColor pieceColor, CTile tile)
 {
     return(new CPiece(
                id,
                new BitmapImage(new Uri($"/Images/{pieceColor}/{pieceType}.png", UriKind.RelativeOrAbsolute)),
                SMovementValidatorFactory.GetMovementValidator(pieceType),
                pieceColor,
                tile));
 }
Beispiel #6
0
 private static Image CreatePieceImage(EPieceColor color, EPieceType type, CTile tile)
 {
     return(new Image
     {
         Source = new BitmapImage(new Uri($"/Images/{color}/{type}.png", UriKind.RelativeOrAbsolute)),
         Width = CPiece.PieceSize,
         Height = CPiece.PieceSize,
         Margin = new Thickness(tile.X * CPiece.PieceSize, tile.Y * CPiece.PieceSize, 0, 0)
     });
 }
Beispiel #7
0
        private void GameOver(EPieceColor winner)
        {
            _gameTimer.Stop();
            BoardGrid.Children.RemoveRange(0, BoardGrid.Children.Count);

            GameModeBaseClass.GameEndEvent      -= GameOver;
            GameModeBaseClass.PieceChangedEvent -= PieceChanged;
            Model.OnGameModeChanged             -= OnGameModeChanged;

            Model.State = State.MainMenu;
        }
 private void AttachEventHandlersToPieces(EPieceColor mySideColor)
 {
     foreach (CPiece piece in _pieces.Values)
     {
         if (piece.Color == mySideColor)
         {
             piece.MouseDown += MouseDownPieceEventHandler;
         }
         piece.MoveAnimationCompletedEventHandler = GetMovementAnimationCompletedEventHandler(_boardStates, piece);
     }
 }
 public CBoardControlPresenter(Guid gameId, EPieceColor mySideColor, BoardControl attachedBoard)
 {
     _gameId              = gameId;
     _attachedBoard       = attachedBoard;
     _virtualBoardService = new VirtualBoardServiceClient(new InstanceContext(this));
     _boardStates         = new CBoardOccupancy();
     _pieces              = new Dictionary <Int32, CPiece>();
     _attachedTiles       = new HashSet <CTile>();
     InitializeBoardView(mySideColor);
     _virtualBoardService.ConnectBoard(_gameId, CAuthenticationStaff.Instance.User.UserId);
 }
Beispiel #10
0
 private CPiece(Int32 id, ImageSource source, CMovementValidator movementValidator, EPieceColor pieceColor, CTile tile)
 {
     Source             = source;
     _movementValidator = movementValidator;
     Color     = pieceColor;
     IsActive  = true;
     Id        = id;
     Width     = PieceSize;
     Height    = PieceSize;
     Margin    = new Thickness(tile.X * PieceSize, tile.Y * PieceSize, 0, 0);
     AllowDrop = true;
 }
        public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
        {
            EPieceType  type  = (EPieceType)values[0];
            EPieceColor color = (EPieceColor)values[1];

            if (type == EPieceType.Empty || color == EPieceColor.Empty)
            {
                return(null);
            }

            string resourceKey = "";

            resourceKey += type.ToString();
            resourceKey += color.ToString();
            return(resourceDictionary[resourceKey]);
        }
        private void generateCellViewModels(int rows, int cols)
        {
            int id = 0;

            for (int row = 0; row < rows; row++)
            {
                List <ICellStatusViewModel> colList = new List <ICellStatusViewModel>();
                _cells.Add(colList);
                for (int col = 0; col < cols; col++)
                {
                    EFieldType  fieldType  = ((row % 2) + col) % 2 == 0 ? EFieldType.Light : EFieldType.Dark;
                    EPieceType  pieceType  = getPieceType(row, col);
                    EPieceColor pieceColor = getPieceColor(row);
                    colList.Add(new CellStatusViewModel(id, fieldType, pieceType, pieceColor));
                    id++;
                }
            }
        }
Beispiel #13
0
 public BoardControl(Guid gameId, EPieceColor mySideColor)
 {
     InitializeComponent();
     DataContext = new CBoardControlPresenter(gameId, mySideColor, this);
 }
Beispiel #14
0
 public CGameStartModel(Guid gameId, Guid opponentId, EPieceColor mySideColor)
 {
     GameId      = gameId;
     OpponentId  = opponentId;
     MySideColor = mySideColor;
 }
Beispiel #15
0
 public King(EPieceColor color, PiecePos position, double value) : base(color, position, value)
 {
 }