Esempio n. 1
0
 public void Awake()
 {
     _doCtrl         = new controller.DoController();
     _modelBoard     = new model.SquareBoard();
     _viewBoard      = CreateSquareBoard();
     _inputPad       = CreateInputPad();
     _situationBoard = CreateSituationBoard();
 }
Esempio n. 2
0
        public void UpdateBoardValue(model.SquareBoard modelSquareBoard)
        {
            view.SquarePack targetPack = null;
            view.SquareCell targetCell = null;

            model.SquarePack modelPack = null;
            model.SquareCell modelCell = null;

            for (int i = 0; i < _squarePacks.Length; i++)
            {
                targetPack = _squarePacks[i];
                modelPack  = modelSquareBoard.SquarePack[i];
                for (int j = 0; j < targetPack.SquareCells.Length; j++)
                {
                    targetCell = targetPack.SquareCells[j];
                    modelCell  = modelPack.SquareCells[j];

                    targetCell.UpdateCell(modelCell);
                }
            }
        }
Esempio n. 3
0
        public void MapSave(model.SquareBoard board)
        {
            model.StageData stageData = new model.StageData();

            model.SquarePack targetPack = null;
            model.SquareCell targetCell = null;
            int column, row;

            for (int i = 0; i < board.SquarePack.Length; i++)
            {
                targetPack = board.SquarePack[i];
                for (int j = 0; j < targetPack.SquareCells.Length; j++)
                {
                    targetCell = targetPack.SquareCells[j];
                    column     = targetCell.BoardCoorinate.column;
                    row        = targetCell.BoardCoorinate.row;

                    stageData.cellDataList.Add(new model.CellData(column, row, targetCell.NumberValue));
                }
            }

            string str = JsonUtility.ToJson(stageData, prettyPrint: true);

            Debug.Log(str);

            using (FileStream fs = new FileStream("Assets/Resources/stage1.json", FileMode.Create))
            {
                using (StreamWriter writer = new StreamWriter(fs))
                {
                    writer.Write(str);
                    writer.Close();
                    writer.Dispose();
                }
                fs.Close();
                fs.Dispose();
            }
        }
Esempio n. 4
0
        public void UpdateBoardAim(model.SquareBoard modelSquareBoard)
        {
            view.SquarePack  viewTargetPack  = null;
            view.SquareCell  viewTargetCell  = null;
            model.SquarePack modelTargetPack = null;
            model.SquareCell modelTargetCell = null;

            bool isEqualValue;
            bool isEqualColumn;
            bool isEqualRow;
            bool isSelectCell;

            for (int i = 0; i < _squarePacks.Length; i++)
            {
                viewTargetPack  = _squarePacks[i];
                modelTargetPack = modelSquareBoard.SquarePack[i];

                for (int j = 0; j < viewTargetPack.SquareCells.Length; j++)
                {
                    viewTargetCell  = viewTargetPack.SquareCells[j];
                    modelTargetCell = modelTargetPack.SquareCells[j];
                    isEqualValue    = false;
                    isEqualColumn   = false;
                    isEqualRow      = false;
                    isSelectCell    = false;

                    if (!modelTargetCell.IsOpenValue && (modelTargetCell.IsDuplicatePack || modelTargetCell.IsDuplicateColumn || modelTargetCell.IsDuplicateRow))
                    {
                        viewTargetCell.UpdateTrim(Color.black, false, modelTargetCell.GetTextColor());
                        continue;
                    }

                    if (modelSquareBoard.SelectCell.BoardCoorinate.column == viewTargetCell.BoardCoorinate.column &&
                        modelSquareBoard.SelectCell.BoardCoorinate.row == viewTargetCell.BoardCoorinate.row)
                    {
                        viewTargetCell.UpdateTrim(Color.magenta, false, modelSquareBoard.SelectCell.GetTextColor());
                        isSelectCell = true;
                    }

                    if (isSelectCell)
                    {
                        continue;
                    }

                    for (int k = 0; k < modelSquareBoard.EqaulValueCells.Count; k++)
                    {
                        if (modelSquareBoard.EqaulValueCells[k].BoardCoorinate.column == viewTargetCell.BoardCoorinate.column &&
                            modelSquareBoard.EqaulValueCells[k].BoardCoorinate.row == viewTargetCell.BoardCoorinate.row)
                        {
                            viewTargetCell.UpdateTrim(Color.yellow, true, modelSquareBoard.EqaulValueCells[k].GetTextColor());
                            isEqualValue = true;
                            break;
                        }
                    }

                    if (isEqualValue)
                    {
                        continue;
                    }

                    for (int k = 0; k < modelSquareBoard.EqualColumnCells.Length; k++)
                    {
                        if (modelSquareBoard.EqualColumnCells[k].BoardCoorinate.column == viewTargetCell.BoardCoorinate.column &&
                            modelSquareBoard.EqualColumnCells[k].BoardCoorinate.row == viewTargetCell.BoardCoorinate.row)
                        {
                            viewTargetCell.UpdateTrim(Color.magenta, true, modelSquareBoard.EqualColumnCells[k].GetTextColor());
                            isEqualColumn = true;
                            break;
                        }
                    }

                    if (isEqualColumn)
                    {
                        continue;
                    }

                    for (int k = 0; k < modelSquareBoard.EqaulRowCells.Length; k++)
                    {
                        if (modelSquareBoard.EqaulRowCells[k].BoardCoorinate.column == viewTargetCell.BoardCoorinate.column &&
                            modelSquareBoard.EqaulRowCells[k].BoardCoorinate.row == viewTargetCell.BoardCoorinate.row)
                        {
                            viewTargetCell.UpdateTrim(Color.magenta, true, modelSquareBoard.EqaulRowCells[k].GetTextColor());
                            isEqualRow = true;
                            break;
                        }
                    }

                    if (isEqualRow)
                    {
                        continue;
                    }

                    viewTargetCell.UpdateTrim(Color.grey, false, modelTargetCell.GetTextColor());
                }
            }
        }