Ir para conteúdo
Fórum Script Brasil
  • 0

Duvida.


HugoAlex

Pergunta

Oi, eu sou novo no fórum, e também sou iniciante em linguagem C. Uso o programa codeblock e gostaria de uma ajuda se possível.

Eu faço faculdade de engenharia elétrica e tenho como projeto um jogo de xadrez.

A idéia básica do projeto, é imprimir se um dos dois reis estão em xeque.

Se não for pedir muito e alguém puder me ajudar.

Queria uma ajuda nisso.

Aqui estão os exemplo de entrada e saída:

4.1- Entrada

entrada.txt

Dh2 rh4 Ra4 Pd4 dd8

Neste exemplo de entrada, a Dama Branca está na célula h2, o Rei Preto na h4, o Rei Branco

na a4, o Peão Branco na d4 e a Dama Preta na d8. Dado este prosicionamento seu programa

deve dizer se os reis estão em xeque. Além disso, dizer que peça está em eminência de

realizar o ataque ao rei em questão.

4.2 - Saída

O formato de saída do programa deve seguir EXATAMENTE como

descrito a seguir. Qualquer desrespeito ao formato acarretará

diminuição da nota, e em casos extremos, a não correção do trabalho.

Por exemplo, se o Rei Preto na casa h6 estiver em xeque com a Dama Branca na casa

h1 seu programa deve responder:

Rei Preto (h,6) - Dama Branca (h,1)

Se o Rei Branco na casa h3 estiver sob ataque da Torre Preta na a3, fica:

Rei Branco (h,3) - Torre Preta (a,3)

Se o Rei Preto b4 estiver em xeque com o Cavalo Branco na d3:

Rei Preto (b,4) - Cavalo Branco (d,3)

Se o Rei Branco na casa a1 estiver em Xeque com o Bispo Preto na casa h8:

Rei Branco (a,1) - Bispo Preto (h,8)

E assim sucessivamente para todas as possições posições que podem ocorrer dependendo da

entrada.

No entanto, pode existir a possibilidade da entrada não causar a situação de xeque, logo o seu

programa deve mostrar a seguinte mensagem:

sem xeque

eu dei uma começada nele, mas não sei ao certo se vai dar certo.

# include <stdio.h>

int main ()

{

int i, j, num=1, tabuleiro[10][10];

char peca[100];

for(i=1; i<9; i++) {

for(j=1; j<9; j++) {

tabuleiro[j] = num;

num++;

}

}

scanf("%s", &peca);

if(peca[1] == 'a')

peca[1] = 8;

else if(peca[1] == 'b')

peca[1] = 7;

else if(peca[1] == 'c')

peca[1] = 6;

else if(peca[1] == 'd')

peca[1] = 5;

else if(peca[1] == 'e')

peca[1] = 4;

else if(peca[1] == 'f')

peca[1] = 3;

else if(peca[1] == 'g')

peca[1] = 2;

else if(peca[1] == 'h')

peca[1] = 1;

tabuleiro[peca[1]][peca[2]] = 0;

for(i=1; i<9; i++) {

for(j=1; j<9; j++) {

printf("%d ", tabuleiro[j]);

}

printf("\n");

}

system("pause");

return 0;

}

ah e me desculpe, se já tem no forum e eu não achei.

mas eu procurei e não achei nada parecido

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...