Skip to content

A simple framework to create 2D-board games (Universidad Austral)

Notifications You must be signed in to change notification settings

TomRolB/chess-framework

Repository files navigation

Chess Framework

Image description

Capablanca's Chess run over the framework

This framework is part of an extensive course from Universidad Austral on the design of software systems. It includes the following features:

  • Working configurations for Chess and Checkers, with tests included.
  • A rule engine to create pieces (e.g. a pawn for Chess, or a Man for Checkers), general movement rules, winning conditions, etc. for a board game.
  • A user interface to play the defined board game.
  • A server which supports a client for each player and extra clients for spectators.

The core idea of this framework is to have an onion architecture, where the engine is completely independent of any app using it. This structure, based on the SOLID principles and different design patterns, greatly eased the development of the UI, the client-server component and the tests for Chess and Checkers.

Additionally, games can be easily defined and configured using the developed rule components. For instance, this repository includes not only classic Chess and Checkers examples but also various developed variants.

About

A simple framework to create 2D-board games (Universidad Austral)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published