From 0f5894ace663eef7da23b802259ae01d131e260d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s?= Date: Mon, 22 Jul 2024 12:59:06 -0300 Subject: [PATCH] Modified README --- README.md | 43 ++++++++++---------------------- diagrams/Capablanca's Chess.png | Bin 0 -> 57701 bytes 2 files changed, 13 insertions(+), 30 deletions(-) create mode 100644 diagrams/Capablanca's Chess.png diff --git a/README.md b/README.md index 1e01349..30247b1 100644 --- a/README.md +++ b/README.md @@ -1,35 +1,18 @@ -[![Review Assignment Due Date](https://classroom.github.com/assets/deadline-readme-button-24ddc0f5d75046c5622901739e7c5dd533143b0c8e959d652212380cedb1ea36.svg)](https://classroom.github.com/a/bl6zRdaa) -# Chess Template +# Chess Framework +This framework is part of an extensive course from Universidad Austral on the design of software systems. It includes the following features: -This is the template for your chess project. You will use this template to create your own chess game. +
+ Image description +
Capablanca's Chess run over the framework
+
-This template comes with configurations for: +* **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. -- Static code analysis -- Coverage +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. -It supports both Java code and Kotlin code - -## Where should you include your code? - -Your code should be included in the `engine/src/main/java` or `engine/src/main/kotlin` directory. - -## How to build the project? - -You can build the project using the following command: - -```./gradlew build``` - -## Testing - -### Requirements - -This project depends on a package published in the GitHub Packages Registry. In order to download it a GitHub token must be used. -Instruction on how to create a GitHub personal token are [here](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token). -Once created the following environment variables must be defined: -* GITHUB_USER -* GITHUB_TOKEN -Or in a file `gradle.properties` the following values must be defined: -* github.user -* github.token +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. diff --git a/diagrams/Capablanca's Chess.png b/diagrams/Capablanca's Chess.png new file mode 100644 index 0000000000000000000000000000000000000000..d472c267c9fb3cf78db91bc7b86bc69b6395586c GIT binary patch literal 57701 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 G{eJ@i3|xZ% literal 0 HcmV?d00001