Skip to content

Vitalick/arithmet-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Устный счет на Rust

arithmet-rs - новый проект на Rust, который должен стать прямым приемником программы Устный счет из C-проекта arithmet_c.

Исходная программа предназначена для тренировки и проверки устного счета: пользователь выбирает арифметические действия, имя, границы результата, количество примеров и сложность, затем решает примеры на время. После сеанса программа показывает оценку и сохраняет текстовый протокол результата.

Цель проекта

Главная цель - перенести функциональность C-версии на Rust без потери поведения, удобства управления и формата пользовательского опыта. При этом новая версия не должна быть привязана к DOS-совместимому 80x25 viewport: интерфейс должен нормально растягиваться по размеру терминала и оставаться удобным на Linux, Windows и, по возможности, macOS.

Что должно сохраниться

  • выбор операций: сложение, вычитание, умножение, деление, деление с остатком;
  • ввод имени пользователя;
  • настройка нижней и верхней границы результата;
  • настройка количества примеров;
  • настройка сложности через лимит времени на ответ;
  • генерация примеров с логикой, близкой к C-версии;
  • ввод ответа с Enter, отказ от текущего примера через Esc и выход из сеанса через F10;
  • переход к следующему примеру через Tab;
  • итоговая оценка по пятибалльной шкале;
  • сохранение протокола каждого сеанса рядом с программой или в настроенном каталоге;
  • просмотр результатов, включая старые протоколы из каталога программы;
  • схожие горячие клавиши главного экрана: +, -, *, /, :, И, О, Д, К, С, F1, Enter, Esc.

Что должно измениться

  • настройки должны храниться в конфиге, а не в бинарном a.dat;
  • терминальный интерфейс должен быть адаптивным, а не просто центровать DOS-экран 80x25;
  • платформенно-зависимый код должен быть минимальным и находиться только в тонком слое ввода/вывода;
  • код должен быть разделен на понятные Rust-модули с тестируемой бизнес-логикой;
  • протоколы старых результатов нужно уметь читать и показывать в интерфейсе;
  • мышь в терминале можно добавить как улучшение, если выбранная TUI-библиотека поддерживает это без сложной платформенной логики.

Документы

  • docs/MIGRATION_PLAN.md - подробный план прямого переноса C-проекта на Rust.
  • docs/RUST_GUIDE.md - что изучать в Rust по ходу реализации и где это смотреть.

Текущее состояние

Сейчас проект является стартовым Rust crate. Основная работа впереди: сначала нужно перенести модель настроек, генератор примеров и протоколы, затем собрать TUI-интерфейс поверх готовой логики.

Сборка

cargo build

Запуск

cargo run

About

Программа Устный счет предназначена для контроля (проверки) умения считать в уме.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages