2022-05-03 03:42:27 +00:00
|
|
|
use crate::lipu_nimi;
|
2022-05-05 02:11:15 +00:00
|
|
|
use rand::Rng;
|
2022-05-02 16:52:19 +00:00
|
|
|
|
2022-05-05 03:17:26 +00:00
|
|
|
///ni li pali e nimi sin
|
|
|
|
///nimi sin la, nasin (C)V(N)(CV(N)) o lon
|
|
|
|
///
|
|
|
|
///# wile
|
|
|
|
///`i` - suli pi nimi sin. ona li wan la, nimi sin li ken sama "ne" anu "nen". ona li tu la, "nene"
|
|
|
|
///anu "nenen" li ken kin
|
2022-05-02 16:52:19 +00:00
|
|
|
pub fn pali(i: u8) -> String {
|
|
|
|
let mut npsa = rand::thread_rng(); //ni li pali e nanpa pi sona ala (npsa)
|
|
|
|
let mute = npsa.gen_range(1..i); //suli nimi la ken mute li lon
|
|
|
|
|
|
|
|
let mut x = 0;
|
|
|
|
let mut nimi_pini = 'x'; //nimi 'x' li ken ala lon la ni li nimi_pini lon open
|
|
|
|
let mut nimi_sin = String::new();
|
|
|
|
|
|
|
|
while x < mute {
|
|
|
|
let mut nimi: char;
|
2022-05-05 20:16:57 +00:00
|
|
|
if npsa.gen_range(0..1) == 0 || x > 0 {
|
2022-05-05 03:17:26 +00:00
|
|
|
//kipisi wan la nimi ni li ken lon li ken lon ala. kipisi mute la nimi ni li wile lon
|
2022-05-04 08:55:59 +00:00
|
|
|
if nimi_pini == 'n' {
|
2022-05-04 10:07:21 +00:00
|
|
|
nimi = lipu_nimi::pana_lili(&[3]);
|
2022-05-04 08:55:59 +00:00
|
|
|
} else {
|
2022-05-05 02:11:15 +00:00
|
|
|
nimi = lipu_nimi::pana_lili(&[3, 4]);
|
2022-05-02 16:52:19 +00:00
|
|
|
}
|
|
|
|
nimi_sin.push(nimi);
|
|
|
|
nimi_pini = nimi;
|
|
|
|
}
|
2022-05-05 02:11:15 +00:00
|
|
|
|
2022-05-04 08:55:59 +00:00
|
|
|
//o wuwojiti ala
|
|
|
|
if nimi_pini == 'w' {
|
2022-05-05 02:11:15 +00:00
|
|
|
nimi = lipu_nimi::pana_lili(&[5, 7]);
|
2022-05-04 10:07:21 +00:00
|
|
|
} else if nimi_pini == 'j' || nimi_pini == 't' {
|
2022-05-05 02:11:15 +00:00
|
|
|
nimi = lipu_nimi::pana_lili(&[5, 6]);
|
2022-05-04 08:55:59 +00:00
|
|
|
} else {
|
2022-05-05 02:11:15 +00:00
|
|
|
nimi = lipu_nimi::pana_lili(&[5, 6, 7]);
|
2022-05-02 16:52:19 +00:00
|
|
|
}
|
|
|
|
nimi_sin.push(nimi);
|
2022-05-05 02:11:15 +00:00
|
|
|
if rand::thread_rng().gen_range(0..10) == 0 {
|
|
|
|
//nimi n li ken lon. TENPO KAMA LA mi ken wile e ni: nimi n li lon la, ante li lon ala. ante li lon la, nimi n li lon ala
|
2022-05-02 16:52:19 +00:00
|
|
|
nimi = 'n';
|
|
|
|
nimi_sin.push(nimi);
|
|
|
|
}
|
|
|
|
nimi_pini = nimi;
|
|
|
|
x += 1;
|
|
|
|
}
|
2022-05-05 02:11:15 +00:00
|
|
|
if lipu_nimi::pana_lipu(0, 2).contains(&nimi_sin) {
|
|
|
|
//nimi sin li sin ala la, o pali sin e nimi
|
|
|
|
return pali(i);
|
2022-05-03 03:42:27 +00:00
|
|
|
}
|
2022-05-03 16:01:02 +00:00
|
|
|
nimi_sin //o pana e nimi sin
|
2022-05-02 16:52:19 +00:00
|
|
|
}
|