Exemplo n.º 1
0
 /// <summary>
 ///		Convierte los datos básicos del movimiento
 /// </summary>
 private void ConvertMovementBase(BaseMovementModel movementPgn, MovementBaseModel movement)
 {
     // Asigna los comentarios
     foreach (string comment in movementPgn.Comments)
     {
         movement.Comments.Add(comment);
     }
     // Asigna la información
     foreach (InfoMovementModel info in movementPgn.Info)
     {
         movement.Info.Add(new MovementInfoModel(info.Content));
     }
 }
Exemplo n.º 2
0
        /// <summary>
        ///		Obtiene el movimiento anterior
        /// </summary>
        private MovementFigureModel GetPreviousMovement()
        {
            // Busca el siguiente movimiento de tipo figura (se salta los comentarios si había alguno)
            while (--ActualMovementIndex > -1)
            {
                MovementBaseModel movement = ActualVariationGame.Movements[ActualMovementIndex];

                if (movement is MovementFigureModel movementFigure)
                {
                    return(movementFigure);
                }
            }
            // No ha encontrado ningún movimiento anterior
            return(null);
        }
Exemplo n.º 3
0
        /// <summary>
        ///		Escribe los datos de un movimiento
        /// </summary>
        private void WriteMovement(int indent, MovementBaseModel baseMovement)
        {
            // Cabecera
            Console.Write(new string('\t', indent));
            // Número de movimiento
            Console.Write($"{baseMovement.Turn.Number} - {baseMovement.Turn.Type.ToString()} ");
            // Datos del movimiento
            switch (baseMovement)
            {
            case MovementGameEndModel result:
                Console.Write(result.Result.ToString());
                break;

            case MovementFigureModel movement:
                Console.Write(movement.ToString());
                break;
            }
            // Información
            if (baseMovement.Info.Count > 0)
            {
                foreach (MovementInfoModel info in baseMovement.Info)
                {
                    Console.Write($" --> Info {baseMovement.Info.IndexOf(info).ToString()} - [{info.Content}]");
                }
            }
            // Comentarios
            if (baseMovement.Comments.Count > 0)
            {
                foreach (string comment in baseMovement.Comments)
                {
                    Console.Write($" --> Comment {baseMovement.Comments.IndexOf(comment).ToString()} - [{comment}]");
                }
            }
            else
            {
                Console.Write(" No comments");
            }
            // Salto de línea
            Console.WriteLine();
        }
Exemplo n.º 4
0
        /// <summary>
        ///		Convierte una variación
        /// </summary>
        private MovementVariationModel ConvertVariation(VariationModel variation, MovementBaseModel parent)
        {
            MovementVariationModel movementVariation = new MovementVariationModel(parent);
            SquareModel            board             = Board.Clone();

            // Ajusta el movimiento al color de inicio de la variación
            board.Parameters.IsWhiteMove = variation.Movements[0].Turn.Type == TurnModel.TurnType.White;
            // Presenta el tablero
            //#if DEBUG
            //	System.Diagnostics.Debug.WriteLine("Board for variation:");
            //	System.Diagnostics.Debug.WriteLine(board.GetText());
            //	System.Diagnostics.Debug.WriteLine(new string('-', 80));
            //#endif
            // Convierte los movimientos
            movementVariation.Movements.AddRange(new MovementConversor(board).Convert(variation.Movements));
            // Presenta el tablero real
            //#if DEBUG
            //	System.Diagnostics.Debug.WriteLine("Board after variation:");
            //	System.Diagnostics.Debug.WriteLine(Board.GetText());
            //	System.Diagnostics.Debug.WriteLine(new string('-', 80));
            //#endif
            // Devuelve la variación
            return(movementVariation);
        }