コード例 #1
0
 public PlayerHistory(Player p)
 {
     Score = p.StartingScore;
     Dart = -1;
     Response = DartReturn.Dead;
     _dart = new Scoring.Dart(new System.Windows.Forms.GroupBox(), 0, Scoring.Dart.ScoreType.Other);
 }
コード例 #2
0
        public PlayerHistory(Player p, PlayerHistory prev, Dart dart)
        {
            _player = p;
            _dart = dart;
            _prev = prev;
            bool dn = (_prev.Response == DartReturn.Dead || _prev.Response == DartReturn.Next);

            Dart = (dn) ? 0 : _prev.Dart + 1;
            Response = DartResponse();

            _turn = _prev._turn;
            if (dn)
                _turn++;
            _historyGroup = GetHistoryGroup();

            if (Response == DartReturn.Dead)
            {
                PlayerHistory ph = _prev;
                while (_turn == ph._turn)
                    ph = ph._prev;
                Score = ph.Score;
            }
            else Score = _prev.Score - _dart.TotalScore;
        }