the implementation begins

This commit is contained in:
2024-03-27 21:41:34 -04:00
parent 99058032db
commit d6a0e3d742
141 changed files with 1726 additions and 353 deletions

View File

@@ -1,36 +0,0 @@
package Acme::Cow::DragonAndCow;
use strict;
use Acme::Cow;
@Acme::Cow::DragonAndCow::ISA = qw(Acme::Cow);
my $dragon_and_cow = <<'EOC';
{$balloon}
{$tl} ^ /^
{$tl} / \ // \
{$tl} |\___/| / \// .\
{$tl} /O O \__ / // | \ \ *----*
/ / \/_/ // | \ \ \ |
@___@` \/_ // | \ \ \/\ \
0/0/| \/_ // | \ \ \ \
0/0/0/0/| \/// | \ \ | |
0/0/0/0/0/_|_ / ( // | \ _\ | /
0/0/0/0/0/0/`/,_ _ _/ ) ; -. | _ _\.-~ / /
,-\} _ *-.|.-~-. .~ ~
\ \__/ `/\ / ~-. _ .-~ /
\____({$el}{$er}) *. \} \{ /
( (--) .----~-.\ \-` .~
//__\\ \__ Ack! ///.----..< \ _ -~
// \\ ///-._ _ _ _ _ _ _\{^ - - - - ~
EOC
sub new
{
my $proto = shift;
my $class = ref $proto || $proto;
my $self = $class->SUPER::new();
return bless $self, $class;
}
sub as_string
{
my $self = shift;
return $self->SUPER::as_string($dragon_and_cow);
}

View File

@@ -1,149 +0,0 @@
package Acme::Cow::Example;
use strict;
use Acme::Cow;
@Acme::Cow::Example::ISA = qw(Acme::Cow);
my $generic_ascii_art = <<'EOC';
{$balloon}
{$tr}
{$el}{$er} {$tr}
___________________
/ Insert cute ASCII \
\ artwork here. /
-------------------
{$U}
EOC
sub new
{
my $proto = shift;
my $class = ref $proto || $proto;
my $self = $class->SUPER::new();
$self->over(24);
return $self;
}
sub as_string
{
my $self = shift;
return $self->SUPER::as_string($generic_ascii_art);
}
1;
__END__
=pod
=head1 NAME
Acme::Cow::Example - How to write a "derived cow"
=head1 SYNOPSIS
package Acme::Cow::MyCow;
use Acme::Cow;
@Acme::Cow::MyCow::ISA = qw(Acme::Cow);
my $my_cow = <<'EOC';
... template goes here ...
EOC
sub new { ... }
sub as_string { ... }
=head1 DESCRIPTION
First, put together your template as described in L<Acme::Cow>,
using L<Text::Template> as a reference. It is recommended that
you store this template in a variable in your package's namespace.
B<Your template should not have tab characters in it.> This will
cause ugly things to happen.
Your C<new> method will likely want to look a lot like this:
sub new
{
my $proto = shift;
my $class = ref $proto || $proto;
my $self = $class->SUPER::new();
return $self;
}
Assuming you stored the template as C<$my_cow> then
your C<as_string> method will likely want to be like this:
sub as_string
{
my $self = shift;
return $self->SUPER::as_string($my_cow);
}
Below, we present the actual code in this module, so you can see
it in action. Yes, you can use this module to produce ASCII art.
No, it won't be very exciting.
=head1 Acme::Cow::Example code
package Acme::Cow::Example;
use strict;
use Acme::Cow;
@Acme::Cow::Example::ISA = qw(Acme::Cow);
my $generic_ascii_art = <<'EOC';
{$balloon}
{$tr}
{$el}{$er} {$tr}
___________________
/ Insert cute ASCII \
\ artwork here. /
-------------------
{$U}
EOC
sub new
{
my $proto = shift;
my $class = ref $proto || $proto;
my $self = $class->SUPER::new();
$self->over(24);
return $self;
}
sub as_string
{
my $self = shift;
return $self->SUPER::as_string($generic_ascii_art);
}
=head1 HIGHLIGHTS
The C<{$balloon}> directive is flush left, but due to the call to
C<over()> in the C<new()> method, it will be shoved over 24 spaces
to the right, to line up with the thought/speech lines (represented
by C<{$tr}>).
=head1 SAVING WORK
Included with the C<Acme::Cow> distribution is a short program
called C<cowpm> which takes care of most of the boilerplate stuff
for you. It's almost as simple as I<just add ASCII art> but there's
still a bit that you have to fill in. It has its own documentation;
you should peruse L<cowpm>.
=head1 SEE ALSO
L<Acme::Cow>, L<cowpm>
=head1 AUTHOR
Tony Monroe <tmonroe plus perl at nog dot net>
=head1 BUGS
Very few.

View File

@@ -1,35 +0,0 @@
package Acme::Cow::Frogs;
use strict;
use Acme::Cow;
@Acme::Cow::Frogs::ISA = qw(Acme::Cow);
my $frogs = <<'EOC';
{$balloon}
{$tr}
{$tr}
oO)-. .-(Oo
/__ _\ /_ __\
\ \( | ()~() | )/ /
\__|\ | (-___-) | /|__/
' '--' ==`-'== '--' '
EOC
sub new
{
my $proto = shift;
my $class = ref $proto || $proto;
my $self = $class->SUPER::new();
$self->over(46);
return bless $self, $class;
}
sub as_string
{
my $self = shift;
return $self->SUPER::as_string($frogs);
}
1;

View File

@@ -1,6 +1,7 @@
,-----.
| |
,--| |-.
## OFFSET 10
$thoughts ,-----.
$thoughts | |
$thoughts ,--| |-.
__,----| | | |
,;:: | `_____' |
`._______| i^i |
@@ -10,12 +11,7 @@
`-------' 'Y Y/'/'
.==\ /_\
^__^ / /'| `i
(oo)\_______ /' / | |
($eyes)\_______ /' / | |
(__)\ )\/\ /' / | `i
||----w | ___,;`----'.___L_,-'`\__
|| || i_____;----\.____i""\____\
$tongue ||----w | ___,;`----'.___L_,-'`\__
|| || i_____;----\.____i""\____\

