Untitled

 avatar
unknown
plain_text
a month ago
4.5 kB
5
Indexable
#include <stdio.h>

void Bispo(int opcao, int casas)
{
    if (casas > 0)
    {
        switch (opcao)
        {
        case 1:
            for (int i = 1; i <= 1; i++)
            {
                for (int j = 1; j <= 1; j++)
                {
                    printf("Cima-");
                }
                printf("Direita\n");
            }
            Bispo(opcao, casas - 1);
            break;

        case 2:
            for (int i = 1; i <= 1; i++)
            {
                for (int j = 1; j <= 1; j++)
                {
                    printf("Cima-");
                }
                printf("Esquerda\n");
            }
            Bispo(opcao, casas - 1);
            break;

        case 3:
            for (int i = 1; i <= 1; i++)
            {
                for (int j = 1; j <= 1; j++)
                {
                    printf("Baixo-");
                }
                printf("Direita\n");
            }
            Bispo(opcao, casas - 1);
            break;

        case 4:
            for (int i = 1; i <= 1; i++)
            {
                for (int j = 1; j <= 1; j++)
                {
                    printf("Baixo-");
                }
                printf("Esquerda\n");
            }
            Bispo(opcao, casas - 1);
            break;

        default:
            printf("Opção Inválida!");
            break;
        }
    }
}

void QuantidadeCasasBispo(int opcao, int *casas)
{
    scanf("%d", casas);
    if (*casas < 0 || *casas > 8)
    {
        printf("Digite um valor acima de 0 ou maior que 8!!!\n");
    }
    else
    {

        Bispo(opcao, *casas);
    }
}

void Torre(int opcao, int casas)
{

    if (casas > 0)
    {
        switch (opcao)
        {
        case 1:
            printf("À Frente\n");
            Torre(opcao, casas - 1);
            break;

        case 2:
            printf("Atrás\n");
            Torre(opcao, casas - 1);
            break;

        case 3:
            printf("Direita\n");
            Torre(opcao, casas - 1);
            break;

        case 4:
            printf("Esquerda\n");
            Torre(opcao, casas - 1);
            break;

        default:
            printf("Opção inválida");
            break;
        }
    }
}

void quantidadeCasasTorre(int opcao, int *casas)
{
    scanf("%d", casas);
    if (*casas < 0 || *casas > 8)
    {
        printf("Digite um valor acima de 0 ou maior que 8!!!\n");
    }
    else
    {
        Torre(opcao, *casas);
    }
}

int main()
{

    int opcao, casas;

    printf("-----------Bispo-----------\n\n");
    printf("Digite a direção que você quer mover o Bispo.\n");
    printf("1. Diagonal Superior Direita\n");
    printf("2. Diagonal Superior Esquerda\n");
    printf("3. Diagonal Inferior Direita\n");
    printf("4. Diagonal Inferior Esquerda\n");
    scanf("%d", &opcao);

    switch (opcao)
    {
    case 1:
        printf("Quantas casas quer movimentar para à Diagonal Superior Direita?: ");
        QuantidadeCasasBispo(opcao, &casas);
        break;

    case 2:
        printf("Quantas casas quer movimentar para à Diagonal Superior Esquerda?: ");
        QuantidadeCasasBispo(opcao, &casas);
        break;

    case 3:
        printf("Quantas casas quer movimentar para à Diagonal Inferior Direita?: ");
        QuantidadeCasasBispo(opcao, &casas);
        break;

    case 4:
        printf("Quantas casas quer movimentar para à Diagonal Inferior Esquerda?: ");
        QuantidadeCasasBispo(opcao, &casas);
        break;

    default:
        printf("Opção Inválida!!!\n");
        break;
    }

    printf("\n\n-----------Torre-----------\n\n");
    printf("Digite a direção que você quer mover a Torre.\n");
    printf("1. À frente\n");
    printf("2. Atrás\n");
    printf("3. Direita\n");
    printf("4. Esquerda\n");
    scanf("%d", &opcao);

    switch (opcao)
    {
    case 1:
        printf("Quantas casas quer movimentar para À frente?: ");
        quantidadeCasasTorre(opcao, &casas);
        break;
    case 2:
        printf("Quantas casas quer movimentar para Trás?: ");
        quantidadeCasasTorre(opcao, &casas);
        break;
    case 3:
        printf("Quantas casas quer movimentar para Direita?: ");
        quantidadeCasasTorre(opcao, &casas);
        break;
    case 4:
        printf("Quantas casas quer movimentar para Esquerda?: ");
        quantidadeCasasTorre(opcao, &casas);
        break;
    default:
        printf("Opção Inválida!!!!");
        break;
    }

    return 0;
}
Editor is loading...
Leave a Comment