Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Projeto para a disciplina Programação Orientada a Objetos

Notifications You must be signed in to change notification settings

JeanExtreme002/Chess-Battle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

301 Commits

Repository files navigation

Sobre:

Este é um projeto para a disciplina Programação Orientada a Objetos (MATA-55) — um jogo de Xadrez, com modo local e online, criado em Python 3 puro, utilizando a biblioteca pyglet, por recomendação do professor.

Preparando o ambiente:

Para executar o jogo, é necessário ter instalado o Python 3.9, ou superior.

Instale as suas dependências utilizando o comando abaixo:

pip install -r requirements.txt

Features:

Controles:

Para jogar, você pode utilizar o mouse, selecionando e movendo uma peça, clicando com o Botão Esquerdo. Também é possível jogar com o teclado, utilizando o sistema de notação algébrica de xadrez. Para tal, escolha primeiramente a coluna e, logo em seguida, a linha da peça a ser movida. Faça o mesmo para a seleção do destino. Após isso, aperte ENTER ou SPACE para finalizar o movimento.

Outras teclas úteis são: F12 para capturas de tela e ESC para voltar ao menu.

Observação: a captura de tela será salva no diretório data/screenshots.

Modo Online:

Para jogar online, abra a tela de configurações e altere, se necessário, o seu endereço IP e o número PORT.

É necessário que um dos jogadores seja o host da partida. Supondo que você seja o host, envie o seu endereço IP e número PORT ao outro jogador. Após isso, clique no botão "Play as Host". Posteriormente, o outro jogador deverá clicar no botão "Play as Client". Dessa forma, a conexão estará estabelecida e a partida iniciará automaticamente.

Temática de Derrota: Ao ser derrotado em uma partida online, o tema do jogo muda, voltando ao normal somente depois que conseguir uma vitória, no modo local ou online

Modo Replay:

Todas as partidas, modo local ou online, são salvas automaticamente após o término do jogo, isto é: se não houver abandono durante o jogo. Para conferir o replay de uma partida, acesse a tela de histórico e navegue pela lista, buscando o jogo que deseja. Após isso, inicie o replay.

Através do controlador, localizado abaixo do placar do jogo, você poderá retroceder, avançar, pausar ou prosseguir com o jogo. No modo replay, não é possível alterar as jogadas dinamicamente.

Conquistas e Easter Eggs:

O jogo conta com um sistema de conquistas, no qual existem determinados eventos, espalhados pelo programa, que liberam conquistas para o jogador. Essas conquistas podem ser visualizadas novamente na tela de conquistas. Além disso, o jogo também conta com Easter Eggs. Em outras palavras, boa caçada!!

Título Informativo:

Preste atenção ao título da janela em determinadas telas. Elas podem conter informações úteis como, por exemplo: na tela de histórico, o título da janela informa o índice do jogo em questão e quantos jogos foram registrados.

Criptografia:

Com o objetivo de proteger a integridade do jogo, o tráfego dos dados, tal como o arquivo de configurações, é protegido utilizando o pacote crpytography. Talvez essa não seja a melhor solução para a proteção de dados, mas é suficiente para proteger o jogo de cheats :)

Configurações:

O jogo atualmente conta com algumas opções do configurações, descritas abaixo:

  • Resolução de Tela
  • Volume de Efeitos Sonoros
  • Volume de Músicas
  • Endereço IP e Número PORT

Detecção de Xeque:

Quando o seu rei está em xeque, somente jogadas que o farão sair do xeque estarão liberadas.

Riqueza no SFX:

Demos atenção ao detalhe de cada peça e ação durante o jogo possuir seu próprio efeito sonoro.

Arquivo de Log:

Caso algum erro ocorra durante o jogo, o mesmo será salvo no arquivo log.txt. Nessa situação, por gentileza, nos encaminhe o arquivo para que possamos solucionar o problema e melhorar o jogo.

About

Projeto para a disciplina Programação Orientada a Objetos

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

Languages

AltStyle によって変換されたページ (->オリジナル) /