An open API service indexing awesome lists of open source software.

https://github.com/julianamancera/corgi-chess


https://github.com/julianamancera/corgi-chess

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

        

# Corgi Chess
    The Corgi Chess is a adaption of a traditional chess game that employs the Generate and Test Algorithm to facilitate move generation, validation, and evaluation. It has features such as delightful cute-themed pieces and a charming 8x8 board. The objective is to checkmate the opponent's corgi king, securing victory in the realm of canine strategy.

## How to Play the Game?
+ Begin by downloading and extracting the provided zip folder.
+ Find and Run the **ChessMain** class.

![image](https://github.com/Julsaurus/Corgi-Chess/assets/133284711/57625ebc-b68a-4bf0-afab-37e8444136d1)

![image](https://github.com/Julsaurus/Corgi-Chess/assets/133284711/f57571b8-ef2d-49e2-aa0b-e2cb7e72bbf6)

## Generate and Test Search Algorithm
+ As the final project in the Design and Analysis of Algorithms course, this game shows the implementation of Generate and Test Search, which is commonly used for decision-making when an exhaustive search of all possible moves is impractical due to the game's complexity.

### Move Generation
+ The game algorithm dynamically generates all possible moves for each player based on the current board configuration, meticulously adhering to each piece's unique movement rules.
### Move Validation
+ The algorithm carefully verifies each one to make sure it complies with chess rules, blocking moves that might threaten a player's king or break other rules of the game.
### Move Evaluation
+ The algorithm evaluate every move's strategic value, taking into account several aspects like material gain, piece mobility, and king safety. This allows the game to make educated choices as it progresses.

## Chess Piece Move Rules
+ **KING** - Moves one square in any direction.
+ **QUEEN** - Moves any number of squares diagonally, horizontally, or vertically.
+ **ROOK** - Moves any number of squares horizontally or vertically.
+ **BISHOP** - Moves any number of squares diagonally.
+ **KNIGHT** - Moves in an ‘L-shape,’ two squares in a straight direction, and then one square perpendicular to that.
+ **PAWN** - Moves one square forward, but on its first move, it can move two squares forward. It captures diagonally one square forward.

## Contributors (2BSCS-1)

Programmers | Github Profile
:---: | :---:
Juliana R. Mancera | [https://github.com/Julsaurus]
Etienne V. Banquil | [https://github.com/AintFritZ]
Aliyah Aira A. Llana | [https://github.com/AliyahAira]