View File

@@ -1,40 +0,0 @@
package Acme::Cow::MechAndCow;
use strict;
use Acme::Cow;
@Acme::Cow::MechAndCow::ISA = qw(Acme::Cow);
my $mech_and_cow = <<'EOC';
{$balloon}
{$tl} ,-----.
{$tl} | |
{$tl} ,--| |-.
__,----| | | |
,;:: | `_____' |
`._______| i^i |
`----| |---'| .
,-------._| |== ||//
| |_|P`. /'/
`-------' 'Y Y/'/'
.==\ /_\
^__^ / /'| `i
({$el}{$er})\_______ /' / | |
(__)\ )\/\ /' / | `i
{$U} ||----w | ___,;`----'.___L_,-'`\__
|| || i_____;----\.____i""\____\
EOC
sub new
{
my $proto = shift;
my $class = ref $proto || $proto;
my $self = $class->SUPER::new();
$self->over(10);
return bless $self, $class;
}
sub as_string
{
my $self = shift;
return $self->SUPER::as_string($mech_and_cow);
}
1;

View File

@@ -1,38 +0,0 @@
package Acme::Cow::Stegosaurus;
use strict;
use Acme::Cow;
@Acme::Cow::Stegosaurus::ISA = qw(Acme::Cow);
my $stegosaurus = <<'EOC';
{$balloon}
{$tr} . .
{$tr} / `. .' "
{$tr} .---. < > < > .---.
| \ \ - ~ ~ - / / |
_____ ..-~ ~-..-~
| | \~~~\.' `./~~~/
--------- \__/ \__/
.' O \ / / \ "
(_____, `._.' | \} \/~~~/
`----. / \} | / \__/
`-. | / | / `. ,~~|
~-.__| /_ - ~ ^| /- _ `..-'
| / | / ~-. `-. _ _ _
|_____| |_____| ~ - . _ _ _ _ _>
EOC
sub new
{
my $proto = shift;
my $class = ref $proto || $proto;
my $self = $class->SUPER::new();
$self->over(20);
return bless $self, $class;
}
sub as_string
{
my $self = shift;
return $self->SUPER::as_string($stegosaurus);
}
1;

View File

