private void DoAnimation() { TimerAnimation.Stop(); Etape++; if (Etape > NbEtapes) { if (ResolutionAutomatiqueEnCours) { Trace("ResolutionAutomatiqueAvancePosition"); int posVide = Jeu.ResolutionAutomatiqueAvancePosition(); if (Jeu.ResolutionAutomatiqueIsResolu()) { AnimationEnCours = false; ResolutionAutomatiqueEnCours = false; ResolutionAutomatiqueOver?.Invoke(this, EventArgs.Empty); PbPlateau.Refresh(); return; } DeltaDrawAnimation = ResoudreAutomatiquementCalculeDeltaDrawAnimation(); Etape = 0; } else { int posVide = Jeu.PositionPiece(Jeu.CaseVide); posVide += DeltaAnimation; Jeu.SwitchVide(posVide); if (posVide == PosDestination) { AnimationEnCours = false; PbPlateau.Refresh(); return; } Etape = 0; PosPieceAnimation = posVide + DeltaAnimation; } } PbPlateau.Refresh(); TimerAnimation.Start(); }
public void ChangeImage(Image image) { Image = image; PbPlateau.Refresh(); }