//Copy below line and paste on 9x9 grid of GNPX.
        //1..4....8.9.1...5.....63.....13.5.79..3...8..76.2.94.....75.....1...6.4.8....4..2

        public UGLinkMan2(AnalyzerBaseV2 AnB)
        {
            this.pBDL                       = AnB.pBDL;
            this.pHouseCells                = AnalyzerBaseV2.HouseCells;
            BaseSet_Status2.pHouseCells     = AnalyzerBaseV2.HouseCells;
            BaseSet_Status2.pConnectedCells = AnalyzerBaseV2.ConnectedCells;
            UGLink_unit.pConnectedCells     = AnalyzerBaseV2.ConnectedCells;
        }
示例#2
0
        //..7.2..4546.5....9.95.....7.....8.3.9...6...1.7.2...987......8384...1.5253..8.9..
        //83..76..2....85.....1...7...8...3....67...13....7...4...2...3.....24....9..63..25
        //1..4....8.9.1...5.....63.....13.5.79..3...8..76.2.94.....75.....1...6.4.8....4..2

        public UGLinkMan(AnalyzerBaseV2 AnB)
        {
            this.pBDL                      = AnB.pBDL;
            this.pHouseCells               = AnalyzerBaseV2.HouseCells;
            BaseSet_Status.pHouseCells     = AnalyzerBaseV2.HouseCells;
            UGLink.pConnectedCells         = AnalyzerBaseV2.ConnectedCells;
            BaseSet_Status.pConnectedCells = AnalyzerBaseV2.ConnectedCells;

            UGLink.pUGLM = this;
        }
        private bool extFlag;                              //3D or more sizes. ...

        public FishMan(AnalyzerBaseV2 AnB, int FMSize, int no, int sz, bool extFlag = false)
        {
            this.pBDL            = AnB.pBDL;
            this.pHouseCells     = AnalyzerBaseV2.HouseCells;       //set reference
            this.pConnectedCells = AnalyzerBaseV2.ConnectedCells;   //set reference
            this.extFlag         = extFlag;                         //sz>2 or ...
            this.no = no; this.sz = sz;
            int noB = (1 << no);                                    //Bit expression of dijit(#no)

            Bit81 Q, BPnoB = new Bit81(pBDL, noB);

            for (int tfx = 0; tfx < FMSize; tfx++)                      //crate element cells of fish
            {
                Q = pHouseCells[tfx] & BPnoB;
                if (!Q.IsZero() && !HBLst.Contains(Q))
                {
                    HBLst.Add(new Bit81F(Q, ID: tfx));                                  //Omit the same cells even in different House
                }
            }
            if (HBLst.Count < sz * 2)
            {
                HBLst = null; return;
            }                                                       //Need more than sz*2
        }