private void SetValue(int minterm, Enums.eCellValue value) { if (mode == Enums.eEditMode.Edit) { switch (value) { case Enums.eCellValue.Zero: if (!zeros.Contains(minterm)) { zeros.Add(minterm); } if (ones.Contains(minterm)) { ones.Remove(minterm); } break; case Enums.eCellValue.One: if (zeros.Contains(minterm)) { zeros.Remove(minterm); } if (!ones.Contains(minterm)) { ones.Add(minterm); } break; case Enums.eCellValue.DontCare: if (!zeros.Contains(minterm)) { zeros.Add(minterm); } if (!ones.Contains(minterm)) { ones.Add(minterm); } break; case Enums.eCellValue.Undefined: if (zeros.Contains(minterm)) { zeros.Remove(minterm); } if (ones.Contains(minterm)) { ones.Remove(minterm); } break; } } }
private bool isPlayerEndedGame(GameCell i_GameCell, Enums.eCellValue i_WantedCellState) { return(rowEnded(i_GameCell, i_WantedCellState) || columnEnded(i_GameCell, i_WantedCellState) || diagonalEnded(i_GameCell, i_WantedCellState)); }
private bool rowEnded(GameCell i_GameCell, Enums.eCellValue i_WantedCellState) { bool result = true; for (int i = 0; i < BoradSize; i++) { if (i_GameCell != BoradGameCells[i, i_GameCell.ColumnIndex] && BoradGameCells[i, i_GameCell.ColumnIndex].Value != i_WantedCellState) { result = false; break; } } return(result); }
internal void SetCellState(GameCell i_GameCell, Enums.eCellValue i_TheState) { i_GameCell.Value = i_TheState; if (i_TheState == Enums.eCellValue.Blank) { if (!FreeCellsList.Contains(i_GameCell)) { FreeCellsList.Add(i_GameCell); } } else { LastSelectedCell = i_GameCell; FreeCellsList.Remove(i_GameCell); } }
private bool diagonalEnded(GameCell i_GameCell, Enums.eCellValue i_WantedCellState) { bool firstDiagonalIsTrue = true, secondDiagonal = true; if (i_GameCell.RowIndex == i_GameCell.ColumnIndex) { for (int i = 0; i < BoradSize; i++) { if (i_GameCell != BoradGameCells[i, i] && BoradGameCells[i, i].Value != i_WantedCellState) { firstDiagonalIsTrue = false; break; } } } else { firstDiagonalIsTrue = false; } if (i_GameCell.RowIndex + i_GameCell.ColumnIndex == BoradSize - 1) { for (int i = 0; i < BoradSize; i++) { if (i_GameCell != BoradGameCells[i, BoradSize - 1 - i] && BoradGameCells[i, BoradSize - 1 - i].Value != i_WantedCellState) { secondDiagonal = false; break; } } } else { secondDiagonal = false; } return(firstDiagonalIsTrue || secondDiagonal); }
private void setCellState(GameCell i_GameCell) { Enums.eCellValue cellState = CurrentPlayerTurn == Enums.ePlayer.PlayerOne ? k_PlayerOneValue : k_PlayerTwoValue; r_BoardGame.SetCellState(i_GameCell, cellState); }