Preflight Checklist
Description
There are a number of (relatively) simple changes with respect to dummy coding contracts (as created by createDummyContract()):
- Allow the player to specify the name of the generated contract, or at least a specific non-root directory to generate it in. This will allow players to keep the dummy contracts out of the way, and not get them mixed up with any real contracts that might get generated on
home.
- The name of the generated contacts (or at least the default name, if you allow the player to specify it themselves as per the above) should clearly indicate that it is a dummy contracts, as well as what the contract type is. This will, again, help keep real and fake contracts separate, as well as making it easier to keep track of which contract is which if a player is working on multiple parts of their solver at once.
- Dummy contracts should have an infinite number of attempts. They give no reward, so there's no reason to try to prevent players from using guess-and-check methodology, and if a player is trying to debug a solver, being forced to generate a new dummy contract with a different solution to test one halfway through is not helpful.
- When submitting an answer to a dummy contract, there should be an option to not delete the contract afterwards even if it is correct.
- Dummy contracts should have an option to show the answer. Again, there's no benefit to cheating, and when debugging, having a known good input/output pair to compare your work against can be invaluable.
- Note that using this button should not dismiss the contract; one of the use-cases here is, in combination with the above option to submit correct answers without deleting the contact, to test what different variations on a solution are or aren't accepted (e.g. different answer formats, giving answers in different orders, etc.).
Preflight Checklist
Description
There are a number of (relatively) simple changes with respect to dummy coding contracts (as created by
createDummyContract()):home.