Esempio n. 1
0
        private void Create()
        {
            var set    = new SettingsStore();
            var screen = ImageAnalysis.CaptureScreen(set);
            var titles = ImageAnalysis.SliceTitles(screen);
            var side   = ImageAnalysis.DetectSide(titles);

            if (side == Side.White)
            {
                Data.Add(ImageAnalysis.GetImageHash(titles[0], set.Hash, set.Window, set.WhiteBright, set.BlackBright));
                Data.Add(ImageAnalysis.GetImageHash(titles[1], set.Hash, set.Window, set.WhiteBright, set.BlackBright));
                Data.Add(ImageAnalysis.GetImageHash(titles[2], set.Hash, set.Window, set.WhiteBright, set.BlackBright));
                Data.Add(ImageAnalysis.GetImageHash(titles[3], set.Hash, set.Window, set.WhiteBright, set.BlackBright));
                Data.Add(ImageAnalysis.GetImageHash(titles[4], set.Hash, set.Window, set.WhiteBright, set.BlackBright));
                Data.Add(ImageAnalysis.GetImageHash(titles[8], set.Hash, set.Window, set.WhiteBright, set.BlackBright));
                Data.Add(ImageAnalysis.GetImageHash(titles[63], set.Hash, set.Window, set.WhiteBright, set.BlackBright));
                Data.Add(ImageAnalysis.GetImageHash(titles[62], set.Hash, set.Window, set.WhiteBright, set.BlackBright));
                Data.Add(ImageAnalysis.GetImageHash(titles[61], set.Hash, set.Window, set.WhiteBright, set.BlackBright));
                Data.Add(ImageAnalysis.GetImageHash(titles[60], set.Hash, set.Window, set.WhiteBright, set.BlackBright));
                Data.Add(ImageAnalysis.GetImageHash(titles[59], set.Hash, set.Window, set.WhiteBright, set.BlackBright));
                Data.Add(ImageAnalysis.GetImageHash(titles[55], set.Hash, set.Window, set.WhiteBright, set.BlackBright));
                Data.Add(ImageAnalysis.GetImageHash(titles[40], set.Hash, set.Window, set.WhiteBright, set.BlackBright));
            }
            WriteData();
        }
Esempio n. 2
0
        public void Run(CancellationTokenSource ct, Form1 form)
        {
            if (!CustomGame)
            {
                MySide = ImageAnalysis.DetectSide(ImageAnalysis.SliceTitles(ImageAnalysis.CaptureScreen(Settings)));
            }
            else
            {
                MySide = Board.SideToMove;
            }
            Log.Report(MySide);
            form.Log("" + MySide);
            var side = new Side(MySide.ToString());
            var re   = new ManualResetEvent(false);

            Task.Run(() =>
            {
                while (!ct.Token.IsCancellationRequested)
                {
                    DetectedTurn = DetectTurn(ct);
                    re.Set();
                    Log.Report(DetectedTurn + "");
                }
                re.Set();
            });
            while (!ct.Token.IsCancellationRequested)
            {
                if (side == Side.White)
                {
                    Task.Run(() =>
                    {
                        var turn = MakeTurn(ct, form.Suggest);
                        if (form.Suggest)
                        {
                            form.Log(turn.ToString());
                        }
                    });
                }
                side.Switch();
                re.WaitOne();
                re.Reset();
                Board.TurnIn(DetectedTurn);
                form.Log(DetectedTurn + "");
            }
            form.Log(GameDone);
            Log.Report(GameDone);
        }