コード例 #1
0
ファイル: Line.cs プロジェクト: runerback/SudokuSolver
 internal static Line Row(int index, GridLine segment1, GridLine segment2, GridLine segment3)
 {
     return(new Line(index, segment1, segment2, segment3)
     {
         lineType = LineType.Row
     });
 }
コード例 #2
0
ファイル: Line.cs プロジェクト: runerback/SudokuSolver
 internal static Line Column(int index, GridLine segment1, GridLine segment2, GridLine segment3)
 {
     return(new Line(index, segment1, segment2, segment3)
     {
         lineType = LineType.Column
     });
 }
コード例 #3
0
ファイル: Grid.cs プロジェクト: runerback/SudokuSolver
        internal Grid(Sudoku sudoku, int index)
        {
            this.sudoku = sudoku;
            this.index  = index;

            var elements = Enumerable.Range(0, 9)
                           .Select(item => new Element(index, item))
                           .ToArray();

            var rows = new GridLine[3]
            {
                GridLine.Row(this, 0, elements[0], elements[1], elements[2]),
                GridLine.Row(this, 1, elements[3], elements[4], elements[5]),
                GridLine.Row(this, 2, elements[6], elements[7], elements[8])
            };

            this.row1 = rows[0];
            this.row2 = rows[1];
            this.row3 = rows[2];
            this.rows = rows;

            var columns = new GridLine[3]
            {
                GridLine.Column(this, 0, elements[0], elements[3], elements[6]),
                GridLine.Column(this, 1, elements[1], elements[4], elements[7]),
                GridLine.Column(this, 2, elements[2], elements[5], elements[8])
            };

            this.column1 = columns[0];
            this.column2 = columns[1];
            this.column3 = columns[2];
            this.columns = columns;

            this.elements = elements;
        }
コード例 #4
0
ファイル: Line.cs プロジェクト: runerback/SudokuSolver
        private Line(int index, GridLine segment1, GridLine segment2, GridLine segment3)
        {
            this.index = index;

            this.segments = new GridLine[3] {
                segment1, segment2, segment3
            };
            this.elements = new Element[9]
            {
                segment1.Element1, segment1.Element2, segment1.Element3,
                segment2.Element1, segment2.Element2, segment2.Element3,
                segment3.Element1, segment3.Element2, segment3.Element3
            };
            this.segment1 = segment1;
            this.segment2 = segment2;
            this.segment3 = segment3;
        }