Exemple #1
0
        public void CalculateCell()
        {
            if (Horizontal == null || Vertical == null || Square == null)
            {
                throw new CellNotCompleteException();
            }
            if (Value.HasValue)
            {
                return;
            }
            var countPossibilities = Possibilities.Count;

            PreparePossibilities();
            CalculateCell(Horizontal);
            CalculateCell(Vertical);
            CalculateCell(Square);
            if (countPossibilities != 0 && Possibilities.Count != countPossibilities)
            {
                if (Matrix.Changed == false)
                {
                    Matrix.Changed = true;
                }
            }
            if (Possibilities.Count == 1)
            {
                Value = Possibilities[0];
                Possibilities.Clear();
                if (Matrix.Changed == false)
                {
                    Matrix.Changed = true;
                }
            }
        }
Exemple #2
0
        public void PlaceTile()
        {
            if (selectedPossibility == null || tile == null)
            {
                return;
            }

            tilesService.PlaceTile(tile, selectedPossibility);
            Tiles.Add(new TileViewModel(100 * tile.X + 1000, 1000 - 100 * tile.Y, selectedPossibility.Rotation, tile.ImageUri));
            NextTile.ImageSource = null;
            Possibilities.Clear();
        }
Exemple #3
0
        public async Task ResetGame()
        {
            await tilesService.Reset();

            Tiles.Clear();
            Possibilities.Clear();
            FollowerPossibilities.Clear();
            Followers.Clear();
            selectedPossibility = null;
            tile          = null;
            playerIndex   = 0;
            CurrentColour = null;
            if (NextTile != null)
            {
                NextTile.ImageSource = null;
            }
        }