private void CalcPoints() { if (CurNeedExeMoves.Count > 0) { MagicMoveRecord tmp = CurNeedExeMoves[0]; if (tmp.GetTime() < NextPosTime) { BacktrackingPoints.Add(tmp.GetPos()); BacktrackingPoints.Add(NextPos); } } if (BacktrackingPoints.Count <= 0) { TrackingPoints.Add(NextPos); } while (CurNeedExeMoves.Count > 0) { MagicMoveRecord tmp = CurNeedExeMoves[0]; CurNeedExeMoves.RemoveAt(0); TrackingPoints.Add(tmp.GetPos()); HistoryRecords.Add(CurMagicRecord); CurMagicRecord = tmp; } return; }