Skip to content

Usability improvements re: dummy coding contracts #3124

Description

@macdjord

Preflight Checklist

  • I have read the "Reporting Bugs / Requesting Features" section in the Contributing Guidelines.
  • I understand that the issue tracker is for bugs in the game itself and feature requests, not for issues with my own scripts.

Description

There are a number of (relatively) simple changes with respect to dummy coding contracts (as created by createDummyContract()):

  1. 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.
  2. 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.
  3. 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.
  4. When submitting an answer to a dummy contract, there should be an option to not delete the contract afterwards even if it is correct.
  5. 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.).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions