Untitled
Anonymous
Plain Text
03/01/2025 1:01 AM
4.4 KB
19
Indexable
Never
#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