private int  _Get_PB_GBoardRCNumSmall(ref int boadRow, ref int boadCol)
        {
            int cSz = GNP00.cellSize, LWid = GNP00.lineWidth;

            boadRow = boadCol = -1;
            sysWin.Point pt = Mouse.GetPosition(PB_GBoard);
            int          cn = (int)pt.X - 2, rn = (int)pt.Y - 2;

            cn      = cn - cn / cSz - cn / (cSz * 3 + LWid) * LWid;
            boadCol = cn / cSz;
            cn      = (cn % cSz) / 12;
            if (cn < 0 || cn >= 3 || boadCol < 0 || boadCol >= 9)
            {
                boadRow = boadCol = -1; return(-1);
            }

            rn      = rn - rn / cSz - rn / (cSz * 3 + LWid) * LWid;
            boadRow = rn / cSz;
            rn      = (rn % cSz) / 12;
            if (rn < 0 || rn >= 3 || boadRow < 0 || boadRow >= 9)
            {
                boadRow = boadCol = -1; return(-1);
            }
            return(rn * 3 + cn + 1);
        }
Ejemplo n.º 2
0
 private void GNPXwin_LocationChanged(object sender, EventArgs e)           //Synchronously move open window
 {
     foreach (sysWin.Window w in Application.Current.Windows)
     {
         __GNPXwin_LocationChanged(w);
     }
     _WinPosMemo = new sysWin.Point(this.Left, this.Top);
 }
Ejemplo n.º 3
0
        public void shortMessage(string st, sysWin.Point pt, Color cr, int tm)
        {
            LbShortMes.Content    = st;
            LbShortMes.Foreground = new SolidColorBrush(cr);
            LbShortMes.Margin     = new Thickness(pt.X, pt.Y, 0, 0);

            if (tm == 9999)
            {
                timerShortMessage.Interval = TimeSpan.FromSeconds(5);
            }
            else
            {
                timerShortMessage.Interval = TimeSpan.FromMilliseconds(tm);
            }
            timerShortMessage.Start();
            LbShortMes.Visibility = Visibility.Visible;
        }
        private bool __GetRCPositionFromPattern(sysWin.Point pt, ref int row, ref int col)
        {
            int selSizeHf = GNP00.cellSizeP / 2 + 1;

            row = col = -1;
            int rn = (int)(pt.Y - GNP00.lineWidth);

            rn  = rn - rn / (selSizeHf * 3) * 2;
            row = (rn / selSizeHf);

            int cn = (int)(pt.X - GNP00.lineWidth);

            cn  = cn - cn / (selSizeHf * 3) * 2;
            col = cn / selSizeHf;

            if (row < 0 || row >= 9 || col < 0 || col >= 9)
            {
                return(false);
            }
            return(true);
        }
Ejemplo n.º 5
0
        private int  _Get_PB_GBoardRCNum( )
        {
            int cSz = GNP00.cellSize, LWid = GNP00.lineWidth;

            sysWin.Point pt = Mouse.GetPosition(PB_GBoard);
            int          cn = (int)pt.X - 2, rn = (int)pt.Y - 2;

            cn  = cn - cn / cSz - cn / (cSz * 3 + LWid) * LWid;
            cn /= cSz;
            if (cn < 0 || cn >= 9)
            {
                return(-1);
            }

            rn  = rn - rn / cSz - rn / (cSz * 3 + LWid) * LWid;
            rn /= cSz;
            if (rn < 0 || rn >= 9)
            {
                return(-1);
            }
            return(rn * 9 + cn);
        }
        private void _GeneratePatternl(bool ModeAuto)
        {
            int patSel = patSelLst.Find(p => (bool)p.IsChecked).Name.Substring(6, 2).ToInt(); //パターン形
            int nn     = 0;

            if (ModeAuto)
            {
                nn = GNP00.SDKCntrl.PatGen.patternAutoMaker(patSel);
            }
            else
            {
                sysWin.Point pt = Mouse.GetPosition(PB_pattern);
                int          row = 0, col = 0;
                if (__GetRCPositionFromPattern(pt, ref row, ref col))
                {
                    nn = GNP00.SDKCntrl.PatGen.symmetryPattern(patSel, row, col, false);
                }
            }
            SDK_Ctrl.rxCTRL = 0;     //Initialize Puzzle Generater
            _SetBitmap_PB_pattern();
            labelPattern.Content = pRes.lblNoOfCells + nn;
        }
Ejemplo n.º 7
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            _Display_GB_GBoard( );       //board setting
            _SetBitmap_PB_pattern();     //Pattern setting

            lblUnderAnalysis.Content  = "";
            Lbl_onAnalyzerM.Content   = "";
            Lbl_onAnalyzerTS.Content  = "";
            Lbl_onAnalyzerTSM.Content = "";

            //===== solution list setting =====
            GMethod00A.ItemsSource    = GNP00.GetMethodListFromFile();
            NiceLoopMax.Value         = GNPXApp000.GMthdOption["NiceLoopMax"].ToInt();
            ALSSizeMax.Value          = GNPXApp000.GMthdOption["ALSSizeMax"].ToInt();
            method_NLCell.IsChecked   = (GNPXApp000.GMthdOption["Cell"] != "0");
            method_NLGCells.IsChecked = (GNPXApp000.GMthdOption["GroupedCells"] != "0");
            method_NLALS.IsChecked    = (GNPXApp000.GMthdOption["ALS"] != "0");

            string po = (string)GNPXApp000.GMthdOption["ForceLx"];

            switch (po)
            {
            case "ForceL0": ForceL0.IsChecked = true; break;

            case "ForceL1": ForceL1.IsChecked = true; break;

            case "ForceL2": ForceL2.IsChecked = true; break;
            }

            //*==*==*==*==*==*==*==*==*==*==*==*==*==*==*==*==*==*==*==*==*==*==*
        #if !DEBUG
            GNPXApp000.GMthdOption["GeneralLogicOn"] = "0";   //GeneralLogic Off
        #endif
            //*==*==*==*==*==*==*==*==*==*==*==*==*==*==*==*==*==*==*==*==*==*==*

            po = (string)GNPXApp000.GMthdOption["GeneralLogicOn"];
            GeneralLogicOnChbx.IsChecked = (po.ToInt() == 1);

            po = (string)GNPXApp000.GMthdOption["GenLogMaxSize"];
            int GLMaxSize = po.ToInt();
            if (GLMaxSize > 0 && GLMaxSize <= (int)GenLogMaxSize.MaxValue)
            {
                GenLogMaxSize.Value = GLMaxSize;
            }

            po = (string)GNPXApp000.GMthdOption["GenLogMaxRank"];
            int GLMaxRank = po.ToInt();
            if (GLMaxRank >= 0 && GLMaxRank <= (int)GenLogMaxRank.MaxValue)
            {
                GenLogMaxRank.Value = GLMaxRank;
            }

            WOpacityCC = 0;
            startingTimer.Start();

            _WinPosMemo = new sysWin.Point(this.Left, this.Top + this.Height);

            {                                                                                               //Move the mouse cursor to Button:btnOpenPuzzleFile
                var btnQ = btnOpenPuzzleFile;
                var ptM  = new Point(btnQ.Margin.Left + btnQ.Width / 2, btnQ.Margin.Top + btnQ.Height / 2); //Center coordinates
                var pt   = grdFileIO.PointToScreen(ptM);                                                    //Grid relative coordinates to screen coordinates.
                SetCursorPos((int)pt.X, (int)pt.Y);                                                         //Move the mouse cursor
            }

            GNPXApp000._Loading_ = false;
        }