Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Joao Neyri

C Trabalho - Xadrez em C

Recommended Posts

Bom dia gente, estou aqui para pedir ajudar ou idéias de como fazer um trabalho que me foi passado esse mês e estou perdidasso!

 

Segue o trabalho abaixo.

 

"Deve-se implementar um projeto no devc++ implementando as diversas funcionalidades já desenvolvidas de forma modular, ou seja, funções diferentes para cada tarefa. Ex:

- Uma função que aloca um tabuleiro dinamicamente
- Uma função que inicializa o tabuleiro, preenchendo todas as peças
- Uma função que imprime o tabuleiro, com coordenadas nas bordas para orientação
- Uma função que aplica uma jogada no tabuleiro baseado em coordenadas

Para esta tarefa, deve se observar as coordenadas de xadrez: https://pt.wikipedia.org/wiki/Notação_algébrica_de_xadrez . A função que aplica jogadas deve ler uma letra e um numero ao invés de dois números, ex. a 7, b 8, c 2; e após traduzir para as coordenadas da matriz. OBS. podem deixar um espaço entre a letra e a coordenada numérica, diferente de como é a notação oficial, ex. a 7 ao invés de a7, pois isto facilita a tarefa. Pode-se usar, por exemplo um scanf("%c %f"...


O projeto deve conter pelo menos 3 arquivos:


- chess.c (ou xadrez.c, caso preferirem): contendo a implementação das funções
- chess.h: header que contém as assinaturas e vai ser adicionado ao arquivo main
- main.c: arquivo que vai conter a função main e chamar as funções do jogo de xadrez. Deve conter um laço para continuamente pedir jogadas para serem feitas no tabuleiro, e imprimí-lo."

 

Nâo comecei ainda o trabalho pois estou apavorado kkkk, nao estou acostumado a fazer coisas do 0, meu professor sempre passava uma base antes, mas desta vez ele quer que façamos do 0! Se alguem conseguir me dar alguma luz de como fazer ficarei grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro tenha certeza de quais são os requisitos do programa.

 

 

Nesse enunciado não diz que tem verificar a validade da jogada, não diz que o programa deve verificar e seguir regras do jogo de xadrez, não diz que deve verificar se a peça movida é uma das peças do jogador da vez, não precisa checar vitória, derrota ou empate.

 

Se este realmente é o caso, isso simplifica muito o problema, pois pode tratar como se fosse um simples tabuleiro físico real, ou seja, não existe limitação, ou seja qualquer peça pode ser movida para qualquer lugar do tabuleiro, as limitações são impostas pelas pessoas jogando o jogo que seguem as regras do jogo de xadrez.

 

Então você só precisa garantir algumas funcionalidades simples pra tornar todas as jogadas do xadrez possíveis:

 

- Qualquer peça pode ser movida a qualquer momento, e "vez do jogador branco ou preto" não importa: Isso serve para permitir fazer a jogada ROQUE, na qual 2 peças do mesmo jogador/cor/lado são movidas em 1 única jogada.

 

- Ser possível adicionar/substituir peças no tabuleiro: Para permitir substituir um peão que chegou a última linha do tabuleiro por outra peça (normalmente a rainha).

 

- Ser possível retirar/remover peças do tabuleiro: Para permitir fazer a captura de pião En passant .

 

E seu programa não é responsável por seguir as regras do jogo, os jogadores devem segui-las.

 

 

 

Entretanto se a proposta for fazer um jogo de xadrez completo, com todas as restrições das regras, movimentos possíveis, jogadas validadas, e verificação de condições de fim de jogo, o programa se torna muito mais complexo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×