Exemple #1
0
        public void OnSelectedBoardItemChanged()
        {
            if (SelectedBoardItem != null)
            {
                if (SelectedBoardItem.IsUsed)
                {
                    return;
                }

                if (CurrentRound >= RoundsCount)
                {
                    messageBoxService.ShowMessage("Brak Shura!", "");
                    return;
                }

                SelectedBoardItem.IsSelected = true;
                CurrentTurn = Turn.Second;

                ++CurrentRound;

                if (!ColorBoardItemDictionary.Any())
                {
                    for (var i = 0; i < ColorsCount; ++i)
                    {
                        ColorBoardItemDictionary[i] = new List <BoardItem>();
                    }
                }

                SelectedBoardItem.IsUsed = true;

                var isSchur = new SchurSolverService().CheckSchur(ColorBoardItemDictionary, SelectedBoardItem);
                if (isSchur)
                {
                    messageBoxService.ShowMessage("Shur!", "");
                }
                else
                {
                    CurrentTurn = Turn.First;
                }

                if (!isSchur && ColorBoardItemDictionary.Sum(p => p.Value.Count) == BoardSize)
                {
                    messageBoxService.ShowMessage("Brak Shura!", "");
                }
            }
        }
Exemple #2
0
        public void OnSelectedBoardItemChanged()
        {
            if (SelectedBoardItem != null)
            {
                if (SelectedBoardItem.IsUsed)
                    return;

                if (CurrentRound >= RoundsCount)
                {
                    messageBoxService.ShowMessage("Brak Shura!", "");
                    return;
                }

                SelectedBoardItem.IsSelected = true;
                CurrentTurn = Turn.Second;

                ++CurrentRound;

                if (!ColorBoardItemDictionary.Any())
                    for (var i = 0; i < ColorsCount; ++i)
                        ColorBoardItemDictionary[i] = new List<BoardItem>();

                SelectedBoardItem.IsUsed = true;

                var isSchur = new SchurSolverService().CheckSchur(ColorBoardItemDictionary, SelectedBoardItem);
                if (isSchur)
                    messageBoxService.ShowMessage("Shur!", "");
                else
                    CurrentTurn = Turn.First;

                if (!isSchur && ColorBoardItemDictionary.Sum(p => p.Value.Count) == BoardSize)
                    messageBoxService.ShowMessage("Brak Shura!", "");
            }
        }