21ffa5322f
* MISC: Refactor coding contracts for type safety This refactor does three things without any behavior changes: * Adds type safety by introducing generic type parameters to the coding contract definitions, so they can use concrete types instead of "unknown". This also eliminates a bunch of boilerplate casts. * Removes the unneeded CodingContractType class. We can use the metadata type directly. * Introduces a new hidden state to coding contracts. Instead of generating and storing the data (which is what is shown to the user as the problem's input), the state is stored instead. This allows problems to (for instance) generate the answer up-front, and check the solution directly against the answer, instead of needing to embed a solver in the problem (which can then easily be ripped from the source code). For compatibility, state == data by default. I plan to make use of this feature in a followup, but it is unused currently. |
||
---|---|---|
.github | ||
assets | ||
dist | ||
doc | ||
electron | ||
lore | ||
markdown | ||
src | ||
test | ||
tools | ||
.browserslistrc | ||
.dockerignore | ||
.editorconfig | ||
.eslintignore | ||
.eslintrc.js | ||
.git_blame_ignore_revs | ||
.gitattributes | ||
.gitignore | ||
.nojekyll | ||
.npmrc | ||
.prettierignore | ||
.prettierrc | ||
.readthedocs.yaml | ||
api-extractor.json | ||
babel.config.js | ||
changelog.md | ||
CODE_OF_CONDUCT.md | ||
favicon.ico | ||
FixJSDOMEnvironment.ts | ||
jest.config.js | ||
jest.polyfills.js | ||
license.txt | ||
package-lock.json | ||
package.json | ||
README.md | ||
requirements.txt | ||
tsconfig.json | ||
webpack.config.js |
Bitburner
Bitburner is a programming-based incremental game that revolves around hacking and cyberpunk themes. The game can be played at https://bitburner-official.github.io/ (release build), https://bitburner-official.github.io/bitburner-src/ (development build), or installed through Steam. The location of the release build may change in the near future.
See the frequently asked questions for more information . To discuss the game or get help, join the official Discord server.
Documentation
The game's official documentation can be found in-game.
The in-game documentation is generated from the TypeScript definitions.
Anyone is welcome to contribute to the documentation by editing the source files and then making a pull request with your contributions. For further guidance, please refer to the "As A Documenter" section of CONTRIBUTING.
Contribution
There are many ways to contribute to the game. It can be as simple as fixing a typo, correcting a bug, or improving the UI. For guidance on doing so, please refer to the CONTRIBUTING document.
You will retain all ownership of the Copyright of any contributions you make, and will have the same rights to use or license your contributions. By submitting a pull request you agree to grant me perpetual, worldwide, non-exclusive, transferable, royalty-free, and irrevocable rights to use, publish, and distribute your contributions to the project. A formal Contributor's License Agreement will be drawn up in the future.
If you would like to make significant contributions to the project as a collaborator, please reach out in #suggestions or #development on Discord to help coordinate the effort.