Skip to content

Commit

Permalink
начальное планирование структур данных
Browse files Browse the repository at this point in the history
  • Loading branch information
optozorax committed Jul 21, 2021
1 parent 5387e15 commit a8549a3
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitignore
@@ -1 +1,2 @@
/target
Cargo.lock
1 change: 1 addition & 0 deletions ideas.md
Expand Up @@ -16,6 +16,7 @@
* Есть кнопка "добавить переводы слова"
* Либо есть кнопка "я уже знаю это слово"
* Интерфейс ввода слова
* Сначала пишется английское слово, а затем его переводы
* Вверху написано английское (или русское) слово
* Внизу N полей для ввода всех многозначностей этого слова
* Некоторые поля могут быть серыми с уже написанными словами, так как эти слова выучены или не требуют сейчас повторения
Expand Down
42 changes: 42 additions & 0 deletions src/main.rs
@@ -1,3 +1,45 @@
/// День
struct Day(i32);

/// Итерация изучения слова, сколько ждать с последнего изучения, сколько раз повторить, показывать ли слово во время набора
struct LearnType {
/// Сколько дней ждать с
wait_days: i8,
count: i8,
show_word: bool,
}

/// Статистика написаний для слова, дня или вообще
struct TypingStats {
typed: i32,
right: i32,
wrong: i32,
}

/// Обозначает одну пару слов рус-англ или англ-рус в статистике
enum WordStatus {
/// Мы знали это слово раньше, его изучать не надо
KnowPreviously,

/// Мы изучаем это слово
ToLearn {
/// Когда это слово в последний раз изучали
last_learn: Day,

/// Количество изучений слова
learns: Vec<LearnType>,

/// Статистика
stats: TypingStats,
},

/// Мы знаем это слово
Learned {
/// Статистика
stats: TypingStats,
},
}

fn main() {
println!("Hello, world!");
}

0 comments on commit a8549a3

Please sign in to comment.