use std::collections::HashMap;
pub const DEFAULT_NAME: &str = "ゆうてい";
pub const NAME_MAX_LENGTH: usize = 4;
pub const KANA_TABLE: [char; 64] = [
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'あ', 'い', 'う', 'え', 'お', 'か',
'き', 'く', 'け', 'こ', 'さ', 'し', 'す', 'せ', 'そ', 'た', 'ち', 'つ', 'て', 'と', 'な', 'に',
'ぬ', 'ね', 'の', 'は', 'ひ', 'ふ', 'へ', 'ほ', 'ま', 'み', 'む', 'め', 'も', 'や', 'ゆ', 'よ',
'ら', 'り', 'る', 'れ', 'ろ', 'わ', 'を', 'ん', 'っ', 'ゃ', 'ゅ', 'ょ', '゛', '゜', '-', ' ',
];
pub const GROWTH_VALUE_TABLE: [(char, u8); 54] = [
('き', 0),
('ぬ', 0),
('ら', 0),
('く', 1),
('ね', 1),
('り', 1),
('け', 2),
('の', 2),
('る', 2),
('こ', 3),
('は', 3),
('れ', 3),
('さ', 4),
('ひ', 4),
('ろ', 4),
('し', 5),
('ふ', 5),
('わ', 5),
('す', 6),
('へ', 6),
('を', 6),
('せ', 7),
('ほ', 7),
('ん', 7),
('そ', 8),
('ま', 8),
('つ', 8),
('た', 9),
('み', 9),
('や', 9),
('あ', 10),
('ち', 10),
('む', 10),
('ゆ', 10),
('い', 11),
('つ', 11),
('め', 11),
('よ', 11),
('う', 12),
('て', 12),
('も', 12),
('え', 13),
('と', 13),
('や', 13),
('お', 14),
('な', 14),
('ゆ', 14),
('-', 14),
('か', 15),
('に', 15),
('よ', 15),
(' ', 15),
('゛', 3),
('゜', 4),
];
pub const PASSWORD_TABLE: [&str; 64] = [
"あ", "い", "う", "え", "お", "か", "き", "く", "け", "こ", "さ", "し", "す", "せ", "そ", "た",
"ち", "つ", "て", "と", "な", "に", "ぬ", "ね", "の", "は", "ひ", "ふ", "へ", "ほ", "ま", "み",
"む", "め", "も", "や", "ゆ", "よ", "ら", "り", "る", "れ", "ろ", "わ", "が", "ぎ", "ぐ", "げ",
"ご", "ざ", "じ", "ず", "ぜ", "ぞ", "だ", "ぢ", "づ", "で", "ど", "ば", "び", "ぶ", "べ", "ぼ",
];
pub fn build_password_map() -> HashMap<char, u8> {
let mut map = HashMap::new();
for (i, &kana) in PASSWORD_TABLE.iter().enumerate() {
if let Some(c) = kana.chars().next() {
map.insert(c, i as u8);
}
}
map
}
pub const DAKUTEN_PAIRS: &[(char, char)] = &[
('が', 'か'),
('ぎ', 'き'),
('ぐ', 'く'),
('げ', 'け'),
('ご', 'こ'),
('ざ', 'さ'),
('じ', 'し'),
('ず', 'す'),
('ぜ', 'せ'),
('ぞ', 'そ'),
('だ', 'た'),
('ぢ', 'ち'),
('づ', 'つ'),
('で', 'て'),
('ど', 'と'),
('ば', 'は'),
('び', 'ひ'),
('ぶ', 'ふ'),
('べ', 'へ'),
('ぼ', 'ほ'),
];
pub const HANDAKUTEN_PAIRS: &[(char, char)] = &[
('ぱ', 'は'),
('ぴ', 'ひ'),
('ぷ', 'ふ'),
('ぺ', 'へ'),
('ぽ', 'ほ'),
];