Skip to content

Commit

Permalink
Merge pull request #171 from antrikshdhand/branch-readme
Browse files Browse the repository at this point in the history
Update README.md
  • Loading branch information
ken-ruster authored Nov 10, 2023
2 parents 0ca6bc5 + 1b58255 commit 9e8ad64
Show file tree
Hide file tree
Showing 2 changed files with 81 additions and 46 deletions.
127 changes: 81 additions & 46 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,64 +1,99 @@
# Duke project template
<br />
<div align="center">
<a href="">
<img src="docs/images/ChessMasterLogo.png" alt="Logo" width="80" height="80">
</a>
<h3 align="center">ChessMaster</h3>
<p align="center">
Chess finally makes it to your terminal.
<br />
<a href="https://ay2324s1-cs2113-t18-1.github.io/tp/UserGuide.html">View User Guide</a>
·
<a href="https://ay2324s1-cs2113-t18-1.github.io/tp/DeveloperGuide.html">View Developer Guide</a>
·
<a href="https://ay2324s1-cs2113-t18-1.github.io/tp/AboutUs.html">About Us</a>
</p>
</div>

This is a project template for a greenfield Java project. It's named after Chess and Master. Given below are instructions on how to use it.
_ChessMaster_ is a command-line interface (CLI) chess game designed to make learning and training accessible for
beginners while offering an engaging experience for all skill levels. This simple and user-friendly chess simulator
provides a platform for novice players to build their skills and understanding of the game.

## Setting up in Intellij
This project was created for the _CS2113: Software Engineering and Object-Oriented Programming_ team project and
is programmed in 100% Java.

Prerequisites: JDK 11 (use the exact version), update Intellij to the most recent version.
## Getting started

1. **Ensure Intellij JDK 11 is defined as an SDK**, as described [here](https://www.jetbrains.com/help/idea/sdk.html#set-up-jdk) -- this step is not needed if you have used JDK 11 in a previous Intellij project.
1. **Import the project _as a Gradle project_**, as described [here](https://se-education.org/guides/tutorials/intellijImportGradleProject.html).
1. **Verify the set up**: After the importing is complete, locate the `src/main/java/seedu/duke/Duke.java` file, right-click it, and choose `Run Duke.main()`. If the setup is correct, you should see something like the below:
```
> Task :compileJava
> Task :processResources NO-SOURCE
> Task :classes
> Task :Duke.main()
Hello from
____ _
| _ \ _ _| | _____
| | | | | | | |/ / _ \
| |_| | |_| | < __/
|____/ \__,_|_|\_\___|
What is your name?
```
Type some word and press enter to let the execution proceed to the end.
1. Ensure you have **Java 11 or above** installed in your system.

## Build automation using Gradle
2. Download the latest version of `ChessMaster.jar` from [here](https://github.com/AY2324S1-CS2113-T18-1/tp/releases).

* This project uses Gradle for build automation and dependency management. It includes a basic build script as well (i.e. the `build.gradle` file).
* If you are new to Gradle, refer to the [Gradle Tutorial at se-education.org/guides](https://se-education.org/guides/tutorials/gradle.html).
3. Open a terminal instance and navigate into the folder that contains the downloaded ChessMaster.jar file.

## Testing
```bash
cd PATH_TO_JAR_FILE
```

### I/O redirection tests
4. Run the jar application with the following command:

* To run _I/O redirection_ tests (aka _Text UI tests_), navigate to the `text-ui-test` and run the `runtest(.bat/.sh)` script.
```bash
java -jar ChessMaster.jar
```

### JUnit tests
You should be greeted by a welcome message from ChessMaster:
```
_________________________________________________________________
* A skeleton JUnit test (`src/test/java/seedu/duke/DukeTest.java`) is provided with this project template.
* If you are new to JUnit, refer to the [JUnit Tutorial at se-education.org/guides](https://se-education.org/guides/tutorials/junit.html).
Hey there, chess geek! You have stumbled upon the one and only:
________ __ ___ __
/ ____/ /_ ___ __________ / |/ /___ ______/ /____ _____
/ / / __ \/ _ \/ ___/ ___/ / /|_/ / __ `/ ___/ __/ _ \/ ___/
/ /___/ / / / __(__ |__ ) / / / / /_/ (__ ) /_/ __/ /
\____/_/ /_/\___/____/____/ /_/ /_/\__,_/____/\__/\___/_/
## Checkstyle
where CHESS becomes an exciting journey of strategy and skill!
_________________________________________________________________
```

* A sample CheckStyle rule configuration is provided in this project.
* If you are new to Checkstyle, refer to the [Checkstyle Tutorial at se-education.org/guides](https://se-education.org/guides/tutorials/checkstyle.html).
## Usage

## CI using GitHub Actions
A summary of user commands can be found in the table below:

The project uses [GitHub actions](https://github.com/features/actions) for CI. When you push a commit to this repo or PR against it, GitHub actions will run automatically to build and verify the code as updated by the commit/PR.
| Action | Format |
|---------------|------------------------------------|
| Move | `move [column][row] [column][row]` |
| Show moves | `moves [column][row]` |
| Show board | `show` |
| Rules | `rules` |
| Help | `help` |
| Pieces legend | `legend` |
| History | `history` |
| Step back | `stepback` |
| Abort | `abort` |

## Documentation
Please visit our [User Guide](https://ay2324s1-cs2113-t18-1.github.io/tp/UserGuide.html) for further details on each
of these commands.

`/docs` folder contains a skeleton version of the project documentation.
## Contributing

Steps for publishing documentation to the public:
1. If you are using this project template for an individual project, go your fork on GitHub.<br>
If you are using this project template for a team project, go to the team fork on GitHub.
1. Click on the `settings` tab.
1. Scroll down to the `GitHub Pages` section.
1. Set the `source` as `master branch /docs folder`.
1. Optionally, use the `choose a theme` button to choose a theme for your documentation.
[![Contributors](https://img.shields.io/github/contributors/AY2324S1-CS2113-T18-1/tp?label=Contributors&style=flat-square)](https://github.com/AY2324S1-CS2113-T18-1/tp/graphs/contributors)
[![Commits](https://img.shields.io/github/commits-since/AY2324S1-CS2113-T18-1/tp/latest?style=flat-square&label=Commits%20since%20v2.0)](https://github.com/AY2324S1-CS2113-T18-1/tp/commits/master)
[![Issues](https://img.shields.io/github/issues/AY2324S1-CS2113-T18-1/tp?style=flat-square&label=Latest%20issues)](https://github.com/AY2324S1-CS2113-T18-1/tp/issues)
[![PRs](https://img.shields.io/github/issues-pr/AY2324S1-CS2113-T18-1/tp?style=flat-square&label=Pull%20requests)](https://github.com/AY2324S1-CS2113-T18-1/tp/pulls)


All contributions are greatly appreciated! If you have a suggestion that would make this better,
please fork the repo and create a pull request.

1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/branch-FeatureName`)
3. Commit your Changes (`git commit -m 'Add some FeatureName'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

## Contact

Please visit our [About Us](https://ay2324s1-cs2113-t18-1.github.io/tp/AboutUs.html) page for further contact
information.

Project Link: [https://github.com/AY2324S1-CS2113-T18-1/tp](https://github.com/AY2324S1-CS2113-T18-1/tp)
Binary file added docs/images/ChessMasterLogo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 9e8ad64

Please sign in to comment.