1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
use std::iter::repeat;

const MAGMA: &str = r#"
        \
         \
      ..................................
        ................................
         ..........###..................
          ........#####.................
            ......(###,.................
             .......#...................
             //...........((............
            ////........,((((...........
          /////// .....((((((,..........
         //////    ...((((((............
       *//////      ((((((/.............
      //////       ((((((......####.....
    .//////      (((((((......######....
   //////,      ...(((.........#######..
  //////       .....(............######.
             ...........................
               #WeAreMAGMA
"#;

fn print_border(repeater: char, len: usize) {
    let border = repeat(repeater).take(len).collect::<String>();
    println!("{}", border);
}

pub fn say(message: &str) {
    print_border('-', message.len());
    println!("{}", message);
    print_border('-', message.len());
    println!("{}", MAGMA);
}