mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2026-04-18 07:18:38 +02:00
DOC: Move all docs into en/ subdirectory (#1505)
* DOC: Move all docs into en/ subdirectory PR #1502 is working on adding a Chinese translation to the docs. In general, I encouraged this (in #1452) as a path towards getting useful translated content in the game without requiring a massive refactor/rearchitecting of everything. To support this, this takes the first step of moving our docs into an en/ subdirectory, so that other languages can live alongside. No effort is made at this time to support or select between alternate languages; this is a pure-rename refactor.
This commit is contained in:
74
src/Documentation/doc/en/basic/codingcontracts.md
Normal file
74
src/Documentation/doc/en/basic/codingcontracts.md
Normal file
@@ -0,0 +1,74 @@
|
||||
# Coding Contracts
|
||||
|
||||
Coding Contracts are a mechanic that lets players earn rewards in exchange for solving programming problems.
|
||||
|
||||
Coding Contracts are files with the `.cct` extension.
|
||||
They can be accessed through the [Terminal](terminal.md) or through [Scripts](scripts.md) using the [Coding Contract API](https://github.com/bitburner-official/bitburner-src/blob/stable/markdown/bitburner.codingcontract.md).
|
||||
|
||||
Each contract has a limited number of attempts.
|
||||
If you provide the wrong answer too many times and exceed the number of attempts, the contract will self destruct (delete itself).
|
||||
|
||||
Coding Contracts are randomly generated and spawn over time. Initially, you'll only see a small range of the easier contracts, but as you progress further through the game more challenging ones will unlock.
|
||||
They can appear on any [server](servers.md) (including your home computer), except for your purchased [servers](servers.md).
|
||||
|
||||
## Running in Terminal
|
||||
|
||||
To run a Coding Contract in the [Terminal](terminal.md), simply use the `run` command:
|
||||
|
||||
$ run some-contract.cct
|
||||
|
||||
Doing this will bring up a popup.
|
||||
The popup will display the contract's problem, the number of attempts remaining, and an area to provide an answer.
|
||||
|
||||
## Interacting through Scripts
|
||||
|
||||
See the [Coding Contract API](https://github.com/bitburner-official/bitburner-src/blob/stable/markdown/bitburner.codingcontract.md).
|
||||
Interacting with Coding Contracts via the [Terminal](terminal.md) can be tedious the more contracts you solve.
|
||||
Consider using the [API](https://github.com/bitburner-official/bitburner-src/blob/stable/markdown/bitburner.codingcontract.md) to automate various aspects of your solution.
|
||||
For example, some contracts have long solutions while others have even longer solutions.
|
||||
You might want to use the [API](https://github.com/bitburner-official/bitburner-src/blob/stable/markdown/bitburner.codingcontract.md) to automate the process of submitting your solution rather than copy and paste a long solution into an answer box.
|
||||
The [Coding Contract API](https://github.com/bitburner-official/bitburner-src/blob/stable/markdown/bitburner.codingcontract.md) can also be used to find out useful information about a contract including the number of attempts you have left, the type of contract and its difficulty.
|
||||
|
||||
However, using the [API](https://github.com/bitburner-official/bitburner-src/blob/stable/markdown/bitburner.codingcontract.md) comes at a cost.
|
||||
Like most functions in other APIs, almost all of the functions in the [Coding Contract API](https://github.com/bitburner-official/bitburner-src/blob/stable/markdown/bitburner.codingcontract.md) have a RAM cost.
|
||||
|
||||
Depending on which function you use, the initial [RAM](ram.md) on your home server might not be enough to allow you to use various [API](https://github.com/bitburner-official/bitburner-src/blob/stable/markdown/bitburner.codingcontract.md) functions.
|
||||
Plan on upgrading the [RAM](ram.md) on your home server if you want to use the [Coding Contract API](https://github.com/bitburner-official/bitburner-src/blob/stable/markdown/bitburner.codingcontract.md).
|
||||
|
||||
The [`getContractTypes`](https://github.com/bitburner-official/bitburner-src/blob/stable/markdown/bitburner.codingcontract.getcontracttypes.md) function is free, and returns a list of all of the contract types currently in the game.
|
||||
|
||||
## Submitting Solutions
|
||||
|
||||
Different contract problem types will require different types of solutions.
|
||||
Some may be numbers, others may be strings or arrays.
|
||||
If a contract asks for a specific solution format, then use that.
|
||||
Otherwise, follow these rules when submitting solutions:
|
||||
|
||||
- String-type solutions should **not** have quotation marks surrounding the string (unless specifically asked for).
|
||||
Only quotation marks that are part of the actual string solution should be included.
|
||||
- Array-type solutions should be submitted with each element in the array separated by commas.
|
||||
Brackets are optional.
|
||||
For example, both of the following are valid solution formats:
|
||||
- `1,2,3`
|
||||
- `[1,2,3]`
|
||||
- If the solution is a multidimensional array, then all arrays that are not the outer-most array DO require the brackets.
|
||||
For example, an array of arrays can be submitted as one of the following:
|
||||
- `[1,2],[3,4]`
|
||||
- `[[1,2],[3,4]]`
|
||||
|
||||
Numeric solutions should be submitted normally, as expected
|
||||
|
||||
## Rewards
|
||||
|
||||
There are currently four possible rewards for solving a Coding Contract:
|
||||
|
||||
- [Faction](factions.md) [Reputation](reputation.md) for a specific [Faction](factions.md)
|
||||
- [Faction](factions.md) [Reputation](reputation.md) for all [Factions](factions.md) that you are a member of
|
||||
- [Company](companies.md) [Reputation](reputation.md) for a specific [Company](companies.md)
|
||||
- Money
|
||||
|
||||
The `amount` of the reward varies based on the difficulty of the problem posed by the Coding Contract.
|
||||
|
||||
## Notes
|
||||
|
||||
- The `scp` [Terminal](terminal.md) command does not work on Coding Contracts
|
||||
Reference in New Issue
Block a user