local cow = {} function cow.cow(text) print("______") print("< "..text.." >") print("------") print(" \\ ^__^") print(" \\ (oo)\\_______") print(" (__)\\ )\\/\\ ") print(" ||----w |") print(" || ||") end local function headin(text) print(" _______") print("< "..text.." >") print(" -------") print(" \\") print(" \\") print(" ^__^ /") print(" (@@)\\_______/ _________") print(" (__)\\ )=( ____|_ \\_____") print(" ||----w | \\ \\ \\_____ |") print(" || || || ||") end cow["head-in"] = headin function cow.eyes(text) print(" _______") print("< "..text.." >") print(" -------") print(" \\") print(" \\") print(" .::!!!!!!!:.") print(" .!!!!!:. .:!!!!!!!!!!!!") print(" ~~~~!!!!!!. .:!!!!!!!!!UWWW$$$") print(" :$$NWX!!: .:!!!!!!XUWW$$$$$$$$$P") print(' $$$$$##WX!: .<!!!!UW$$$$" $$$$$$$$#') print(" $$$$$ $$$UX :!!UW$$$$$$$$$ 4$$$$$*") print(' ^$$$B $$$$\ $$$$$$$$$$$$ d$$R"') print(' "*$bd$$$$ \'*$$$$$$$$$$$o+#"') print(' """" """""""') end function cow.tux(text) print(" _____") print("< "..text.." >") print(" -----") print(" \\") print(" \\") print(" .--.") print(" |o_o |") print(" |:_/ |") print(" // \\ \\") print(" (| | )") print(" /'\\_ _/`\\") print(" \\___)=(___/") end function cow.vader(text) print("_________") print("< "..text.." >") print(" ---------") print(" \\ ,-^-.") print(" \\ !oYo!") print(" \\ /./=\\.\\______") print(" ## )\\/\\") print(" ||-----w||") print(" || ||") print("") print(" Cowth Vader") end function cow.sheep(text) print("_________") print("< "..text.." >") print(" ---------") print(" \\") print(" \\") print(" __") print(" UooU\\.'@@@@@@`.") print(" \\__/(@@@@@@@@@@)") print(" (@@@@@@@@)") print(" `YY~~~~YY'") print(" || ||") end function cow.duck(text) print("_________") print("< "..text.." >") print(" ---------") print(" \\") print(" \\") print(" \\ >()_") print(" (__)__ _") end function cow.snowman(text) print("________") print("< "..text.." >") print(" --------") print(" \\") print(" ___###") print(" /oo\\ |||") print(" \\ / \\|/") print(' /""\\ I') print("()| |(I)") print(" \\ / I") print(' /""""\\ I') print(" | |I") print(" | |I") print(" \\____/ I") end function cow.skeleton(text) print("________") print("< "..text.." >") print(" --------") print(" \\ (__)") print(" \\ /oo|") print(" \\ (_\"_)*+++++++++*") print(" //I#\\\\\\\\\\\\\\\\I\\") print(" I[I|I|||||I I `") print(" I`I'///'' I I") print(" I I I I") print(" ~ ~ ~ ~") print(" Scowleton") end function cow.koala(text) print(" ______") print("< "..text.." >") print(" ------") print(" \\") print(" \\") print(" ___") print(" {~._.~}") print(" ( Y )") print(" ()~*~()") print(" (_)-(_)") end function cow.elephant(text) print("____") print("< "..text.." >") print(" ----") print(" \\ /\\ ___ /\\") print(" \\ // \\/ \\/ \\\\") print(" (( O O ))") print(" \\\\ / \\ //") print(" \\/ | | \\/") print(" | | | |") print(" | | | |") print(" | o |") print(" | | | |") print(" |m| |m|") end function cow.moose(text) print(" ______") print("< "..text.." >") print(" ------") print(" \\") print(" \\ \\_\\_ _/_/") print(" \\ \\__/") print(" (oo)\\_______") print(" (__)\\ )\\/\\") print(" ||----w |") print(" || ||") end function cow.hellokitty(text) print(" ____") print("< "..text.." >") print(" ----") print(" \\") print(" \\") print(" /\\_)o<") print(" | \\") print(" | O . O|") print(" \\_____/") end function cow.random(text) local rancou = 0 local randomta = {} for _,con in pairs(cow) do table.insert(randomta,con) rancou = rancou + 1 end randomta[math.random(1,rancou)](text) end function cow.cock(text) print(" ______") print("< "..text.." >") print(" ------") print(" \\") print(" \\ /\\/\\") print(" \\ /") print(" | 0 >>") print(" |___|") print(" __((_<| |") print("( |") print("(__________)") print(" | |") print(" | |") print(" /\\ /\\") end function cow.moofasa(text) print(" ______") print("< "..text.." >") print(" ------") print(" \\ ____") print(" \\ / \\") print(" | ^__^ |") print(" | (oo) |______") print(" | (__) | )\\/\\") print(" \\____/|----w |") print(" || ||") print("") print(" Moofasa") end function cow.suse(text) print(" _____") print("< "..text.." >") print(" -----") print(" \\") print(" \\____") print(" /@ ~-.") print(" \\/ __ .- |") print(" // // @") end function cow.bong(text) print(" _______") print("< "..text.." >") print(" -------") print(" \\") print(" \\") print(" ^__^ ") print(" _______/(oo)") print("/\\/( /(__)") print(" | W----|| |~|") print(" || || |~| ~~") print(" |~| ~") print(" |_| o") print(" |#|/") print(" _+#+_") end function cow.kosh(text) print(" ____") print("< "..text.." >") print(" ----") print(" \\") print(" \\") print(" \\") print(" ___ _____ ___") print(" / \\ / /| / \\") print("| | / / | | |") print("| | /____/ | | | ") print("| | | | | | |") print("| | | {} | / | |") print("| | |____|/ | |") print("| | |==| | |") print("| \\___________/ |") print("| |") print("| |") end local function flamingsheep(text) print("____") print("< "..text.." >") print(" ----") print(" \\ . . . ") print(" \\ . . . ` , ") print(" \\ .; . : .' : : : . ") print(" \\ i..`: i` i.i.,i i . ") print(" \\ `,--.|i |i|ii|ii|i: ") print(" UooU\\.'@@@@@@`.||' ") print(" \\__/(@@@@@@@@@@)' ") print(" (@@@@@@@@) ") print(" `YY~~~~YY' ") print(" || || ") end cow["flaming-sheep"] = flamingsheep function cow.bunny(text) print(" ____") print("< "..text.." >") print(" ----") print(" \\") print(" \\ \\") print(" \\ /\\") print(" ( )") print(" .( o ).") end function cow.apt(text) print(" _____") print("< "..text.." >") print(" -----") print(" \\ (__)") print(" (oo)") print(" /------\\/") print(" / | ||") print(" * /\\---/\\") print(" ~~ ~~") end function cow.pony(text) print(" _______") print("< "..text.." >") print(" -------") print(" \\ _^^") print(" \\ _- oo\\") print(" \\----- \\______") print(" \\ )\\") print(" ||-----|| \\") print(" || ||") end function cow.unipony(text) print("____") print("< "..text.." >") print(" ----") print(" \\ \\") print(" \\ \\") print(" \\ _\\^") print(" \\ _- oo\\") print(" \\---- \\______") print(" \\ )\\") print(" ||-----|| \\") print(" || ||") end local function lukekoala(text) print(" _______") print("< "..text.." >") print(" -------") print(" \\") print(" \\ .") print(" ___ //") print(" {~._.~}// ") print(" ( Y )K/ ") print(" ()~*~() ") print(" (_)-(_) ") print(" Luke ") print(" Skywalker") print(" koala ") end cow["luke-koala"] = lukekoala local function sodasheep(text) print(" _____") print("< "..text.." >") print(" -----") print(" \\ __ ") print(" \\ (oo)") print(" \\ ( )") print(" \\ /--\\") print(" __ / \\ \\ ") print(" UooU\\.'@@@@@@`.\\ )") print(" \\__/(@@@@@@@@@@) /") print(" (@@@@@@@@)(( ") print(" `YY~~~~YY' \\\\") print(" || || >> ") end cow["sodomized-sheep"] = sodasheep function cow.cower(text) print("____") print("< "..text.." >") print(" ----") print(" \\") print(" \\") print(" ,__, | | ") print(" (oo)\\| |___") print(" (__)\\| | )\\_") print(" | |_w | \\") print(" | | || *") print("") print(" Cower....") end local function budfrogs(text) print(" ____") print("< "..text.." >") print(" ----") print(" \\") print(" \\") print(" oO)-. .-(Oo") print(" /__ _\\ /_ __\\") print(" \\ \\( | ()~() | )/ /") print(" \\__|\\ | (-___-) | /|__/") print(" ' '--' ==`-'== '--' '") end cow["bud-frogs"] = budfrogs function cow.kitty(text) print(" ____") print("< "..text.." >") print(" ----") print(" \\") print(" \\") print(" (\"`-' '-/\") .___..--' ' \"`-._") print(" ` *_ * ) `-. ( ) .`-.__. `)") print(" (_Y_.) ' ._ ) `._` ; `` -. .-'") print(" _.. `--'_..-_/ /--' _ .' ,4") print(" ( i l ),-'' ( l i),' ( ( ! .-' ") end local function vaderkoala(text) print(" ____") print("< "..text.." >") print(" ----") print(" \\") print(" \\ .") print(" .---. //") print(" Y|o o|Y// ") print(" /_(i=i)K/ ") print(" ~()~*~()~ ") print(" (_)-(_) ") print("") print(" Darth ") print(" Vader ") print(" koala ") end cow["vader-koala"] = vaderkoala local function elephantsnake(text) print(" ____") print("< "..text.." >") print(" ----") print(" \\") print(" \\ ....") print(" . ........") print(" . .") print(" . .") print(" ....... .........") print(" ..............................") print("Elephant inside ASCII snake") end cow["elephant-in-snake"] = elephantsnake local function threeeyes(text) print(" ________") print("< Augen! >") print(" --------") print(" \\ ^___^") print(" \\ (ooo)\\_______") print(" (___)\\ )\\/\\") print(" ||----w |") print(" || ||") end cow["three-eyes"] = threeeyes table.sort(cow) local Args = {...} if Args[1] == nil then print("Usage: cowsay -f <cow> <text>") return 1 end local cowchoice if Args[1] == "-f" then table.remove(Args,1) cowchoice = Args[1] table.remove(Args,1) elseif Args[1] == "-l" then for ind,_ in pairs(cow) do write(ind.." ") end print() return 0 else cowchoice = "cow" end if Args[1] == nil then print("Usage: cowsay -f <cow> <text>") return 1 end local cowsay = "" for _,text in ipairs(Args) do cowsay = cowsay.." "..text end cowsay = cowsay:sub(2,-1) if type(cow[cowchoice]) == "function" then cow[cowchoice](cowsay) else print("Can't find cow \""..cowchoice.."\". Use cowsay -l to list all cows.") return 2 end return 0