Exemplo n.º 1
0
        protected override void ExecuteInstructionSimple(InstructionSimple instruction)
        {
            JoueurEnCours.EtatJoueur.Angle += instruction.EtatFinal.Angle;
            JoueurEnCours.EtatJoueur.Angle = JoueurEnCours.EtatJoueur.Angle % 360.0;
            if (JoueurEnCours.EtatJoueur.Crayon != Etat.EtatCrayon.SAME)
                JoueurEnCours.EtatJoueur.Crayon = instruction.EtatFinal.Crayon;

            if (instruction.EtatFinal.Position != null)
            {
                Point position = instruction.EtatFinal.Position;
                Point imageRotation = position.Rotate(JoueurEnCours.EtatJoueur.Angle);

                Point positionJoueur = JoueurEnCours.EtatJoueur.Position;
                Point image = positionJoueur.Add(imageRotation);

                if (JoueurEnCours.EtatJoueur.Crayon == Etat.EtatCrayon.BAISSER)
                {
                    IVecteur vect = FabriqueVecteur.getVecteur(niveauEnCours.Type, JoueurEnCours.EtatJoueur.Position, image);
                    FormeEnCours.Add(vect);
                }
                JoueurEnCours.EtatJoueur.Position = image;
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// Execute une instruction simple
 /// </summary>
 /// <param name="instruction">Instruction a executer</param>
 protected abstract void ExecuteInstructionSimple(InstructionSimple instruction);