From d493ad60f2a9ce71537cab72a327f7d296822a72 Mon Sep 17 00:00:00 2001 From: tess Date: Wed, 4 May 2022 10:55:59 +0200 Subject: [PATCH] mi pona li nasa e nasin pi wuwojiti ala --- nimi_ale.txt | 7 +++++-- src/nimi_sin.rs | 33 ++++++++++++++++----------------- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/nimi_ale.txt b/nimi_ale.txt index 4b72427..7393331 100644 --- a/nimi_ale.txt +++ b/nimi_ale.txt @@ -1,5 +1,8 @@ akesi ala alasa ale anpa ante awen esun ijo ike ilo insa jaki jan jelo jo kala kalama kama kasi ken kili kiwen ko kon kule kulupu kute lape laso lawa len lete lili linja lipu loje luka lukin lupa ma mama mani mi moku moli monsi mu mun musi mute nanpa nasa nasin nena ni nimi noka olin ona open pakala pali palisa pan pilin pimeja pini pipi poka poki pona pu seli selo seme sewi sike sin sina sinpin sona sitelen soweli suli suno supa suwi taso telo tenpo toki tomo tu unpa uta utala walo wan waso wawa weka wile tonsi ku epiku jasima kijetesantakalu kin kipisi kokosila lanpan leko meso misikeke monsuta namako oko soko kepeken sama tan tawa lon li e o a la en pi anu -w t p s j k l n m -e u i o a +w t p s j k l +n m +e a +u o +i diff --git a/src/nimi_sin.rs b/src/nimi_sin.rs index 55b0b5d..cb19cb3 100644 --- a/src/nimi_sin.rs +++ b/src/nimi_sin.rs @@ -13,21 +13,24 @@ pub fn pali(i: u8) -> String { while x < mute { let mut nimi: char; if rand::random() || x > 0 { //kipisi 1 la nimi ni li ken lon li ken lon ala. kipisi mute la nimi ni li wile lon - loop { - nimi = nimi_w(); - if nimi_pini != 'n' { break; } - if nimi != 'n' && nimi != 'm' { break; } //o nn ala o nm ala + if nimi_pini == 'n' { + nimi = nimi_tan(3,3); + } else { + nimi = nimi_tan(3,4); } nimi_sin.push(nimi); nimi_pini = nimi; } - - loop { - nimi = nimi_e(); - //o wuwojiti ala - if nimi_pini != 'w' && nimi_pini != 'j' && nimi_pini != 't' { break; } - if nimi_pini == 'w' && nimi != 'o' && nimi != 'u' { break; } - if (nimi_pini == 'j' || nimi_pini == 't') && nimi != 'i' { break; } + + //o wuwojiti ala + if nimi_pini == 'w' { + //ni li nasa a + nimi = *Vec::from([nimi_tan(5,5), nimi_tan(7,7)]) + .choose(&mut rand::thread_rng()).unwrap(); + } else if nimi_pini == 'j' { + nimi = nimi_tan(5,6); + } else { + nimi = nimi_tan(5,7); } nimi_sin.push(nimi); 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 @@ -43,12 +46,8 @@ pub fn pali(i: u8) -> String { nimi_sin //o pana e nimi sin } -fn nimi_w() -> char { //ni li pana e nimi sama nimi w - let kulupu_nimi = lipu_nimi::pana(3,3); +fn nimi_tan(i: usize, j: usize) -> char { //ni li pana e nimi tan linja lon lipu + let kulupu_nimi = lipu_nimi::pana(i,j); kulupu_nimi.choose(&mut rand::thread_rng()).unwrap().chars().nth(0).unwrap() } -fn nimi_e() -> char { //ni li pana e nimi sama nimi e - let kulupu_nimi = lipu_nimi::pana(4,4); - kulupu_nimi.choose(&mut rand::thread_rng()).unwrap().chars().nth(0).unwrap() -}