Exemple #1
0
        // Muestra la solución obtenida paso a paso y con una animación
        private void ShowSolution(List <Operator> operators, Metrics metrics)
        {
            // el resultado lo tenemos que mostrar de manera animada, haciendo acción tras acción
            foreach (Operator op in operators)
            {
                Position position = solver.GetOperatedPosition(puzzle, op);
                board.Move(board.GetBlock(position), BlockBoard.AI_DELAY);
                Debug.Log("Applying " + op.ToString() + " operator");
            }

            steps = Convert.ToUInt32(operators.Count);

            UpdateInfo();

            // Mostrar tanto el resultado como las métricas... lo mismo incluso paso a paso y en otro color, para diferenciar cómo quedan al terminar :-)
            //...las métricas pintarlas pintar por la pantalla o en fichero
            Debug.Log("Métrics: " + metrics.ToString()); // hacer bucle para mostrarlas todas
        }
Exemple #2
0
        // Muestra la solución obtenida paso a paso y con una pequeña animación o pausa
        private void ShowSolution(List <Operator> operators)
        {
            if (operators.Count == 1 && operators[0].isNoOperator())
            {
                steps = 0;
            }
            else
            {
                foreach (Operator op in operators)   // Pausar tras cada movimiento realizado
                {
                    Position position = solver.GetOperatedPosition(puzzle, op);
                    board.Move(board.GetBlock(position), BlockBoard.AI_DELAY);
                    Debug.Log("Applying " + op.ToString() + " operator");
                }

                steps = Convert.ToUInt32(operators.Count);
            }

            metricsString.text = metrics.ToString();
            UpdateHUD();

            // Mostrar tanto el resultado como las métricas... se podría mostrar paso a paso y en otro color, para diferenciar cómo queda todo al terminar
        }