private void _timerDisplay_Tick(object sender, object e) { if (_points.Count() == 0) { DisplayMode = DisplayModeEnum.MODELE; _timerDisplay.Stop(); NavigateToFinish(); } else { CurrentExecutingProgram++; if (PointsToDisplay.Count() == 0) { _lastState = _points.Peek(); PointsToDisplay.Add(FabriqueVecteurWithState.CreateVecteur(_points.Dequeue())); } else { var _nextPoint = _points.Dequeue(); if (_lastState.Position != _nextPoint.Position && _lastState.Crayon == Etat.EtatCrayon.BAISSER) { PointsToDisplay.Add(FabriqueVecteurWithState.CreateVecteur(_lastState, _nextPoint)); } _lastState = _nextPoint; } Programme.RemoveAt(0); } }