Coder Social home page Coder Social logo

checkers-game's Introduction

Checkers-Game

This is a C# project utilizing WPF (.NET Framework) and MVVM (Model-View-ViewModel) design pattern implementing a checkers game.

Description

The Checkers game features two sets of pieces: white and red. The game board is 8x8. The player with the red pieces makes the first move, followed by alternating moves from each player. The application visually indicates which player's turn it is and displays the number of remaining pieces for each player.

Types of Moves:

  • Simple Move: A piece moves one square diagonally forward. If a piece reaches the opponent's back row, it becomes a "king" and can move both forward and backward diagonally.
  • Capture: If a player's piece can capture an opponent's piece by jumping over it diagonally, the captured piece is removed from the board. The player must capture if possible.
  • Multiple Jumps: If a player captures an opponent's piece and there's another capture opportunity nearby, the player must continue capturing until no more captures are possible.

End of Game:

The game ends when one player has no more pieces left on the board or has no possible moves that can make. The opponent is declared the winner.

Main Features

  • Display of the game board and current player.
  • Visual representation of the board and pieces.
  • Ability to save and load game states (Memento design pattern -> Snapshot).
  • Option for multiple jumps.
  • Statistics tracking for winners and maximum remaining pieces.

Menu Options

  • New Game: Starts a new game with standard settings.
  • Load Game: Opens a previously saved game state.
  • How to play: Displays a brief description of the game.
  • Settings: Has a toggle for multiple jumps and possibility to change the game theme.
  • Statistics: Displays statistics of white and red winners, as well as the maximum remaining pieces at the end of a game.
  • Credits: Displays information about the creator of the program, institutional email address and group.

Aditional Features

Ability to change the theme of the application, option found in settings.

image image image

checkers-game's People

Contributors

sugaarxd avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.