pub fn lookup(word: &str) -> Option<&'static str> {
match word.to_lowercase().as_str() {
"cat" => Some(r"
/\_____/\
( ' ' )
=( Y )=
) (
(_)-(_)"),
"kitten" => Some(r"
/\_____/\
( ^._.^ ~~)
\ ~ ~ /
`-----'"),
"dog" => Some(r"
,_-~~~-, _-~~-_
/ ^-_/ \_
| /\ , \
| /~^\ '/ /~\ /~\ \
\_/ }/ / \ \
Y / /~ /~ | Y
/ | {Q) {Q) | |
| \ _===_ / |
\ >--{ }--< \
/~ \_._/ ~\"),
"cow" => Some(r"
(__)
(oo)
/-------\/
/ | ||
* ||----||
~~ ~~"),
"unicorn" => Some(r"
/
__ //
-\= \=\ //
--=_\=---//=--
-_==/ \/ //\/--
==/ /O O\==--
/_/ \ ] /--
/ ] ] ]==-"),
"turtle" => Some(r"
___-------___
_-~~ ~~-_
_-~ /~-_
/^\__/^\ /~ \ / \
/| O|| O| / \_______/ \
| |___||__|/ / \
| \ / \
\ (_______)/___/ \
\ /
\_________________________________/"),
"butterfly" => Some(r"
_--_ _--_
/#()# #\ 0 0 /# #()#\
|()## \#\_ \ / _/#/ ##()|
|#()##-=###\_ \ / _/###=-##()#|
\#()#-=## #\_V_/# ##=-#()#/
|#()#--==### ###==--#()#|
\#()##---===###===---##()#/
|#()#____==#####==____#()#|"),
"whale" => Some(r"
@
;;;
;;;;
;;;;;.
.;;;;;;**.
;`* .;;; `**.
;;`****. '*.
;;;;'****.
;;;;; `**.
;;;;;; .*
;;;;;;;;
~~~~~;;;;;;;;~~~~~
;;;;;;
;;;;;"),
"elephant" => Some(r"
___ _,.--.,_
.-~ ~--'~-. ._ '-.
/ ./_ Y '-. \
Y :~ ! Y
lq p | / .|
_ \. .-, l / |j
()\___) |/ \_/' !
\._____.-~\ . ~\. ./
Y_ Y_. 'vr'~ T
( ( |L j
[nn[nn..][nn..]
~~~~~~~~~~~~~~~~~~~~~~~"),
"wolf" => Some(r"
_
/ \ _-'
_/| \-''- _ /
__-' { | \
/ \
/ 'o. |o }
| \ ;
',
\_ __\
''-_ \\.//
/ '-____'
/
_'
_-'"),
"bear" => Some(r"
__
__/~~\-''- _ |
__- - { \
/ \
/ ;o o }
| ;
'
\_ (..)
''-_ _ _ /
/
/"),
"fish" => Some(r"
/`-._
/ / \
/ / |
| / o |
\/ |
\. /
><((('>"),
"shark" => Some(r"
__
( `\
__ _ ) /
( (`\ _,--''` /
`\ `\ (__,----' _
) ) )) ( ___, ,-''`
/ / // ___ `---',--'
/ / // ( o `)----'
(___/ `---'
~~~~~~~~~~~~~~~~~~"),
"bird" => Some(r"
_ _
(0)--(0)
/| |\
| |
_ | | _
/ \| |/ \
/ \
/_______________\"),
"eagle" => Some(r"
_
__/ \ _-'
_/| \-''- _ /
( { \
\ ( ( ) \
\ ) ) ) /
\___/ _(_( /
/ \ /
/ Y
/ ,-'"),
"penguin" => Some(r"
_~_
(o o)
/| ^ |\
| # |
|___|
/ \"),
"snail" => Some(r"
.----.
/ .-' \
| \ /
\ '----'
\
~~~~\~~~~
,-. \ ,--.
| | \/ |
'--' '--"),
"spider" => Some(r"
| |
\ | / | / \
\|/ | /
--*---*---*--
/|\ | \
/ | \ | \ /
| |"),
"rabbit" => Some(r"
,
/| __
/ | ,-~ /
Y :| // /
| jj /( .^
>-'~'-v'
/ Y
jo o |
( ~T~ j
>._-' _./
/ '~' |
Y _, |
/| ;-'~ _ l
/ l/ ,-'~ \
\\//\/ .-\
Y / Y"),
"possum" => Some(r"
: :
__ | | _,_
( ~~^-l_____],.-~ /
\ ')\ '^k. (_,-'
`>._ ' _ `\ \
_.-~/'^k. (0) ` (0
.-~ { ~` ~ ..T
/ . '-.. _.-'
\ Y . 'T
Y l ~-./l_"),
"kangaroo" => Some(r"
_ ___
_ _@)@) \
_/o\_ _ _ _/~`.`...'~\
/ `,'.~,~.~ . , . , ~|,
( ' _' _ '_` _ ' . , `\_/
~V~ V~ V~ V~ ~\ ` ' . ' ,
_/\ /\ /\ /\_/, . ' , `_/~\_ .'"),
"bat" => Some(r"
___, ,___
\ \ / /
\ \/ /
\ /
(O ------ O)
/ \
/ > < \"),
"owl" => Some(r"
/\ /\
{ `---' }
{ O O }
~~> V <~~
\ \|/ /
`-----'__
/ \ `^\_
{ }\ |\_\_ W
| \_/ |/ / \_\_( )
\__/ /(_E \__/"),
"snake" => Some(r"
__
/ _)
.-^^^-/ /
__/ /
<__.|_|-|_|"),
"dragon" => Some(r"
_ _
/ `-._ _.-' \
/ / `-._ _.-' \ \
/ / `-' \ \
| | /\ /\ | |
| | / \ ___ ___ / \| |
\ \ \ / / ) ( \ \ / /
\ `-./ |o_/ \_o| \.-'
`--'\ \ ) ( / /--'
| `-----' |
\ `---' /
`--_ _--'
`---'"),
"scorpion" => Some(r"
,--,
( oo )
/| |\
| | | |
\| |/
| |
/\ /\
(__)(__) "),
"sun" => Some(r"
\ | /
'-. .-'
---( * * * )---
.-' '-.
/ | \"),
"moon" => Some(r"
_..._
.' . '.
| o \
'. . |
'-._.-'"),
"mountain" => Some(r"
/\ /\
/ \ /\ / \
/ /\ \ //\\ // \\
/ / \ \ // \\ // \\
/_/ \_\ // \\// \\"),
"tree" | "pine" => Some(r"
*
***
*****
*******
*********
***********
| |
| |"),
"flower" => Some(r"
@ @ @
@ @
@ * @
@ @
@ @ @
|
\|/
|"),
"wave" => Some(r"
~~~~
/ \ /\
/ \ / \
\/"),
"rose" => Some(r"
,-.
( (
`-'
,-' `-.
/ __|__ \
( ( _ ) )
\ `-----' /
`-------'
|
|
~---'---~"),
"snowman" => Some(r"
.-~~\
/ \ _
~x .-~_)_
~x'.-~ ~-.
_ ( / \ _
|| T o o Y ||
==:l l < ! I;==
\\ \ .__/ / //
\\ ,r'-,___.-'r.//
___,.---^. o .^---..___
'~~~ ' ~ ~~~'"),
"leaf" => Some(r"
_
_/ \_
/ / \ \
| / \ |
\\ _ //
`---'"),
"mushroom" => Some(r"
_____
/ \
| . . . |
| _ |
\_____/
| |
| |
/___\"),
"cactus" => Some(r"
|
__|__
| |
| * |--
| |
-|-----|
| |--
|_____|"),
"planet" | "earth" => Some(r"
___
/ - \
| /---\ |
| \ / |
\ - /
---"),
"saturn" => Some(r"
.
* . .
0
. #\##\#
# #O##\###
. #*# #\##\###
##*# #\##\##
##*# #o##\#
*# #\#
\ "),
"star" => Some(r"
.
-*-
*****
*******
*****
-*-
.
*
* - * - *
*"),
"shooting-star" => Some(r"
\
*
\ *
\ . *
\. * ."),
"ufo" => Some(r"
___________
/ o o o \
/ _________ \
/__/ \__\
/ ~~~~~ \
/_______________\"),
"comet" => Some(r"
*
* .
* .
* .
*.
*. . *
*. . .
*. . .
*. . . . . ."),
"house" => Some(r"
/\
/ \
/ /\ \
/_/ \_\
| _ _ |
| | || | |
|_|_||_|_|"),
"castle" => Some(r"
|>>> |>>>
| |
* *
/ \ / \
/___\ /___\
[ ] [ ]
[ I ]_________|_________[ I ]
[ ] U U U | U U U [ ]
[ ]========|==========[ ]
[___] | [___]"),
"rocket" => Some(r"
/\
/ \
| ** |
| |
/| |\
/ | | \
/ |____| \
/ / \ \
|__/ \__|
\ /
| |
|____|"),
"car" => Some(r"
______
/|_||_\`.
( _ _ _\
=`-(_)--(_)-'"),
"train" => Some(r"
o o o o o o o . . .
o _____ __________________
.][__n_n_|DD[ ====___| ________________ |
>(________|__|_[_________]_| |
/ooOOOO OOOOoo ooo ooo `oo' `oo' |"),
"ship" => Some(r"
_____|_____
| |
| |
_________|___________|_________
/=================================\
/___________________________________\
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"),
"plane" => Some(r"
__|__
--o--o--(_)--o--o--
O O"),
"helicopter" => Some(r"
____________
/____________\
/o o o \___________
\________________]======>
O O"),
"sword" => Some(r"
|
/|\
/ | \
/ | \
|
|
_|_
|___|"),
"crown" => Some(r"
\ * * * /
\_____________/
| |
|_____________|"),
"heart" => Some(r"
_ _
/ \ / \
| * |
\ /
\ /
\ /
V"),
"skull" => Some(r"
.-.
(o o)
| O |
| |
\_/
_| |_
(_) (_)"),
"shield" => Some(r"
________
/ \
| ( ) |
| ___ |
| / \ |
\_______/"),
"key" => Some(r"
_____
/ \
| ( ) |
\_____/
|
_|_
|___|
|"),
"lock" => Some(r"
__
/ \
| () |
\__/
________
| __ |
| | | |
| |__| |
|________|"),
"book" => Some(r"
________
/ \
| ______ |
| | hi | |
| |______| |
|__________|
\________/"),
"clock" => Some(r"
_____
/ \
| 12 |
| 9 3 |
| 6 |
\_____/"),
"hourglass" => Some(r"
_________
|_________|
\ /
\ /
\ /
/ \
/ \
/ \
|_________|"),
"trophy" => Some(r"
_____
/ \
| ( ) |
\ /
_\___/_
|_______|
| |
_|_|_
|_____|"),
"lantern" | "lamp" => Some(r"
____
/ \
| /\ |
| / \ |
|/ () \|
\ /
\ /
\/
||
__|__"),
"coffee" | "cup" => Some(r"
( (
) )
........
| |]
| |
'------'"),
"pizza" => Some(r"
______
/ /\ \
/ / \ \
/__/____\__\
\ \ / /
\ \ / /
\__\/ /"),
"bomb" => Some(r"
@ fuse
/
( )
( * )
( )
\_/"),
"fire" | "flame" => Some(r"
)
) \
/ ) (
\(_)/
\_/"),
"lightning" | "bolt" | "thunder" => Some(r"
/|
/ |
/ |
/___|
/
/
/"),
"anchor" => Some(r"
_
(_)
|
__|__
/ \
| |
| ___ |
\_____/"),
"diamond" => Some(r"
/\
/ \
/ <> \
\ /
\ /
\/"),
"ghost" => Some(r"
_______
/ \
| o o |
| ^ |
| \___/ |
|___|_|___|"),
"robot" => Some(r"
________
| o o |
| ____ |
| | | |
|_| |_|
| |
/| |\"),
"alien" => Some(r"
___
/ \
| ^ ^ |
| o |
| --- |
/_____\"),
"snowflake" => Some(r"
*
* | *
*--\|/--*
* -*- *
*--/|\--*
* | *
*"),
"dna" | "helix" => Some(r"
6098)o%:::%o(860
098)o%:::%o(8609
6o%:%o(86098)
(86098)o
6098)o%::%o9
098)o%::::::%o9
6o%::::::%o(860
6o%::%o(8609
o(86098)
(86098)o%:%o9
6098)o%:::%o(860"),
"atom" => Some(r"
___
/ \
/ . . \
| * |
\ . . /
\___/
/ \
/ ___ \
/ / \ \"),
"guitar" | "music" => Some(r"
___
/ | \
| | |
\ | /
\|/
|
_|_
/ . \
| . |
\ /
---"),
"note" => Some(r"
_
| \
| \
| |
|___|
J"),
"chess" | "pawn" => Some(r"
___
( O )
( O )
/| |\
| | | |
\|___|/
| |
/| |\
|_|___|_|"),
"target" => Some(r"
___
/ O \
| (O) |
| ((O)|
\ /
---"),
"maze" => Some(r"
aaaaaaaaaaaaaaaaaa
8 8 8
8 8 aaaaa 8
8 8 8 8
8aaaa 8aaaaaaa8
8 8 8
8 8 aaaaa 8
8 8 8
8aaaaaaaaaaaaaaaa"),
"heart2" | "love" => Some(r"
_____ _____
,ad8PPPP88b, ,d88PPPP8ba,
d8P' 'Y8b, ,d8P' 'Y8b
dP' '8a8' 'Yd
8( ' )8
I8 8I
Yb, ,dP
'8a, ,a8'
'Yba adP'
'88, ,88'
'8b d8'
'8b d8'
'888 888'
'8888'"),
"compass" => Some(r"
N
|
W --+-- E
|
S"),
"flag" => Some(r"
|~~~~~~~~~~~~~|
| * * * * * |
| =========== |
| * * * * * |
| =========== |
|_____________|
|"),
"crown2" | "king" => Some(r"
\ * * * /
\ /
\_____________/
| ___ |
| / \ |
| | | |
| |_____| |
|____________|"),
"ship2" | "galleon" => Some(r"
__|_____
| | |
_________|__|_____|_
/=========================\
/___________________________\
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"),
"wizard" => Some(r"
* * *
\ | /
`---'
( o.o )
`---'
/| |\
/ | | \
/__| |__\
| |
/ \"),
"angel" => Some(r"
`; ;,
`@, ,@@
`@@, ;@;'
,:;@;, .;@;:,
`@;:;@@;, ,;@@;::@'
`@;::;@@;,..,;@@;;:;@'
;:;;;;;@@@@@@@;;;;;:
`:;;:;;;;;@@@@@;;;;;'
`:;;@@;:;@@@;@@;:'
`::;;;;@@@;;:;'"),
"santa" => Some(r"
*<:-)
/| |\
/ | | \
| |
| o |
|___|
| |
/ \"),
"skull2" | "pirate" => Some(r"
___________
/ \
| o _____ o |
| / \ |
| | | | | |
| \_____/ |
| / | | \ |
\_____________/
| | | |
|__| |__|"),
"ocean" | "sea" => Some(r"
~~~~ ~~ ~~~~ ~~
~~ ~~ ~~ ~~ ~~
~~ ~~~~ ~~~~
~~~~ ~~ ~~~~ ~~ ~~~"),
"forest" => Some(r"
* * * * * * * * *
* * * * * *
* ^ * * ^ * * ^ *
* | * * | * * | *
| | | | | |
| | | | | |"),
"campfire" => Some(r"
|\
\\ _/
|| // _/
| \/|| \\
| \_ |\_ |#\_/#| /
V \\ \#\ \###/ || |
| || |#| |#( ||
|\/_#| |#| |##\ \\_/#|
\##/ /###V##:#| |##/
|#\/#:####::##V##|"),
"enterprise" | "starship" => Some(r"
__________________ __
\_________________|)____.---'--`---.____
|| \----.________.----/
|| / / `--'
__||____/ /_
|___ \
`--------'"),
_ => None,
}
}
pub fn list_all() -> Vec<&'static str> {
vec![
"cat", "kitten", "dog", "cow", "unicorn", "turtle", "butterfly", "whale",
"elephant", "wolf", "bear", "fish", "shark", "bird", "eagle", "penguin",
"snail", "spider", "rabbit", "possum", "kangaroo", "bat", "owl", "snake",
"dragon", "scorpion",
"sun", "moon", "mountain", "tree", "pine", "flower", "wave", "rose",
"snowman", "leaf", "mushroom", "cactus",
"planet", "earth", "saturn", "star", "shooting-star", "ufo", "comet",
"house", "castle", "rocket", "car", "train", "ship", "plane", "helicopter",
"sword", "crown", "heart", "skull", "shield", "key", "lock", "book", "clock",
"hourglass", "trophy", "lantern", "lamp", "coffee", "cup", "pizza", "bomb",
"fire", "flame", "lightning", "bolt", "thunder", "anchor", "diamond", "ghost",
"robot", "alien", "snowflake", "dna", "helix", "atom", "guitar", "music",
"note", "chess", "pawn", "target", "maze", "compass", "flag",
"heart2", "love", "ship2", "galleon", "crown2", "king",
"wizard", "angel", "santa", "pirate",
"ocean", "sea", "forest", "campfire",
"enterprise", "starship",
]
}