games: add Digit Challenge for constrained arithmetic

未关闭
#60 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
35/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
领域
frontend, testing

调研方向

Start by reading #24 and its dependency #58, then locate the existing games and shared timed-practice lifecycle. Define the digit and precedence rules before implementing the generator and answer validation; the issue names no files or tests to start from. Done means the specified validation and generator tests pass, a browser test completes, corrects and restarts a round, and the game remains separate from Digit Recall.

由索引模型根据 Issue 内容生成。

描述

enhancement games help wanted

Part of #24. Depends on #58.

Student problem

Students need practice completing arithmetic expressions under digit-use constraints, with feedback that explains valid reasoning.

Scope

  • Present an expression with missing operands and a target, initially forms such as a × b + c = target.
  • Let students choose distinct digits from 1 to 9. Clearly state available digits, reuse restrictions and operator precedence.
  • Generate solvable puzzles and accept any assignment that satisfies the expression and constraints, including alternatives to the generated solution.
  • Increase difficulty through documented expression templates; keep operand selection and undo usable with keyboard/touch.
  • Show a worked solution after submission in learning mode; timed practice uses the shared lifecycle.
  • Keep free guest practice. Additional quick-calculation templates can follow once the core rules are reliable.

Done when

  • Tests cover valid alternate answers, duplicate/out-of-range digits, incomplete input, precedence, impossible generated targets and difficulty bounds.
  • Generators prove at least one legal answer exists.
  • A browser test completes a round, corrects an operand and restarts.

Keep this separate from the existing Digit Recall memory exercise.

主要语言
TypeScript
星标
1
派生
1
平均合并
8 小时 58 分钟
30 天内合并 PR
37

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

procoderji-com/procoderji 的其他 Issue

查看 procoderji-com/procoderji 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。