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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
use rand::prelude::SliceRandom;
/// Prints random ASCII art of a horse, dog or a dolphin.
///
/// ## References
/// - [asciiart.eu](https://www.asciiart.eu)
/// - [asciiart.cc](https://asciiart.cc)
pub fn random() {
let horse = r"
# #
%%% ## ##
%%%%% ###%%###
%%%%% ### %%% #
%%%%%% ### %%% ###
%%%% ## %% #######
%%%%% # %% #O#####
%%%%%% # % #########
%%%%% ##### #########
### %% ####### #########
%%% ############ ########### ########
%%%% ############################### #######
%%%%% ################################## ######
%%%%%% #################################### #C###
%%%%%% ##################################### ###
%%%%% #######################################
%%%%%% ########################################
% %%%%%%% ########################################
%%%%%%%%% #######################################
%%%%%%%%%% ########################################
%%% %%%%%%%% ###### ################################
%%%%%%%% ###### #################### ##########
% %%%%%%%% ####### ########### ###### ##########
%%%%%%%%% ####### ########### ###### ########
%%%%%%%%%% ##### ### ######### ####### ######
%%%%%%%%%% #### ## ####### ####
%%%%%%%%%%% ## # ##### ###
%% %% % %% # ## ## ###
% % % # ### # ###
# ### ## ###
# ### ## ###
# #### #### ##
### ### ##### ###
#### ### #### ##
##### ### ## ##
##### #### ###
## ### ###
#### ##
#### ###
####
##
";
let dog = r###"
__.
.-".' .--. _..._
.' .' .' \ .-"" __ ""-.
/ / .' : --..:__.-"" ""-. \
: : / ;.d$$ sbp_.-""-:_:
; : : ._ :P .-. ,"TP
: \ \ T--...-; : d$b :d$b
\ `. \ `..' ; $ $ ;$ $
`. "-. ). : T$P :T$P
\..---^.. / `-' `._`._
.' "-. .-" T$$$b
/ "-._.-" ._ '^' ;
: \.`. /
; -. \`."-._.-'-'
: .'\ \ \ \ \
; ; /: \ \ \ . ;
: : , ; `. `.; :
; \ ; ; "-._: ;
: `. : : \/
; /"-. ; :
: / "-. : : ;
: .' T-; ; ;
; : ; ; / :
; ; : : .' ;
: : ;: _..-"\ :
: \ : ; / \ ;
; . '. '-; / ; :
; \ ; : : : : '-.
'.._L.:-' : ; ; . `.
; : : \ ; :
: '-.. '.._L.:-'
; , `.
: \ ; :
'..__L.:-'
"###;
let dolphin = r###"
_______
.,add88YYYYY88ba,
.,adPP""' `"Yba___,aaadYPPba,
.,adP"" .adP""""' .,Y8b
,adP"' __ d"' .,ad8P""Y8I
,adP"' d88b I .,adP""' ,d8I'
,adP" Y8P" ,adP"' .,adP"'
adP" "' dP" ,adP""'
,adP" P ,adP"'
.,,aaaad8P" ,adP"
,add88PP""""' ,dP"
,adP""' ,dP"
,8P"' d8"
,dP' dP'
`"Yba Y8
`"Yba `8,
`"Yba, 8I
`"8b 8I
dP __ ,8I
,8' ,d88b, ,d8'
dP ,dP' `Yb, ,d8'
,8' ,dP" `"Y8P'
dP ,8P"
,8' ,dP"
dP ,dP"
,8' ,8P'
I8 dP"
IP dP'
dI dP'
,8' dP'
dI dP'
8' ,8'
8 ,8I
8 dP'
8 ,8'
8, IP'
Ib ,dI
`8 I8'
8, 8I
Yb I8
`8, I8
Yb I8
`Y, I8
Ib I8,
`Ib `8I
`8, Yb
I8, `8,
`Yb, `8a
`Yb `Yb,
I8 `Yb,
dP `Yb,
,8' `Yb,
dP `Yb,
d88baaaad88ba, `8,
`"""' `Y8ba, ,dI
`""Y8baadP'
`""'
"###;
println!("{}", [dog, dolphin, horse].choose(&mut rand::thread_rng()).unwrap())
}