diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md index 2d8e5fb..809701a 100644 --- a/.github/CODE_OF_CONDUCT.md +++ b/.github/CODE_OF_CONDUCT.md @@ -6,8 +6,8 @@ We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, -nationality, personal appearance, race, religion, or sexual identity -and orientation. +nationality, personal appearance, race, religion, sexual identity +and orientation, or any other personnal characteristics. We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community. diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index e179343..2b78019 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -1,28 +1,30 @@ # How to contribute to Numcraft? ## Steps for creating good issues or pull requests. -If your issue is related to a bug, please give the full error message if one is shown. Please describe the context of the bug, the OS version, the calculator model and if possible, the release version or the latest commit. +If your issue is related to a bug, please give the **full error message** if one is shown. Please describe the *context of the bug*, the *OS version*, the *calculator model* (n110, n115 or n120) and *if possible, the release version or the latest commit*. -If you are asking for an enhancement, please concider the hardware resptrictions : -- Multiplayer is currently impossible -- No sound -- Numcraft must be compatible with N0110, N0115 and N0120. So make sure that the game runs on N0110 or N0115. -- and a lot of other restrictions -- extremelly low amount of ram +If you are asking for an enhancement, please concider the hardware restrictions : +- Multiplayer is currently impossible (due to lack of external connectivity availability) +- No sound (no speakers) +- Numcraft must be compatible with N0110, N0115 and N0120. So make sure that the game runs on N0110 or N0115. (try not to crash ram/cpu) +- and a lot of other restrictions (storage, etc...) +- extremelly low amount of ram (256 KO of RAM) Before reporting a bug please read the `Known bugs` section and the `Roadmap` before asking for features. ## About vibe codding and AI Nowdays, vibe codding is more and more used. It's an easy way to write code quickly but AIs have a big problem when it comes to programming on a calculator: they don't know the hardware. This is mainly due to the lack of documentation about this hardware. Moreover, I prefer code that is written by humans. For me, code is an art (and particularly video games) so I encourage handwriting code. -So please, avoid vibe codding if you can. If you still want to use AI to write your code please: +So please, **avoid vibe codding if you can**. If you still want to use AI to write your code please: - Limit the work of the AI to a single function or a few ones. - Don't let the AI architecturing the project. - Don't let the AI modifiying existing code when it's not necessary. - Don't let the AI writing very low level code. - - Carrefully read the generated code. Do not open a pull request if it works, read the entiere generated code before openning it. And be extremelly careful about the rendering. + - **⚠️ Carefully read the generated code!** Do not open a pull request if it works, read the entiere generated code before openning it. And be extremelly careful +about the rendering. + - **Test the code yourself on the simulator or a calculator to validate it.** ## Code guideline -- All the code including, function names, commentaries, structures names, etc... must be in english. +- All the code including, function names, commentaries, structures names, etc... must be in english. (no l18n for now (may be implemented later)) - When a part of your code is not easy to understand or is very abstract, please add comments. Functions like `place_air` and that have only a few lines of code doesn't necessary need comments. -- Please fit your code to the current architecture of the project. Do not refactor the whole project. If you strongly believe that the code needs a complete refactor, please open a discussion thread first. +- Please **fit your code to the current architecture of the project**. Do not refactor the whole project. If you strongly believe that the code needs a complete refactor, please open a discussion thread first. - If you use the simulator to code your PR, please remember that your code will run on machines that are thousands of time less powerful than your computer. So always try your code on real hardware before openning a new PR. diff --git a/src/world/structures.rs b/src/world/structures.rs index a7122f6..3e04caa 100644 --- a/src/world/structures.rs +++ b/src/world/structures.rs @@ -30,3 +30,4 @@ impl Structure { } pub const TREE1: Structure = Structure::new(include_bytes!("../../target/structs/tree1.bin")); +pub const HOUSE1: Structure = Structure::new(include_bytes!("../../target/structs/house1.bin")); diff --git a/structs/house1.json b/structs/house1.json new file mode 100644 index 0000000..4646a0e --- /dev/null +++ b/structs/house1.json @@ -0,0 +1,41 @@ +{ + "name": "tree1", + "size": [ + 4, + 4, + 4 + ], + "data": [ + [ + "xxxx", + "xuux", + "xuux", + "xxxx" + ], + [ + "ouuo", + "uaau", + "uaau", + "oaao" + ], + [ + "ouuo", + "uaau", + "uaau", + "oaao" + ], + [ + "xxxx", + "xxxx", + "xxxx", + "xxxx" + ] + ], + "palette": { + "a": 0, + "x": 6, + "o": 7, + "u": 9 + } + +}