Tabuleiro de xadrez desenvolvido na linguagem Java, com todas as peças e seus respectivos movimentos (especiais inclusos: roque, en passant, promoção). Neste projeto foram utilizados os conceitos de construtores, herança, polimorfismo, encapsulamento, modificadores de acesso, métodos abstratos, sobrecarga e os demais principais tópicos dentro da programação orientada a objetos. Implementadas lógicas para cheque e cheque mate. Utilizamos tratamento de exceções e programação defensiva, para que todas as regras do jogo sejam respeitadas, e caso uma jogada não permitida seja realizada, o programa não quebrará, permitindo assim que o jogador tente novamente até que um movimento permitido seja realizado.
Neste jogo, o turno avança quando ambos jogadores fizerem suas jogadas.
O programa não permite que o jogador coloque a si mesmo em posição de cheque.
O programa não permite que um jogador movimente uma peça adversária.
Espero que gostem!
==
Developed chess board on Java language, with all the pieces and their movements (special moves includes: castling, en passant, promotion). In this project was utilized the concept of constructors, inheritance, polymorphism, encapsulation, access modifiers, abstract methods, overloading, and the other main topics on object oriented programming. Implemented check and checkmate logic. We utilized exception treatment and defensive programming, so every rule of the game can be respected, and in the of an unallowed move is made, the program won't break down, allowing the player to keep trying until an acceptable move is made.
In this game, the turn changes once both players have made their moves.
The program does not allow the players to put themselves at check position.
The program does not allow the player to move and opponent piece.
Hope you like it!
- P - Pawn
- R - Rook
- N - Knight
- B - Bishop
- Q - Queen
- K - King