@@ -1,207 +0,0 @@
package Acme::Cow::TextBalloon;
use strict;
my $rcs_id = q$Id$;
=pod
=head1 NAME
Acme::Cow::TextBalloon - A balloon of text
=head1 SYNOPSIS
use Acme::Cow::TextBalloon;
$x = new Acme::Cow::TextBalloon;
$x->add("bunch of text");
$x->wrapcolumn(29);
$y = new Acme::Cow::TextBalloon;
$y->adjust(0);
$y->add("more text");
=head1 DESCRIPTION
C<Acme::Cow::TextBalloon> Creates and manipulates balloons of text,
optionally printing them. One may notice that the methods in this
module are named very similarly to those in C<Acme::Cow>; that's
because most of them have to do with the balloon rather than the
cow.
=cut
use Text::Tabs;
use Text::Wrap;
sub new
{
my $proto = shift;
my $class = ref $proto || $proto;
my $self = {
fill => 1,
mode => 'say',
over => 0,
text => [ ],
wrap => 40,
};
return bless $self, $class;
}
sub wrapcolumn
{
my $self = shift;
if (@_) {
$self->{'wrap'} = $_[0];
}
return $self->{'wrap'};
}
sub mode
{
my $self = shift;
return $self->{'mode'};
}
sub think
{
my $self = shift;
$self->{'mode'} = "think";
}
sub say
{
my $self = shift;
$self->{'mode'} = "say";
}
sub print
{
my $self = shift;
$self->{'mode'} = "think";
}
sub adjust
{
my $self = shift;
if (@_) {
$self->{'fill'} = $_[0];
}
return $self->{'fill'};
}
sub over
{
my $self = shift;
if (@_) {
$self->{'over'} = $_[0];
}
return $self->{'over'};
}
sub as_list
{
my $self = shift;
return $self->_construct();
}
sub as_string
{
my $self = shift;
return join('', $self->_construct());
}
sub add
{
my $self = shift;
push @{$self->{'text'}}, @_;
return $self->{'text'};
}
sub text
{
my $self = shift;
if (@_) {
my @l = @_;
$self->{'text'} = \@l;
}
return $self->{'text'};
}
sub _maxlength
{
my ($len, $max);
$max = -1;
for my $i (@_) {
$len = length $i;
$max = $len if ($len > $max);
}
return $max;
}
sub _fill_text
{
my $self = shift;
for my $i (@{$self->{'text'}}) {
$i =~ s/\s+$//;
}
$Text::Tabs::tabstop = 8;
my @expanded = Text::Tabs::expand(@{$self->{'text'}});
unless ($self->{'fill'}) {
return @expanded;
}
$Text::Wrap::columns = $self->{'wrap'};
my @filled = split("\n", Text::Wrap::wrap("", "", @expanded));
$Text::Tabs::tabstop = 2; # Defeat a dumb heuristic.
my @final = expand(@filled);
return @final;
}
sub _construct
{
my $self = shift;
my $mode = $self->{'mode'};
my @message = $self->_fill_text();
my $max = _maxlength(@message);
my $max2 = $max + 2; ## border space fudge.
my @border; ## up-left, up-right, down-left, down-right, left, right
my @balloon_lines = ();
my $shove = " " x $self->{'over'};
my $format = "$shove%s %-${max}s %s\n";
if ($mode eq think) {
@border = qw[ ( ) ( ) ( ) ];
} elsif (@message < 2) {
@border = qw[ < > ];
} else {
@border = ( "/", "\\", "\\", "/", "|", "|" );
}
push(@balloon_lines,
"$shove " . ("_" x $max2) . "\n" ,
sprintf($format, $border[0], $message[0], $border[1]),
(@message < 2 ? "" :
map { sprintf($format, $border[4], $_, $border[5]) }
@message[1 .. $#message - 1]),
(@message < 2 ? "" :
sprintf($format, $border[2], $message[$#message], $border[3])),
"$shove " . ("-" x $max2) . "\n"
);
return @balloon_lines;
}
=pod
=head1 AUTHOR
Tony Monroe E<lt>tmonroe+perl@nog.netE<gt>
=head1 SEE ALSO
L<Acme::Cow>
=cut
1;
__END__

20
cows/TuxStab.cow Normal file
View File

@@ -0,0 +1,20 @@
## OFFSET 8
$thoughts , ,
$thoughts /( )`
$thoughts \ \___ / |
/- _ `-/ '
(/\/ \ \ /\
/ / | ` \
O O ) / |
`-^--'`< '
.--. (_.) _ ) /
|o_o | `.___/` /
|:_/ | `-----' /
//<- \ \----. __ / __ \
(| <- | )---|====O)))==) \) /====
/'\ <- _/`\---' `--' `.__,' \
\___)=(___/ | |
\ /
______( (_ / \______
,' ,-----' | \
`--\{__________) \/

View File

@@ -1,43 +0,0 @@
package Acme::Cow::TuxStab;
use strict;
use Acme::Cow;
@Acme::Cow::TuxStab::ISA = qw(Acme::Cow);
my $tux_being_stabbed = <<'EOC';
{$balloon}
{$tl} , ,
{$tl} /( )`
{$tl} \ \___ / |
/- _ `-/ '
(/\/ \ \ /\
/ / | ` \
O O ) / |
`-^--'`< '
.--. (_.) _ ) /
|o_o | `.___/` /
|:_/ | `-----' /
//<- \ \----. __ / __ \
(| <- | )---|====O)))==) \) /====
/'\ <- _/`\---' `--' `.__,' \
\___)=(___/ | |
\ /
______( (_ / \______
,' ,-----' | \
`--\{__________) \/
EOC
sub new
{
my $proto = shift;
my $class = ref $proto || $proto;
my $self = $class->SUPER::new();
$self->over(8);
return bless $self, $class;
}
sub as_string
{
my $self = shift;
return $self->SUPER::as_string($tux_being_stabbed);
}
1;

View File

@@ -1,10 +1,9 @@
##
## Beavis, with Zen philosophy removed.
##
$the_cow = <<EOC;
$thoughts __------~~-,
$thoughts ,' ,
/ \\
/ \
/ :
| '
| |
@@ -12,12 +11,11 @@ $the_cow = <<EOC;
| _-- |
_| =-. .-. ||
o|/o/ _. |
/ ~ \\ |
(____\@) ___~ |
/ ~ \ |
(____@) ___~ |
|_===~~~.` |
_______.--~ |
\\________ |
\\ |
\________ |
\ |
__/-___-- -__
/ _ \\
EOC
/ _ \

View File

@@ -1,29 +1,26 @@
##
## Blowfish
##
$the_cow = <<EOC;
$thoughts
$thoughts
| .
. |L /|
_ . |\\ _| \\--+._/| .
/ ||\\| Y J ) / |/| ./
_ . |\ _| \--+._/| .
/ ||\| Y J ) / |/| ./
J |)'( | ` F`.'/
-<| F __ .-<
| / .-'. `. /-. L___
J \\ < \\ | | O\\|.-'
_J \\ .- \\/ O | | \\ |F
'-F -<_. \\ .-' `-' L__
J \ < \ | | O\|.-'
_J \ .- \/ O | | \ |F
'-F -<_. \ .-' `-' L__
__J _ _. >-' )._. |-'
`-|.' /_. \\_| F
`-|.' /_. \_| F
/.- . _.<
/' /.' .' `\\
/L /' |/ _.-'-\\
/'J ___.---'\\|
|\\ .--' V | `. `
/' /.' .' `\
/L /' |/ _.-'-\
/'J ___.---'\|
|\ .--' V | `. `
|/`. `-. `._)
/ .-.\\
VK \\ ( `\\
`.\\
EOC
/ .-.\
VK \ ( `\
`.\

View File

@@ -1,16 +1,14 @@
##
## A cow with a bong, from lars@csua.berkeley.edu
##
$the_cow = <<EOC;
$thoughts
$thoughts
^__^
_______/($eyes)
/\\/( /(__)
/\/( /(__)
| W----|| |~|
|| || |~| ~~
|~| ~
|_| o
|#|/
_+#+_
EOC

View File

@@ -1,12 +1,10 @@
##
## The Budweiser frogs
##
$the_cow = <<EOC;
$thoughts
$thoughts
oO)-. .-(Oo
/__ _\\ /_ __\\
\\ \\( | ()~() | )/ /
\\__|\\ | (-___-) | /|__/
' '--' ==`-'== '--' '
EOC
/__ _\ /_ __\
\ \( | ()~() | )/ /
\__|\ | (-___-) | /|__/
' '--' ==`-'== '--' '

View File

@@ -1,10 +1,8 @@
##
## A cute little wabbit
##
$the_cow = <<EOC;
$thoughts
$thoughts \\
\\ /\\
$thoughts \
\ /\
( )
.( o ).
EOC
.( o ).

View File

@@ -1,23 +1,21 @@
##
## The cheese from milk & cheese
##
$the_cow = <<EOC;
$thoughts
$thoughts
_____ _________
/ \\_/ |
/ \_/ |
| ||
| ||
| ###\\ /### | |
| 0 \\/ 0 | |
| ###\ /### | |
| 0 \/ 0 | |
/| | |
/ | < |\\ \\
/ | < |\ \
| /| | | |
| | \\_______/ | | |
| | \_______/ | | |
| | | / /
/|| /|||
----------------|
| | | |
*** ***
/___\\ /___\\
EOC
/___\ /___\

View File

@@ -1,14 +1,12 @@
##
## A cowering cow
##
$the_cow = <<EOC;
$thoughts
$thoughts
,__, | |
(oo)\\| |___
(__)\\| | )\\_
| |_w | \\
(oo)\| |___
(__)\| | )\_
| |_w | \
| | || *
Cower....
EOC
Cower....

View File

@@ -1,24 +1,22 @@
##
## 4.4 >> 5.4
##
$the_cow = <<EOC;
$thoughts , ,
$thoughts /( )`
$thoughts \\ \\___ / |
$thoughts \ \___ / |
/- _ `-/ '
(/\\/ \\ \\ /\\
/ / | ` \\
(/\/ \ \ /\
/ / | ` \
O O ) / |
`-^--'`< '
(_.) _ ) /
`.___/` /
`-----' /
<----. __ / __ \\
<----|====O)))==) \\) /====
<----' `--' `.__,' \\
<----. __ / __ \
<----|====O)))==) \) /====
<----' `--' `.__,' \
| |
\\ /
______( (_ / \\______
,' ,-----' | \\
`--{__________) \\/
EOC
\ /
______( (_ / \______
,' ,-----' | \
`--{__________) \/

View File

@@ -1,7 +1,8 @@
$the_cow = <<"EOC";
##
## The default cow
##
$thoughts ^__^
$thoughts ($eyes)\\_______
(__)\\ )\\/\\
$thoughts ($eyes)\_______
(__)\ )\/\
$tongue ||----w |
|| ||
EOC
|| ||

View File

@@ -1,21 +1,20 @@
##
## A dragon smiting a cow, possible credit to kube@csua.berkeley.edu
##
$the_cow = <<EOC;
## OFFSET 16
$thoughts ^ /^
$thoughts / \\ // \\
$thoughts |\\___/| / \\// .\\
$thoughts /O O \\__ / // | \\ \\ *----*
/ / \\/_/ // | \\ \\ \\ |
\@___\@` \\/_ // | \\ \\ \\/\\ \\
0/0/| \\/_ // | \\ \\ \\ \\
0/0/0/0/| \\/// | \\ \\ | |
0/0/0/0/0/_|_ / ( // | \\ _\\ | /
0/0/0/0/0/0/`/,_ _ _/ ) ; -. | _ _\\.-~ / /
$thoughts / \ // \
$thoughts |\___/| / \// .\
$thoughts /O O \__ / // | \ \ *----*
/ / \/_/ // | \ \ \ |
@___@` \/_ // | \ \ \/\ \
0/0/| \/_ // | \ \ \ \
0/0/0/0/| \/// | \ \ | |
0/0/0/0/0/_|_ / ( // | \ _\ | /
0/0/0/0/0/0/`/,_ _ _/ ) ; -. | _ _\.-~ / /
,-} _ *-.|.-~-. .~ ~
\\ \\__/ `/\\ / ~-. _ .-~ /
\\____($eyes) *. } { /
( (--) .----~-.\\ \\-` .~
//__\\\\ \\__ Ack! ///.----..< \\ _ -~
// \\\\ ///-._ _ _ _ _ _ _{^ - - - - ~
EOC
\ \__/ `/\ / ~-. _ .-~ /
\____($eyes) *. } { /
( (--) .----~-.\ \-` .~
//__\\ \__ Ack! ///.----..< \ _ -~
// \\ ///-._ _ _ _ _ _ _{^ - - - - ~

View File

@@ -1,21 +1,19 @@
##
## The Whitespace Dragon
##
$the_cow = <<EOC;
$thoughts / \\ //\\
$thoughts |\\___/| / \\// \\\\
/0 0 \\__ / // | \\ \\
/ / \\/_/ // | \\ \\
\@_^_\@'/ \\/_ // | \\ \\
//_^_/ \\/_ // | \\ \\
( //) | \\/// | \\ \\
( / /) _|_ / ) // | \\ _\\
( // /) '/,_ _ _/ ( ; -. | _ _\\.-~ .-~~~^-.
$thoughts / \ //\
$thoughts |\___/| / \// \\
/0 0 \__ / // | \ \
/ / \/_/ // | \ \
@_^_@'/ \/_ // | \ \
//_^_/ \/_ // | \ \
( //) | \/// | \ \
( / /) _|_ / ) // | \ _\
( // /) '/,_ _ _/ ( ; -. | _ _\.-~ .-~~~^-.
(( / / )) ,-{ _ `-.|.-~-. .~ `.
(( // / )) '/\\ / ~-. _ .-~ .-~^-. \\
(( /// )) `. { } / \\ \\
(( / )) .----~-.\\ \\-' .~ \\ `. \\^-.
///.----..> \\ _ -~ `. ^-` ^-_
(( // / )) '/\ / ~-. _ .-~ .-~^-. \
(( /// )) `. { } / \ \
(( / )) .----~-.\ \-' .~ \ `. \^-.
///.----..> \ _ -~ `. ^-` ^-_
///-._ _ _ _ _ _ _}^ - - - - ~ ~-- ,.-~
/.-~
EOC

View File

@@ -1,7 +1,6 @@
##
## Do we need to explain this?
##
$the_cow = <<EOC;
$thoughts
$thoughts ....
........ .
@@ -10,5 +9,4 @@ $the_cow = <<EOC;
......... .......
..............................
Elephant inside ASCII snake
EOC
Elephant inside ASCII snake

View File

@@ -1,15 +1,13 @@
##
## An elephant out and about
##
$the_cow = <<EOC;
$thoughts /\\ ___ /\\
$thoughts // \\/ \\/ \\\\
$thoughts /\ ___ /\
$thoughts // \/ \/ \\
(( O O ))
\\\\ / \\ //
\\/ | | \\/
\\ / \ //
\/ | | \/
| | | |
| | | |
| o |
| | | |
|m| |m|
EOC
|m| |m|

View File

@@ -1,16 +1,14 @@
##
## Evil-looking eyes
##
$the_cow = <<EOC;
$thoughts
$thoughts
.::!!!!!!!:.
.!!!!!:. .:!!!!!!!!!!!!
~~~~!!!!!!. .:!!!!!!!!!UWWW\$\$\$
:\$\$NWX!!: .:!!!!!!XUWW\$\$\$\$\$\$\$\$\$P
\$\$\$\$\$##WX!: .<!!!!UW\$\$\$\$" \$\$\$\$\$\$\$\$#
\$\$\$\$\$ \$\$\$UX :!!UW\$\$\$\$\$\$\$\$\$ 4\$\$\$\$\$*
^\$\$\$B \$\$\$\$\\ \$\$\$\$\$\$\$\$\$\$\$\$ d\$\$R"
"*\$bd\$\$\$\$ '*\$\$\$\$\$\$\$\$\$\$\$o+#"
"""" """""""
EOC
~~~~!!!!!!. .:!!!!!!!!!UWWW$$$
:$$NWX!!: .:!!!!!!XUWW$$$$$$$$$P
$$$$$##WX!: .<!!!!UW$$$$" $$$$$$$$#
$$$$$ $$$UX :!!UW$$$$$$$$$ 4$$$$$*
^$$$B $$$$\ $$$$$$$$$$$$ d$$R"
"*$bd$$$$ '*$$$$$$$$$$$o+#"
"""" """""""

View File

@@ -1,15 +1,13 @@
##
## The flaming sheep, contributed by Geordan Rosario (geordan@csua.berkeley.edu)
##
$the_cow = <<EOC;
$thoughts . . .
$thoughts . . . ` ,
$thoughts .; . : .' : : : .
$thoughts i..`: i` i.i.,i i .
$thoughts `,--.|i |i|ii|ii|i:
U${eyes}U\\.'\@\@\@\@\@\@`.||'
\\__/(\@\@\@\@\@\@\@\@\@\@)'
(\@\@\@\@\@\@\@\@)
U$eyesU\.'@@@@@@`.||'
\__/(@@@@@@@@@@)'
(@@@@@@@@)
`YY~~~~YY'
|| ||
EOC
|| ||

View File

@@ -1,26 +1,24 @@
##
## Ghostbusters!
##
$the_cow = <<EOC;
$thoughts
$thoughts
$thoughts __---__
_- /--______
__--( / \\ )XXXXXXXXXXX\\v.
__--( / \ )XXXXXXXXXXX\v.
.-XXX( O O )XXXXXXXXXXXXXXX-
/XXX( U ) XXXXXXX\\
/XXXXX( )--_ XXXXXXXXXXX\\
/XXXXX/ ( O ) XXXXXX \\XXXXX\\
XXXXX/ / XXXXXX \\__ \\XXXXX
XXXXXX__/ XXXXXX \\__---->
---___ XXX__/ XXXXXX \\__ /
\\- --__/ ___/\\ XXXXXX / ___--/=
\\-\\ ___/ XXXXXX '--- XXXXXX
\\-\\/XXX\\ XXXXXX /XXXXX
\\XXXXXXXXX \\ /XXXXX/
\\XXXXXX > _/XXXXX/
\\XXXXX--__/ __-- XXXX/
/XXX( U ) XXXXXXX\
/XXXXX( )--_ XXXXXXXXXXX\
/XXXXX/ ( O ) XXXXXX \XXXXX\
XXXXX/ / XXXXXX \__ \XXXXX
XXXXXX__/ XXXXXX \__---->
---___ XXX__/ XXXXXX \__ /
\- --__/ ___/\ XXXXXX / ___--/=
\-\ ___/ XXXXXX '--- XXXXXX
\-\/XXX\ XXXXXX /XXXXX
\XXXXXXXXX \ /XXXXX/
\XXXXXX > _/XXXXX/
\XXXXX--__/ __-- XXXX/
-XXXXXXXX--------------- XXXXXX-
\\XXXXXXXXXXXXXXXXXXXXXXXXXX/
""VXXXXXXXXXXXXXXXXXXV""
EOC
\XXXXXXXXXXXXXXXXXXXXXXXXXX/
""VXXXXXXXXXXXXXXXXXXV""

View File

@@ -1,12 +0,0 @@
##
## Go stick yer head in a cow.
##
$the_cow = <<EOC;
$thoughts
$thoughts
^__^ /
($eyes)\\_______/ _________
(__)\\ )=( ____|_ \\_____
$tongue ||----w | \\ \\ \\_____ |
|| || || ||
EOC

View File

@@ -1,11 +1,9 @@
##
## Hello Kitty
##
$the_cow = <<EOC;
$thoughts
$thoughts
/\\_)o<
| \\
/\_)o<
| \
| O . O|
\\_____/
EOC
\_____/

View File

@@ -1,26 +1,24 @@
##
## A lovers' empbrace
## A lovers' embrace
##
$the_cow = <<EOC;
$thoughts
$thoughts
,;;;;;;;,
;;;;;;;;;;;,
;;;;;'_____;'
;;;(/))))|((\\
;;;(/))))|((\
_;;((((((|))))
/ |_\\\\\\\\\\\\\\\\\\\\\\\\
.--~( \\ ~))))))))))))
/ \\ `\\-(((((((((((\\\\
| | `\\ ) |\\ /|)
| | `. _/ \\_____/ |
| , `\\~ /
| \\ \\ /
| `. `\\| /
| ~- `\\ /
\\____~._/~ -_, (\\
|-----|\\ \\ ';;
| | :;;;' \\
/ |_\\\\\\\\\\\\
.--~( \ ~))))))))))))
/ \ `\-(((((((((((\\
| | `\ ) |\ /|)
| | `. _/ \_____/ |
| , `\~ /
| \ \ /
| `. `\| /
| ~- `\ /
\____~._/~ -_, (\
|-----|\ \ ';;
| | :;;;' \
| / | |
| | |
EOC
| | |

View File

@@ -1,12 +1,10 @@
##
## A kitten of sorts, I think
##
$the_cow = <<EOC;
$thoughts
$thoughts
("`-' '-/") .___..--' ' "`-._
` *_ * ) `-. ( ) .`-.__. `)
(_Y_.) ' ._ ) `._` ; `` -. .-'
_.. `--'_..-_/ /--' _ .' ,4
( i l ),-'' ( l i),' ( ( ! .-'
EOC
( i l ),-'' ( l i),' ( ( ! .-'

View File

@@ -1,12 +1,10 @@
##
## From the canonical koala collection
##
$the_cow = <<EOC;
$thoughts
$thoughts
___
{~._.~}
( Y )
()~*~()
(_)-(_)
EOC
(_)-(_)

View File

@@ -1,19 +1,17 @@
##
## It's a Kosh Cow!
##
$the_cow = <<EOC;
$thoughts
$thoughts
$thoughts
___ _____ ___
/ \\ / /| / \\
/ \ / /| / \
| | / / | | |
| | /____/ | | |
| | | | | | |
| | | {} | / | |
| | |____|/ | |
| | |==| | |
| \\___________/ |
| \___________/ |
| |
| |
EOC
| |

View File

@@ -1,7 +1,6 @@
##
## From the canonical koala collection
##
$the_cow = <<EOC;
$thoughts
$thoughts .
___ //
@@ -11,5 +10,4 @@ $the_cow = <<EOC;
(_)-(_)
Luke
Sywalker
koala
EOC
koala

View File

@@ -1,15 +1,13 @@
##
## A meowing tiger?
##
$the_cow = <<EOC;
$thoughts
$thoughts , _ ___.--'''`--''//-,-_--_.
\\`"' ` || \\\\ \\ \\\\/ / // / ,-\\\\`,_
/'` \\ \\ || Y | \\|/ / // / - |__ `-,
/\@"\\ ` \\ `\\ | | ||/ // | \\/ \\ `-._`-,_.,
/ _.-. `.-\\,___/\\ _/|_/_\\_\\/|_/ | `-._._)
`-'``/ / | // \\__/\\__ / \\__/ \\
`-' /-\\/ | -| \\__ \\ |-' |
__/\\ / _/ \\/ __,-' ) ,' _|'
(((__/(((_.' ((___..-'((__,'
EOC
\`"' ` || \\ \ \\/ / // / ,-\\`,_
/'` \ \ || Y | \|/ / // / - |__ `-,
/@"\ ` \ `\ | | ||/ // | \/ \ `-._`-,_.,
/ _.-. `.-\,___/\ _/|_/_\_\/|_/ | `-._._)
`-'``/ / | // \__/\__ / \__/ \
`-' /-\/ | -| \__ \ |-' |
__/\ / _/ \/ __,-' ) ,' _|'
(((__/(((_.' ((___..-'((__,'

View File

@@ -1,21 +1,19 @@
##
## Milk from Milk and Cheese
##
$the_cow = <<EOC;
$thoughts ____________
$thoughts |__________|
/ /\\
/ / \\
/ /\
/ / \
/___________/___/|
| | |
| ==\\ /== | |
| O O | \\ \\ |
| < | \\ \\|
/| | \\ \\
/ | \\_____/ | / /
| ==\ /== | |
| O O | \ \ |
| < | \ \|
/| | \ \
/ | \_____/ | / /
/ /| | / /|
/||\\| | /||\\/
/||\| | /||\/
-------------|
| | | |
<__/ \\__>
EOC
<__/ \__>

View File

@@ -1,14 +1,12 @@
##
## MOOfasa.
##
$the_cow = <<EOC;
$thoughts ____
$thoughts / \\
$thoughts / \
| ^__^ |
| ($eyes) |______
| (__) | )\\/\\
\\____/|----w |
| (__) | )\/\
\____/|----w |
|| ||
Moofasa
EOC
Moofasa

View File

@@ -1,9 +1,10 @@
$the_cow = <<EOC;
##
## A moose.
##
$thoughts
$thoughts \\_\\_ _/_/
$thoughts \\__/
($eyes)\\_______
(__)\\ )\\/\\
$thoughts \_\_ _/_/
$thoughts \__/
($eyes)\_______
(__)\ )\/\
$tongue ||----w |
|| ||
EOC
|| ||

View File

@@ -1,10 +1,8 @@
##
## A mutilated cow, from aspolito@csua.berkeley.edu
##
$the_cow = <<EOC;
$thoughts \\_______
v__v $thoughts \\ O )
$thoughts \_______
v__v $thoughts \ O )
($eyes) ||----w |
(__) || || \\/\\
$tongue
EOC
(__) || || \/\
$tongue

View File

@@ -1,22 +1,20 @@
##
## Ren
##
$the_cow = <<EOC;
$thoughts
$thoughts
____
/# /_\\_
| |/o\\o\\
| \\\\_/_/
/# /_\_
| |/o\o\
| \\_/_/
/ |_ |
| ||\\_ ~|
| ||| \\/
| ||\_ ~|
| ||| \/
| |||_
\\// |
\// |
|| |
||_ \\
\\_| o|
/\\___/
||_ \
\_| o|
/\___/
/ ||||__
(___)_)
EOC
(___)_)

View File

@@ -1,12 +1,10 @@
##
## Satanic cow, source unknown.
##
$the_cow = <<EOC;
$thoughts
$thoughts (__)
(\\/)
/-------\\/
(\/)
/-------\/
/ | 666 ||
* ||----||
~~ ~~
EOC
~~ ~~

View File

@@ -1,13 +1,11 @@
##
## The non-flaming sheep.
##
$the_cow = <<EOC
$thoughts
$thoughts
__
U${eyes}U\\.'\@\@\@\@\@\@`.
\\__/(\@\@\@\@\@\@\@\@\@\@)
(\@\@\@\@\@\@\@\@)
U$eyesU\.'@@@@@@`.
\__/(@@@@@@@@@@)
(@@@@@@@@)
`YY~~~~YY'
|| ||
EOC
|| ||

View File

@@ -2,14 +2,12 @@
## This 'Scowleton' brought to you by one of
## {appel,kube,rowe}@csua.berkeley.edu
##
$the_cow = <<EOC;
$thoughts (__)
$thoughts /$eyes|
$thoughts (_"_)*+++++++++*
//I#\\\\\\\\\\\\\\\\I\\
//I#\\\\\\\\I\
I[I|I|||||I I `
I`I'///'' I I
I I I I
~ ~ ~ ~
Scowleton
EOC
Scowleton

View File

@@ -1,10 +1,7 @@
##
## A small cow, artist unknown
##
$eyes = ".." unless ($eyes);
$the_cow = <<EOC;
$thoughts ,__,
$thoughts ($eyes)____
(__) )\\
$tongue||--|| *
EOC
(__) )\
$tongue||--|| *

View File

@@ -1,12 +0,0 @@
##
## A cow performing an unnatural act, artist unknown.
##
$the_cow = <<EOC;
$thoughts _
$thoughts (_)
$thoughts ^__^ / \\
$thoughts ($eyes)\\_____/_\\ \\
(__)\\ ) /
$tongue ||----w ((
|| ||>>
EOC

View File

@@ -1,19 +1,17 @@
##
## A stegosaur with a top hat?
##
$the_cow = <<EOC;
$thoughts . .
$thoughts / `. .' "
$thoughts .---. < > < > .---.
$thoughts | \\ \\ - ~ ~ - / / |
$thoughts | \ \ - ~ ~ - / / |
_____ ..-~ ~-..-~
| | \\~~~\\.' `./~~~/
--------- \\__/ \\__/
.' O \\ / / \\ "
(_____, `._.' | } \\/~~~/
`----. / } | / \\__/
| | \~~~\.' `./~~~/
--------- \__/ \__/
.' O \ / / \ "
(_____, `._.' | } \/~~~/
`----. / } | / \__/
`-. | / | / `. ,~~|
~-.__| /_ - ~ ^| /- _ `..-'
| / | / ~-. `-. _ _ _
|_____| |_____| ~ - . _ _ _ _ _>
EOC
|_____| |_____| ~ - . _ _ _ _ _>

View File

@@ -1,19 +1,17 @@
##
## Stimpy!
##
$the_cow = <<EOC;
$thoughts . _ .
$thoughts |\\_|/__/|
/ / \\/ \\ \\
/__|O||O|__ \\
|/_ \\_/\\_/ _\\ |
$thoughts |\_|/__/|
/ / \/ \ \
/__|O||O|__ \
|/_ \_/\_/ _\ |
| | (____) | ||
\\/\\___/\\__/ //
\/\___/\__/ //
(_/ ||
| ||
| ||\\
\\ //_/
\\______//
| ||\
\ //_/
\______//
__ || __||
(____(____)
EOC
(____(____)

View File

@@ -1,10 +1,8 @@
##
## A cow being milked, probably from Lars Smith (lars@csua.berkeley.edu)
##
$the_cow = <<EOC;
$thoughts ^__^
$thoughts ($eyes)\\_______ ________
(__)\\ )\\/\\ |Super |
$thoughts ($eyes)\_______ ________
(__)\ )\/\ |Super |
$tongue ||----W | |Milker|
|| UDDDDDDDDD|______|
EOC
|| UDDDDDDDDD|______|

View File

@@ -1,24 +1,22 @@
##
## A cow operation, artist unknown
##
$the_cow = <<EOC;
$thoughts \\ /
$thoughts \\/
(__) /\\
$thoughts \ /
$thoughts \/
(__) /\
($eyes) O O
_\\/_ //
_\/_ //
* ( ) //
\\ (\\\\ //
\\( \\\\ )
( \\\\ ) /\\
___[\\______/^^^^^^^\\__/) o-)__
|\\__[=======______//________)__\\
\\|_______________//____________|
\ (\\ //
\( \\ )
( \\ ) /\
___[\______/^^^^^^^\__/) o-)__
|\__[=======______//________)__\
\|_______________//____________|
||| || //|| |||
||| || @.|| |||
|| \\/ .\\/ ||
|| \/ .\/ ||
. .
'.'.`
COW-OPERATION
EOC
COW-OPERATION

View File

@@ -1,12 +0,0 @@
##
## A cow performing an unnatural act, artist unknown.
##
$the_cow = <<EOC;
$thoughts _
$thoughts (_) <-- TeleBEARS
$thoughts ^__^ / \\
$thoughts ($eyes)\\_____/_\\ \\
(__)\\ you ) /
$tongue ||----w ((
|| ||>>
EOC

View File

@@ -1,12 +1,8 @@
##
## A cow with three eyes, brought to you by dpetrou@csua.berkeley.edu
##
$extra = chop($eyes);
$eyes .= ($extra x 2);
$the_cow = <<EOC;
$thoughts ^___^
$thoughts ($eyes)\\_______
(___)\\ )\\/\\
$thoughts ($el$el$el)\_______
(___)\ )\/\
$tongue ||----w |
|| ||
EOC
|| ||

View File

@@ -1,26 +1,24 @@
##
## Turkey!
##
$the_cow = <<EOC;
$thoughts ,+*^^*+___+++_
$thoughts ,*^^^^ )
$thoughts _+* ^**+_
$thoughts +^ _ _++*+_+++_, )
_+^^*+_ ( ,+*^ ^ \\+_ )
{ ) ( ,( ,_+--+--, ^) ^\\
{ (\@) } f ,( ,+-^ __*_*_ ^^\\_ ^\\ )
_+^^*+_ ( ,+*^ ^ \+_ )
{ ) ( ,( ,_+--+--, ^) ^\
{ (@) } f ,( ,+-^ __*_*_ ^^\_ ^\ )
{:;-/ (_+*-+^^^^^+*+*<_ _++_)_ ) ) /
( / ( ( ,___ ^*+_+* ) < < \\
U _/ ) *--< ) ^\\-----++__) ) ) )
( ) _(^)^^)) ) )\\^^^^^))^*+/ / /
( / ( ( ,___ ^*+_+* ) < < \
U _/ ) *--< ) ^\-----++__) ) ) )
( ) _(^)^^)) ) )\^^^^^))^*+/ / /
( / (_))_^)) ) ) ))^^^^^))^^^)__/ +^^
( ,/ (^))^)) ) ) ))^^^^^^^))^^) _)
*+__+* (_))^) ) ) ))^^^^^^))^^^^^)____*^
\\ \\_)^)_)) ))^^^^^^^^^^))^^^^)
(_ ^\\__^^^^^^^^^^^^))^^^^^^^)
^\\___ ^\\__^^^^^^))^^^^^^^^)\\\\
^^^^^\\uuu/^^\\uuu/^^^^\\^\\^\\^\\^\\^\\^\\^\\
___) >____) >___ ^\\_\\_\\_\\_\\_\\_\\)
^^^//\\\\_^^//\\\\_^ ^(\\_\\_\\_\\)
^^^ ^^ ^^^ ^
EOC
\ \_)^)_)) ))^^^^^^^^^^))^^^^)
(_ ^\__^^^^^^^^^^^^))^^^^^^^)
^\___ ^\__^^^^^^))^^^^^^^^)\\
^^^^^\uuu/^^\uuu/^^^^\^\^\^\^\^\^\^\
___) >____) >___ ^\_\_\_\_\_\_\)
^^^//\\_^^//\\_^ ^(\_\_\_\)
^^^ ^^ ^^^ ^

View File

@@ -1,20 +1,18 @@
##
## A mysterious turtle...
##
$the_cow = <<EOC;
$thoughts ___-------___
$thoughts _-~~ ~~-_
$thoughts _-~ /~-_
/^\\__/^\\ /~ \\ / \\
/| O|| O| / \\_______________/ \\
| |___||__| / / \\ \\
| \\ / / \\ \\
| (_______) /______/ \\_________ \\
| / / \\ / \\
\\ \\^\\\\ \\ / \\ /
\\ || \\______________/ _-_ //\\__//
\\ ||------_-~~-_ ------------- \\ --/~ ~\\ || __/
/^\__/^\ /~ \ / \
/| O|| O| / \_______________/ \
| |___||__| / / \ \
| \ / / \ \
| (_______) /______/ \_________ \
| / / \ / \
\ \^\\ \ / \ /
\ || \______________/ _-_ //\__//
\ ||------_-~~-_ ------------- \ --/~ ~\ || __/
~-----||====/~ |==================| |/~~~~~
(_(__/ ./ / \\_\\ \\.
(_(___/ \\_____)_)
EOC
(_(__/ ./ / \_\ \.
(_(___/ \_____)_)

View File

@@ -2,15 +2,12 @@
## TuX
## (c) pborys@p-soft.silesia.linux.org.pl
##
$the_cow = <<EOC;
$thoughts
$thoughts
.--.
|o_o |
|:_/ |
// \\ \\
// \ \
(| | )
/'\\_ _/`\\
\\___)=(___/
EOC
/'\_ _/`\
\___)=(___/

View File

@@ -1,16 +1,12 @@
##
## The cow from a file called cow-n-horn, artist unknown.
##
$other_eye = chop($eyes);
$eyes .= " $other_eye";
$the_cow = <<EOC;
$thoughts
$thoughts (__)
$eyes\\
('') \\---------
$tongue\\ \\
| |\\
$el $er\
('') \---------
$tongue\ \
| |\
||---( )_|| *
|| UU ||
== ==
EOC
== ==

View File

@@ -1,7 +1,6 @@
##
## Another canonical koala?
##
$the_cow = <<EOC;
$thoughts
$thoughts .
.---. //
@@ -12,5 +11,4 @@ $the_cow = <<EOC;
Darth
Vader
koala
EOC
koala

View File

@@ -1,13 +1,11 @@
##
## Cowth Vader, from geordan@csua.berkeley.edu
##
$the_cow = <<EOC;
$thoughts ,-^-.
$thoughts !oYo!
$thoughts /./=\\.\\______
## )\\/\\
$thoughts /./=\.\______
## )\/\
||-----w||
|| ||
Cowth Vader
EOC
Cowth Vader

View File

@@ -1,10 +1,8 @@
##
## A cow wadvertising the World Wide Web, from lim@csua.berkeley.edu
## A cow advertising the World Wide Web, from lim@csua.berkeley.edu
##
$the_cow = <<EOC;
$thoughts ^__^
$thoughts ($eyes)\\_______
(__)\\ )\\/\\
$thoughts ($eyes)\_______
(__)\ )\/\
$tongue ||--WWW |
|| ||
EOC
|| ||