-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
a2c3161
commit 6f8d688
Showing
1 changed file
with
43 additions
and
46 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,84 +1,81 @@ | ||
# 🧮 Extreme Math [📖 Wiki](https://github.com/sudo-arash/extreme_math/wiki) | ||
|
||
Welcome to **Extreme Math**! This is a fun and challenging math game where your task is to solve **`Equations`** and find the answer to that little \( x \). Test your skills and see how many equations you can solve correctly in the time given to you! | ||
Welcome to **Extreme Math**! 🎉 This isn’t just another math game—it’s a thrilling adventure where your mission is to solve **`Equations`** and uncover the mystery of that sneaky little \( x \). 🕵️♂️ Can you solve the puzzles before the time runs out? ⏳ Let’s see if you’ve got what it takes! | ||
|
||
> [!TIP] | ||
> Timer is in the [Todo List](#todo), be sure to check that out! | ||
> The Timer feature is on our [Todo List](#todo), so stay tuned! ⏰ | ||
## 🚀 Main Features of The Game | ||
- **Randomized Equations**: 🎲 Every equation is unique, crafted with random coefficients and constants. No two games are the same! | ||
- **Integer Solutions Only**: ✖️➕➖ You won’t have to worry about pesky decimals—just good ol’ integer answers. | ||
- **Replayability**: 🔄 Play again and again! Each round brings a fresh equation to crack. | ||
|
||
## Main Features of The Game | ||
- **Randomized Equations**: Each equation is unique, generated with random coefficients and constants. | ||
- **Integer Solutions Only**: No need to worry about decimals—just simple and clean integer answers. | ||
- **Replayability**: Play as many rounds as you want. Each time, you'll face a new equation to solve. | ||
## 🎮 How to Play | ||
### 🖥️ Windows Users | ||
Good news, Windows warriors! 🏆 I’ve set up a GitHub Actions `build.yml` that compiles the game’s executable every time we tweak the code. Just head over to the Releases tab on our GitHub page, download the latest version, and you’re ready to dive into the game! 🎯 | ||
|
||
## How to Play | ||
### Windows Users | ||
For you Windows users, I've programmed a GitHub Actions `build.yml` that builds the game executable for Windows each time we change the code here. You can download the game directly from the Releases tab on the repository's GitHub page. | ||
### 🐧 Linux Users | ||
For the Linux legends out there, I didn’t find it necessary to compile a version using `GitHub Actions` because you likely have `g++` or `clang++` already installed. No worries, though! You can easily compile the game yourself using your system’s toolkits. 💻 | ||
|
||
Playing the game is easy for you Windows users! Just open the executable, and you're good to go! | ||
> [!NOTE] | ||
> If compiling sounds daunting, check out the **[Compilation and Running](#compilation-and-running)** section for a step-by-step guide! | ||
### Linux Users | ||
Because many Linux users already have `g++` or `clang++` installed on their systems by default, I didn't see compiling it using `GitHub Actions` as necessary. Therefore, I didn't compile a version for Linux. However, you can compile it using the toolkits installed on your system. | ||
## ⚙️ Compilation and Running | ||
|
||
> [!NOTE] | ||
> If you're unsure how to compile the game, check out the **[Compilation and Running](#compilation-and-running)** section! | ||
## Compilation and Running | ||
|
||
### Requirements | ||
### 🛠️ Requirements | ||
- A C++ compiler (e.g., `g++`, `clang++`) | ||
- Basic knowledge of C++ to compile and run the program | ||
|
||
### Using Make for Compilation | ||
### 🔨 Using Make for Compilation | ||
|
||
To simplify the compilation process and manage project dependencies efficiently, we recommend using `make` along with a `Makefile`. This method automates the build process, ensuring that all source files are compiled correctly and the resulting executable is placed in the designated build directory. | ||
To make your life easier and keep everything organized, we recommend using `make` along with a `Makefile`. This will handle the compilation process for you, ensuring all source files are properly compiled and the executable lands in the right place. | ||
|
||
#### Compiling with Make | ||
#### ⚡ Compiling with Make | ||
|
||
Open your terminal or command prompt, navigate to the project directory, and simply run: | ||
Fire up your terminal, navigate to the project directory, and simply run: | ||
|
||
```bash | ||
make | ||
``` | ||
|
||
This command will compile all the source files listed in the `Makefile` and place the final executable in the `build` directory. | ||
This command will gather all the source files listed in the `Makefile` and place the final executable in the `build` directory. | ||
|
||
### Running the Game | ||
### 🎲 Running the Game | ||
|
||
Once compiled, you can run the game by executing the compiled binary located in the `build` directory. If you need to pass command-line arguments (such as enabling debug mode), you can do so like this: | ||
Once the game is compiled, you can start playing by running the compiled binary in the `build` directory. Want to enable debug mode or other options? Just pass the command-line arguments like this: | ||
|
||
```bash | ||
./build/extreme_math --debug | ||
``` | ||
|
||
This approach helps keep your project organized and ensures that all necessary files are compiled and linked correctly. | ||
This method keeps everything tidy and ensures all necessary files are compiled and linked correctly. 🧩 | ||
|
||
## Todo | ||
Here is the **TODO** list. I've already completed the checked items and am still working on the unchecked ones. | ||
- [x] Add a debugger mode. | ||
- [x] Add more levels to play. | ||
- [x] Add a simple `TUI` (Text User Interface) to choose between levels. | ||
- [ ] Add a `Timer`. | ||
## 📝 Todo | ||
Here’s our **TODO** list! I’ve already checked off the completed items and am still working on the others. Feel free to add more if you think of anything cool! 🌟 | ||
- [x] Add a debugger mode. 🐛 | ||
- [x] Add more levels to play. 🎮 | ||
- [x] Add a simple `TUI` (Text User Interface) to choose between levels. 📋 | ||
- [ ] Add a `Timer`. ⏱️ | ||
|
||
> [!NOTE] | ||
> You can open an issue at any time, requesting a new feature. While I'm continuously adding new features, you can also contribute to the game this way! If you need guidance on how to open a new issue, check out the **[Non-Programming Contributions](#non-programming-way)** section. | ||
> You can open an issue anytime to request a new feature. While I’m continuously adding new features, you can also contribute to the game in this way! If you’re unsure how to open a new issue, check out the **[Non-Programming Contributions](#non-programming-way)** section. | ||
## Contributing | ||
### Programming Way | ||
You're welcome to contribute by submitting pull requests for new features, improvements, or bug fixes. If you're new to GitHub, simply search `How to fork & open a new pull request in GitHub` to learn how. | ||
## 🤝 Contributing | ||
### 💻 Programming Way | ||
Want to dive into the code? 🔧 Great! You’re welcome to contribute by submitting pull requests for new features, improvements, or bug fixes. If GitHub is new to you, just search for `How to fork & open a new pull request in GitHub` to learn how. | ||
|
||
### Non-Programming Way | ||
If you don't know C++ but still want to help improve the game, you can open a new issue on our GitHub to suggest features. We'll review all your ideas and mark them as `TODO` if needed. | ||
### 📝 Non-Programming Way | ||
Don’t know C++ but still want to make the game better? 💪 No problem! You can suggest features by opening a new issue on our GitHub. We’ll review your ideas and add them to the `TODO` list if needed. | ||
|
||
> [!CAUTION] | ||
> Don't post already added TODOs or unrelated suggestions. Examples: | ||
> - Add a simple timer to the game! <-> ISSUE: Already added in [Todo List](#todo) | ||
> - Add a cool video background!! <-> ISSUE: No need, as it will actually break the focus. | ||
> Please don’t post issues for already added TODOs or unrelated suggestions. Examples: | ||
> - Add a simple timer to the game! ⬅️ ISSUE: Already on the [Todo List](#todo) | ||
> - Add a cool video background!! ⬅️ ISSUE: Not necessary, as it could distract from the gameplay. | ||
## License | ||
I initially considered selling this game, but I decided to make it Open Source instead. This way, we can improve the game better and faster. I'd love to see big projects like **JetBrains** or **Unity** become *Fully Open Source*. | ||
## 📜 License | ||
Initially, I thought about selling this game, but then I decided, "Hey, let’s make it Open Source!" 👐 This way, we can all work together to make **Extreme Math** even better. Imagine if big projects like **JetBrains** or **Unity** were *Fully Open Source*. 🤔 | ||
|
||
By the way, don't forget that this project is open-source and available under the [MIT License](LICENSE). | ||
Don’t forget—this project is open-source and available under the [MIT License](LICENSE). 📄 | ||
|
||
## Donating | ||
If you really want to donate and help me with "The Money," I have to say I don't actually need it—seriously. However, you can contribute by helping improve the overall game. I have a job, and I must admit that this game is just how I spend my free time. So, I don't need your money—save it for later! | ||
## 💸 Donating | ||
If you’re feeling generous and want to donate, well, I have to say I really appreciate the thought, but I don’t actually need it—seriously! 😅 You can contribute by helping improve the game instead. I’ve got a job, and this game is just my way of having fun in my free time. So, keep your money and maybe spend it on something cool for yourself instead! 🎁 |