Esempio n. 1
0
        public void StartInternal()
        {
            int moves = test.PlayerMoves;
            if (moves == 0)
                moves = int.MaxValue;

            var board = this.BoardControl.StartNew(test.GetPlayer(PlayerColor.White), test.GetPlayer(PlayerColor.Black), test.FEN);

            var mouseSensor = new Sensors.MouseSensor(this.BoardControl);
            this.sensorContainer = new Sensors.SensorContainer(mouseSensor, new Sensors.TobiiEyeTracker.EyeTrackerSensor(this.BoardControl));
            this.fileName = "recorded-files\\" + Guid.NewGuid() + ".chess";
            this.writer = new IO.ChessStreamWriter(board, sensorContainer, fileName);

            board.PieceMoved += move => { if (board.CurrentPlayer.PlayerColor == PlayerColor.White) return; moves--; if (moves == 0) this.Finish(board); };
            board.Start();
            this.stopWatch = System.Diagnostics.Stopwatch.StartNew();
        }
Esempio n. 2
0
            public CurrentTest(VolkeTestItem test, BoardControl boardControl, DateTime questionDate, DateTime startDate, DateTime overallStartDate)
            {
                this.StartDate = startDate;
                this.QuestionDate = questionDate;
                this.overallStartDate = overallStartDate;
                this.Stopwatch = System.Diagnostics.Stopwatch.StartNew();
                this.Test = test;
                var board = boardControl.StartNew(new Player(), new Player(), test.FEN);

                //var mouseSensor = new Sensors.MouseSensor(boardControl);
                this.RecordFile = "recorded-files\\" + Guid.NewGuid() + ".chess";
                this.sensorContainer = new Sensors.SensorContainer();
                this.writer = new IO.ChessStreamWriter(board, sensorContainer, this.RecordFile);
            }
Esempio n. 3
0
        private void newGameToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var config = NewGameForm.Show(this);
            if (config == null)
                return;

            if (spectatorServer != null)
                ((IDisposable)spectatorServer).Dispose();

            var board = this.boardControl.StartNew(config.White, config.Black);

            var mouseSensor = new Sensors.MouseSensor(this.boardControl);
            var eyeTrackerSensor = new Sensors.TobiiEyeTracker.EyeTrackerSensor(this.boardControl);
            var sensorContainer = new Sensors.SensorContainer(mouseSensor, eyeTrackerSensor);

            var output = new ProxiedMemoryStream(File.Create(DateTime.Now.ToString("yyyMMddmmss") + ".chess"));
            spectatorServer = new SpectatorServer(board, sensorContainer);
            var writer = new IO.ChessStreamWriter(board, sensorContainer, output);

            if (config.White.IsReady && config.Black.IsReady)
                board.Start();
            else
                this.boardControl.ShowMessage("Waiting for remote player", board.Start, () => config.White.IsReady && config.Black.IsReady);
        }