update readme.md

This commit is contained in:
2025-03-27 21:03:32 +01:00
parent 009ed8edc3
commit 88cb44c5fe
4 changed files with 37 additions and 34 deletions

2
.gitignore vendored
View File

@@ -13,7 +13,7 @@ doc/*.txt
doc/*.violet.html
doc/mockups/*
# pieces files
# data files
data/pieces/*.bin
data/config/*.bin
data/config/keybinds/*.bin

View File

@@ -2,10 +2,35 @@
Modern stacker game with every polyominos from size 1 to 15, made in C++ with [SFML 3](https://www.sfml-dev.org/)!
## Manual build and run
## Download
This project uses xmake for compiling.
To be able to build it, you need to [install xmake](https://xmake.io) and have a compiler with c++20 compatibility, xmake will install SFML for you.
// to bo included when release version is done //
This game has been tested on and provides executables for Windows 11 and Linux under Ubuntu only.
If your OS isn't compactible with either of theses two, you can try [manually building the project](#manual-build-and-run).
## How to play
### General
You can see and change in-game keybinds in the **SETTINGS** section of the main menu!
All of in-menu navigation is done with the arrow keys, the Enter key and the Escape key. Theses are unmutable keybinds.
You will find some more infos about the Rotation System and the scoring in the **INFO** section of the main menu.
If you want to know more details about the generation and classification of polyominoes, [check the documentation](/doc/)!
### Available gamemodes
- SPRINT : clear 40 lines as fast as possible!
- MARATHON : clear 200 lines with increasing gravity!
- ULTRA : scores as much as possible in only 2 minutes!
- MASTER : clear 200 lines at levels higher than maximum gravity!
- ??? : ???
- ??? : ???
## Manual build
This project uses xmake for compiling, xmake is cross-platform and works in most OS, xmake also automatically install supported librairies.
To be able to build this project, you need to [have xmake installed](https://xmake.io) and have a compiler with C++20 compatibility.
### Build the project
@@ -19,11 +44,17 @@ If you need to change the toolchain (for example using gcc):
### Run the project
``xmake run``
Note that the program will generate the polyomino files for you. This can be quite long so it only does it up to size 10.
Note that the program will generate the polyomino files for you the first time. This lasts several minutes so it only does it up to size 10. If you want to use the full range up to size 15, you will need to uncomment the ``#define`` at line 13 of file ``src/GraphicalUI/Settings.h``.
If for some reasons you wanna run the command line version:
``xmake run text``
### Create a release version (xmake packaging ???)
## Credits
Library used: [SFML 3](https://www.sfml-dev.org/).
Font used: [Press Start](https://www.zone38.net/font/#pressstart).
Inspired by other stacker games such as Techmino, jstris, tetr.io, etc.
This game isn't affiliated with any of them.

View File

@@ -21,8 +21,6 @@ InfoAppMenu::InfoAppMenu(std::shared_ptr<MenuStack> menuStack, std::shared_ptr<S
sectionsContent(
"This game is written in C++,\n"
"using SFML 3 for the GUI.\n"
"It's just a solo project made\n"
"for fun and for polyominos.\n"
"It has been inspired by other\n"
"stacker games, such as\n"
"Techmino, jstris, tetr.io, etc.\n"

View File

@@ -4,20 +4,6 @@
#include <fstream>
#ifdef __JMINOS_RELEASE__
int main() {
std::srand(std::time(NULL));
GraphApp UI;
UI.run();
return 0;
}
#else
void resetConfigFiles();
void resetSettingsFile();
void resetKeybindFile(int layout);
@@ -43,9 +29,6 @@ int main() {
}
}
// do this before compiling release version
//resetConfigFiles();
GraphApp UI;
UI.run();
@@ -53,13 +36,6 @@ int main() {
}
void resetConfigFiles() {
resetSettingsFile;
for (int i = 0; i < NUMBER_OF_KEYBINDS; i++) {
resetKeybindFile(i);
}
}
void resetSettingsFile() {
std::ofstream settingsFile("data/config/settings.bin", std::ios::trunc | std::ios::binary);
char byte;
@@ -183,5 +159,3 @@ void resetKeybindFile(int layout) {
layoutFile.write(&byte, 1);
}
}
#endif