ilo lili la lipu li kama pona
This commit is contained in:
parent
ba89c4aba5
commit
235998c5d9
|
@ -2,7 +2,7 @@ use rand::seq::SliceRandom;
|
|||
pub fn pana_lipu(i: usize, j: usize) -> Vec<String> {
|
||||
let lipu_nimi = std::fs::read_to_string("nimi_ale.txt").unwrap();
|
||||
let mut kulupu_nimi = Vec::new();
|
||||
for nanpa in i..j+1 {
|
||||
for nanpa in i..j + 1 {
|
||||
for nimi in lipu_nimi.lines().nth(nanpa).unwrap().split_whitespace() {
|
||||
kulupu_nimi.push(String::from(nimi));
|
||||
}
|
||||
|
|
30
src/main.rs
30
src/main.rs
|
@ -1,15 +1,15 @@
|
|||
#![feature(proc_macro_hygiene, decl_macro)]
|
||||
#[macro_use]
|
||||
#[macro_use]
|
||||
extern crate rocket;
|
||||
use rocket_contrib::templates::Template;
|
||||
use rocket_contrib::serve::StaticFiles;
|
||||
use rocket::response::NamedFile;
|
||||
use markov::Chain;
|
||||
use std::collections::HashMap;
|
||||
use rand::Rng;
|
||||
mod toki;
|
||||
mod nimi_sin;
|
||||
use rocket::response::NamedFile;
|
||||
use rocket_contrib::serve::StaticFiles;
|
||||
use rocket_contrib::templates::Template;
|
||||
use std::collections::HashMap;
|
||||
mod lipu_nimi;
|
||||
mod nimi_sin;
|
||||
mod toki;
|
||||
|
||||
#[get("/")]
|
||||
fn nimi() -> Template {
|
||||
|
@ -23,16 +23,22 @@ fn seme() -> Option<NamedFile> {
|
|||
}
|
||||
|
||||
fn main() {
|
||||
rocket::ignite().attach(Template::fairing()).mount("/", routes![nimi])
|
||||
rocket::ignite()
|
||||
.attach(Template::fairing())
|
||||
.mount("/", routes![nimi])
|
||||
.mount("/static", StaticFiles::from("static"))
|
||||
.mount("/", routes![seme]).launch(); //o pana e lipu ale
|
||||
.mount("/", routes![seme])
|
||||
.launch(); //o pana e lipu ale
|
||||
}
|
||||
|
||||
fn o_pali_e_lipu() -> HashMap<String, String> {
|
||||
let mut ijo = HashMap::new();
|
||||
let nimi_sin = nimi_sin::pali(4);
|
||||
ijo.insert("nimisin".to_string(), nimi_sin.clone()); //o pana e ijo tawa nasin lipu
|
||||
ijo.insert("kon".to_string(), markov(rand::thread_rng().gen_range(1..3)));
|
||||
ijo.insert(
|
||||
"kon".to_string(),
|
||||
markov(rand::thread_rng().gen_range(1..3)),
|
||||
);
|
||||
let mut nanpa = 1;
|
||||
let mut toki_mute = String::new();
|
||||
while nanpa < rand::thread_rng().gen_range(2..5) {
|
||||
|
@ -44,7 +50,8 @@ fn o_pali_e_lipu() -> HashMap<String, String> {
|
|||
ijo
|
||||
}
|
||||
|
||||
fn markov(nanpa: u8) -> String { // pali e nimi sin kepeken ilo Mako.
|
||||
fn markov(nanpa: u8) -> String {
|
||||
// pali e nimi sin kepeken ilo Mako.
|
||||
let mut mako = Chain::new();
|
||||
let mut x = 0;
|
||||
let mut kon = String::new();
|
||||
|
@ -56,4 +63,3 @@ fn markov(nanpa: u8) -> String { // pali e nimi sin kepeken ilo Mako.
|
|||
}
|
||||
kon
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
use rand::Rng;
|
||||
use crate::lipu_nimi;
|
||||
use rand::Rng;
|
||||
|
||||
pub fn pali(i: u8) -> String {
|
||||
let mut npsa = rand::thread_rng(); //ni li pali e nanpa pi sona ala (npsa)
|
||||
|
@ -11,34 +11,37 @@ 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
|
||||
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
|
||||
if nimi_pini == 'n' {
|
||||
nimi = lipu_nimi::pana_lili(&[3]);
|
||||
} else {
|
||||
nimi = lipu_nimi::pana_lili(&[3,4]);
|
||||
nimi = lipu_nimi::pana_lili(&[3, 4]);
|
||||
}
|
||||
nimi_sin.push(nimi);
|
||||
nimi_pini = nimi;
|
||||
}
|
||||
|
||||
|
||||
//o wuwojiti ala
|
||||
if nimi_pini == 'w' {
|
||||
nimi = lipu_nimi::pana_lili(&[5,7]);
|
||||
nimi = lipu_nimi::pana_lili(&[5, 7]);
|
||||
} else if nimi_pini == 'j' || nimi_pini == 't' {
|
||||
nimi = lipu_nimi::pana_lili(&[5,6]);
|
||||
nimi = lipu_nimi::pana_lili(&[5, 6]);
|
||||
} else {
|
||||
nimi = lipu_nimi::pana_lili(&[5,6,7]);
|
||||
nimi = lipu_nimi::pana_lili(&[5, 6, 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
|
||||
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
|
||||
nimi = 'n';
|
||||
nimi_sin.push(nimi);
|
||||
}
|
||||
nimi_pini = nimi;
|
||||
x += 1;
|
||||
}
|
||||
if lipu_nimi::pana_lipu(0,2).contains(&nimi_sin) { //nimi sin li sin ala la, o pali sin e nimi
|
||||
return pali(i)
|
||||
if lipu_nimi::pana_lipu(0, 2).contains(&nimi_sin) {
|
||||
//nimi sin li sin ala la, o pali sin e nimi
|
||||
return pali(i);
|
||||
}
|
||||
nimi_sin //o pana e nimi sin
|
||||
}
|
||||
|
|
25
src/toki.rs
25
src/toki.rs
|
@ -1,7 +1,5 @@
|
|||
use rand::Rng;
|
||||
use crate::lipu_nimi;
|
||||
|
||||
|
||||
use rand::Rng;
|
||||
|
||||
pub fn pali(nimi_sin: &str) -> String {
|
||||
pali_lili(nimi_sin, true, false) //ilo li pali e toki la nimi "la" li ken lon la nimi sin li lon ala
|
||||
|
@ -34,16 +32,20 @@ fn pali_lili(nimi_sin: &str, la_li_ken: bool, nimi_sin_li_lon_a: bool) -> String
|
|||
}
|
||||
let mut y = 0;
|
||||
let suli_kipisi;
|
||||
if suli == 1 { suli_kipisi = rand::thread_rng().gen_range(2_u8..4);
|
||||
if suli == 1 {
|
||||
suli_kipisi = rand::thread_rng().gen_range(2_u8..4);
|
||||
} else {
|
||||
suli_kipisi = rand::thread_rng().gen_range(1_u8..4); //kipisi la nimi tu tu li ken lon
|
||||
suli_kipisi = rand::thread_rng().gen_range(1_u8..4); //kipisi la nimi tu tu li ken lon
|
||||
}
|
||||
while y < suli_kipisi {
|
||||
let nimi_ni = lipu_nimi::pana(&[0,1]);
|
||||
let nimi_ni = lipu_nimi::pana(&[0, 1]);
|
||||
if (nimi_ni == "mi" || nimi_ni == "sina") && suli_kipisi == 1 {
|
||||
mi_anu_sina = true; //nimi li nimi "mi" taso anu nimi "sina" taso
|
||||
}
|
||||
if (rand::thread_rng().gen_range(0_u8..4) == 0 || (x == suli-1 && y == suli_kipisi-1)) && !nimi_sin_li_lon {
|
||||
if (rand::thread_rng().gen_range(0_u8..4) == 0
|
||||
|| (x == suli - 1 && y == suli_kipisi - 1))
|
||||
&& !nimi_sin_li_lon
|
||||
{
|
||||
toki_sin.push_str(nimi_sin); //ilo li pana e nimi sin.
|
||||
nimi_sin_li_lon = true; //ni la, nimi sin li lon!
|
||||
} else {
|
||||
|
@ -51,16 +53,17 @@ fn pali_lili(nimi_sin: &str, la_li_ken: bool, nimi_sin_li_lon_a: bool) -> String
|
|||
}
|
||||
toki_sin.push_str(" ");
|
||||
y += 1;
|
||||
if suli_kipisi-y > 1 && rand::random() { //nimi "pi" li ken lon la, ona li ken lon!
|
||||
if suli_kipisi - y > 1 && rand::random() {
|
||||
//nimi "pi" li ken lon la, ona li ken lon!
|
||||
toki_sin.push_str("pi ");
|
||||
}
|
||||
}
|
||||
x += 1;
|
||||
}
|
||||
}
|
||||
if la_anu_seme {
|
||||
toki_sin.push_str("la ");
|
||||
toki_sin.push_str(pali_lili(nimi_sin, false, nimi_sin_li_lon).as_str()); //nimi "la" li lon la, ilo li pali e toki sin li pana e toki ni
|
||||
toki_sin.push_str(pali_lili(nimi_sin, false, nimi_sin_li_lon).as_str());
|
||||
//nimi "la" li lon la, ilo li pali e toki sin li pana e toki ni
|
||||
}
|
||||
toki_sin //ilo li pana e toki
|
||||
}
|
||||
|
||||
|
|
Binary file not shown.
|
@ -8,6 +8,10 @@
|
|||
</head>
|
||||
|
||||
<body>
|
||||
<header id=header>
|
||||
<h1><a href="/" class=nena></a></h1>
|
||||
</header>
|
||||
|
||||
<div class=poki>
|
||||
<h2 class=nimisin>ilo ni li seme??</h2>
|
||||
<p class=kon>toki a! ilo ni li pali e nimi sin. kin la, ona li pali e kon pi nimi sin, li pali e toki kepeken nimi sin ni.<br>
|
||||
|
@ -19,7 +23,8 @@
|
|||
<p class=kon>mi a! mi <a href="https://tess.kittycat.homes" class="toki">soweli Tesa</a>!
|
||||
</div>
|
||||
|
||||
<footer id="footer" class=toki>
|
||||
<a href="seme">ni li seme</a>
|
||||
<a href="./">o pana e nimi sin</a>
|
||||
<footer class=toki id="footer" class=toki>
|
||||
<a href="seme"></a>
|
||||
<span>|</span>
|
||||
<a href="/"></a>
|
||||
</footer>
|
||||
|
|
|
@ -10,8 +10,12 @@
|
|||
font-family: toki;
|
||||
src:url("OpenSans-Regular.ttf");
|
||||
}
|
||||
@font-face {
|
||||
font-family: sitelen pona;
|
||||
src:url("linja-nanpa.otf");
|
||||
}
|
||||
|
||||
#footer {
|
||||
#footer {
|
||||
bottom : 40px;
|
||||
height : 40px;
|
||||
margin-top : 40px;
|
||||
|
@ -19,22 +23,32 @@
|
|||
vertical-align: middle;
|
||||
position:fixed;
|
||||
width:100%;
|
||||
font-family: sitelen pona;
|
||||
}
|
||||
|
||||
#footer * {
|
||||
margin-right: 40px;
|
||||
margin-left: 40px;
|
||||
#header {
|
||||
top:40px;
|
||||
height:40px;
|
||||
margin-bottom:40px;
|
||||
text-align:center;
|
||||
vertical-align:middle;
|
||||
position:static;
|
||||
width:100%;
|
||||
font-family: sitelen pona;
|
||||
}
|
||||
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: #f8f8ff;
|
||||
font-size:150%
|
||||
font-size:150%;
|
||||
|
||||
}
|
||||
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
@ -43,14 +57,23 @@ a:hover {
|
|||
text-decoration: underline;
|
||||
}
|
||||
|
||||
@media (min-width:600px) {
|
||||
.nimisin-poki {
|
||||
position: absolute;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
-moz-transform: translateX(-50%) translateY(-50%);
|
||||
-webkit-transform: translateX(-50%) translateY(-50%);
|
||||
transform: translateX(-50%) translateY(-50%);
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width:600px) {
|
||||
.nimisin-poki {
|
||||
|
||||
padding-bottom:60px;
|
||||
}
|
||||
}
|
||||
|
||||
.nimisin {
|
||||
font-family: nimi sin;
|
||||
|
@ -68,4 +91,13 @@ a:hover {
|
|||
font-style: italic;
|
||||
}
|
||||
|
||||
.nena {
|
||||
color: #7979ff;
|
||||
}
|
||||
|
||||
.nena:hover {
|
||||
text-shadow: 0 0 5px #7979ff;
|
||||
text-decoration:none;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -8,6 +8,9 @@
|
|||
</head>
|
||||
|
||||
<body>
|
||||
<header id=header>
|
||||
<h2><a href="/" class=nena></a></h2>
|
||||
</header>
|
||||
|
||||
<div class=nimisin-poki>
|
||||
<h1 class=nimisin>{{nimisin}}</h1>
|
||||
|
@ -15,10 +18,10 @@
|
|||
<pre class=toki>{{toki}}</pre>
|
||||
</div>
|
||||
|
||||
<footer id="footer" class="toki">
|
||||
<a href="seme">ni li seme</a>
|
||||
<a href="/">o pana e nimi sin</a>
|
||||
<footer id=footer>
|
||||
<a class=toki href="seme"></a>
|
||||
<span class=toki>|</span>
|
||||
<a class=toki href="/"></a>
|
||||
</footer>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
Loading…
Reference in New Issue