Untitled
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