The application is a checkers game developed in C# for the .NET framework, featuring a user-vs-CPU gameplay on a standard 8x8 checkers board. This application showcases interactive gameplay mechanics and a secondary application acting as a real-time game status window via named pipes.
Manages the overall game flow, initializing the game state and handling the progression of gameplay.
Represents the game board, storing the state and contents of each square.
Abstract base class Pawn
with derived classes for player and CPU pawns, incorporating symbols and end-of-board logic specific to each.
Oversees pawn placement and movement on the board.
Monitors and adjusts the game state, including turn changes and win/loss conditions.
Evaluates potential pawn movements to ensure they adhere to the rules of checkers.
Implements decision logic for CPU pawn movements.
Facilitates communication, sending game statuses and messages to the user.
A companion application, Z2J_CheckersGameStatus
, operates alongside the main game to display real-time status updates and messages through a named pipe server ("GameStatusPipe"). This enhances the gameplay experience with live feedback.
Both applications require a .NET capable environment. Dependencies are configured via DependencyInjectionConfig
using Microsoft.Extensions.DependencyInjection
.
- Ensure both the main game and the status window applications are executed concurrently for the full experience.