Skip to content

Commit

Permalink
Let's use some emojies!
Browse files Browse the repository at this point in the history
  • Loading branch information
sudo-arash authored Aug 25, 2024
1 parent a2c3161 commit 6f8d688
Showing 1 changed file with 43 additions and 46 deletions.
89 changes: 43 additions & 46 deletions readme.md
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 Im 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! Youre 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. Well 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 forgetthis 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 dont 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! 🎁

0 comments on commit 6f8d688

Please sign in to comment.