We made our own version of the iconic NY Times puzzle game; Wordle. We made this for the CSC207 group project.
Contributor Name | ID |
---|---|
Raghav Sinha | raghavatruntime |
Ibrahim Majid | ibrmaj |
Geon Lim | 1004gun1 |
Carol Xu | CaaarolXu |
Ismail Majid | majidism006 |
Here’s a complete README file for your Wordle project based on the provided checklist:
This project is a software implementation of a Wordle-inspired game. Players guess a hidden five-letter word in six attempts, receiving color-coded feedback on their guesses. The game is designed with multiple difficulty levels and additional features like a discussion board and user profiles.
The purpose of this project is twofold:
- To create an engaging and educational word game that improves vocabulary and logical reasoning.
- To demonstrate clean architecture principles in a scalable, modular, and maintainable software project.
- Casual players seeking a fun and challenging word game.
- Developers and students learning clean architecture principles.
Section | Description |
---|---|
1. Features | Overview of the application's key features. |
2. Installation Instructions | Step-by-step guide to setting up the project. |
3. Usage Guide | Instructions on how to use the application. |
4. License | Licensing details for the project. |
5. Feedback | How to provide feedback or report issues. |
6. Contributing | Guidelines for contributing to the project. |
- Word Guessing: Guess the hidden word in six attempts.
- Feedback: Color-coded tiles to indicate correct/incorrect letters and positions.
- Difficulty Levels: Choose between easy, medium, and hard difficulties.
- User Profiles: Save and view personalized user data.
- Discussion Board: Engage with other players and discuss strategies.
- Clean Architecture: Organized into layers for scalability and maintainability.
- Components:
- Interface Adapter Layer: Manages controllers, presenters, and state.
- Use Case Layer: Handles business logic and application rules.
- Entities Layer: Core domain objects like DifficultyState and GridState.
- Modern GUI: A user-friendly graphical interface built with Swing.
- Interactive Components: Dropdown menus, buttons, and dialog windows.
- Operating System: Windows, macOS, or Linux.
- Java Version: JDK 17 or higher.
- IntelliJ IDEA (or any other Java IDE) is recommended.
-
Clone the Repository:
git clone https://github.com/raghavatruntime/wordle-clone.git
-
Navigate to the Project Directory:
cd wordle-clone
-
Using IntelliJ IDEA:
- Open IntelliJ IDEA.
- Select File > Open and navigate to the
wordle-clone
directory. - IntelliJ will detect the project structure. Ensure the
src/
folder is marked as a source directory under File > Project Structure. - Locate the main class (e.g.,
app.Main
). - Right-click the file and select Run to launch the application.
-
Command-Line Alternative (if IntelliJ is not used):
- Compile the project:
javac -d bin src/java/**/*.java
- Run the application:
java -cp bin app.Main
- Compile the project:
- JUnit 5 (for unit testing)
- Install via Maven or Gradle if needed.
- Launch the program using the installation steps above.
- Login if you have an account, signup to create a new account.
- Read all instructions, check your profile by clicking "View Profile" or access the discussions by clicking "discussions".
- Set your private personal status and save on the View Profile page.
- Select your level of difficulty from the dropdown menu
- Press "Play" to begin.
- Keep playing and check out your wins, losses and win-rate!
- Have fun!
- View Profile: Click the "View Profile" button to view your statistics and information.
- Discussion Board: Join conversations with other players by clicking the "Discussion Board" button.
Creative Commons CC0 1.0 Universal License This project is dedicated to the public domain under the Creative Commons CC0 1.0 Universal (CC0) license. You can copy, modify, distribute, and perform the work, even for commercial purposes, all without asking permission.
Disclaimer: This project is provided "as-is" with no warranties of any kind. For the full legal code, see below:
View Full License
plaintext Copy code [Insert the full Creative Commons Legal Code here]We value your feedback! To share your thoughts:
- Visit Google Feedback Form.
- Fill out the form with your comments or suggestions.
- Expect a response within 5 business days.
- Fork the repository on GitHub.
- Create a new branch for your feature:
git checkout -b feature/your-feature
- Submit a pull request with a detailed description of your changes.
- Ensure your code follows clean architecture principles.
- Write unit tests for new features.
- Describe your changes clearly in the pull request.