1. 程式人生 > >函式程式設計實驗六:字元放大

函式程式設計實驗六:字元放大

{-
吳坎
17341163
[email protected]
資料科學與計算機學院計算機專業
-}
module MyPicture where
import Data.Char
import Data.List
import Text.Printf

sayit::String->IO()
sayit s=putStr(unlines(say s))

getid::Char->Int
getid c=
    if oc>=97 then (oc-97+10)
    else if oc>=65 then (oc-65+10)
    else (oc-48)
        where oc=ord c

say::String->[String]
say []=[]
say (x:xs)=merge (alphabet!!(getid x)) (say xs)


merge::[String]->[String]->[String]
merge [] x=x
merge x []=x
merge (x:xs) (y:ys)=(x++y):(merge xs ys)


alphabet=
    [[
        "  ####  ",
        " ##  ## ",
        " #    # ",
        " #    # ",
        " #    # ",
        " #    # ",
        " #    # ",
        " #    # ",
        " #    # ",
        " ##  ## ",
        "  ####  "
    ],[
        "    #   ",
        "   ##   ",
        "  ###   ",
        "   ##   ",
        "   ##   ",
        "   ##   ",
        "   ##   ",
        "   ##   ",
        "   ##   ",
        "   ##   ",
        "   ##   "
    ],[
        "  ####  ",
        "  #  ## ",
        " ##  ## ",
        " #   ## ",
        "     ## ",
        "    ##  ",
        "   ##   ",
        "  ##    ",
        "  #     ",
        " #      ",
        " ###### "
    ],[
        "  ####  ",
        " ##  #  ",
        " #   ## ",
        "     ## ",
        "     #  ",
        "   ###  ",
        "     ## ",
        "      # ",
        " #   ## ",
        " ##  ## ",
        "  ####  "
    ],[
        "    ##  ",
        "    ##  ",
        "   ###  ",
        "   # #  ",
        "  #  #  ",
        " ##  #  ",
        " #   #  ",
        " ###### ",
        "     #  ",
        "     #  ",
        "     #  "
    ],[
        " ###### ",
        " ##     ",
        " #      ",
        " #####  ",
        " ##  ## ",
        "     ## ",
        "      # ",
        "      # ",
        " #   ## ",
        " ##  #  ",
        "  ###   "
    ],[
        "   ###  ",
        "  #  ## ",
        " ##   # ",
        " ##     ",
        " # ###  ",
        " ##  ## ",
        " ##   # ",
        " #    # ",
        " ##   # ",
        "  #  ## ",
        "   ###  "
    ],[
        " ###### ",
        "     ## ",
        "     #  ",
        "     #  ",
        "     #  ",
        "    ##  ",
        "    #   ",
        "    #   ",
        "   ##   ",
        "   #    ",
        "   #    "
    ],[
        "  ###   ",
        " ##  #  ",
        " #   ## ",
        " #   ## ",
        " ##  #  ",
        "  ####  ",
        " ##  ## ",
        " #    # ",
        " #    # ",
        " ##  ## ",
        "  ####  "
    ],[
        "  ###   ",
        " ##  #  ",
        " #   ## ",
        " #   ## ",
        " #   ## ",
        " ##  ## ",
        "  ##### ",
        "     ## ",
        " #   ## ",
        " ##  #  ",
        "  ###   "
    ],[
        "   ##   ",
        "   ##   ",
        "   ##   ",
        "  ####  ",
        "  #  #  ",
        "  #  #  ",
        "  #  #  ",
        " ###### ",
        " #    # ",
        " #    # ",
        "##    ##"
    ],[
        " #####  ",
        " #   ## ",
        " #    # ",
        " #    # ",
        " #   ## ",
        " #####  ",
        " #   ## ",
        " #    # ",
        " #    # ",
        " #   ## ",
        " #####  "
    ],[
        "   ###  ",
        "  #  ## ",
        " ##   # ",
        " #    # ",
        " #      ",
        " #      ",
        " #      ",
        " #    # ",
        " #    # ",
        "  #  ## ",
        "   ###  "
    ],[
        " ####   ",
        " #   #  ",
        " #   ## ",
        " #    # ",
        " #    # ",
        " #    # ",
        " #    # ",
        " #    # ",
        " #   ## ",
        " #   #  ",
        " ####   "
    ],[
        " ###### ",
        " #      ",
        " #      ",
        " #      ",
        " #      ",
        " ###### ",
        " #      ",
        " #      ",
        " #      ",
        " #      ",
        " ###### "
    ],[
        " ###### ",
        " #      ",
        " #      ",
        " #      ",
        " #      ",
        " #####  ",
        " #      ",
        " #      ",
        " #      ",
        " #      ",
        " #      "
    ],[
        "   ###  ",
        "  #  ## ",
        " #    # ",
        " #    # ",
        " #      ",
        " #  ### ",
        " #    # ",
        " #    # ",
        " #    # ",
        " ##  ## ",
        "   #### "
    ],[
        " #    # ",
        " #    # ",
        " #    # ",
        " #    # ",
        " #    # ",
        " ###### ",
        " #    # ",
        " #    # ",
        " #    # ",
        " #    # ",
        " #    # "
    ],[
        "   ##   ",
        "   ##   ",
        "   ##   ",
        "   ##   ",
        "   ##   ",
        "   ##   ",
        "   ##   ",
        "   ##   ",
        "   ##   ",
        "   ##   ",
        "   ##   "
    ],[
        "      # ",
        "      # ",
        "      # ",
        "      # ",
        "      # ",
        "      # ",
        "      # ",
        " #    # ",
        " #    # ",
        " ##  ## ",
        "  ####  "
    ],[
        " #   ## ",
        " #   #  ",
        " #  ##  ",
        " # ##   ",
        " ###    ",
        " ####   ",
        " #  #   ",
        " #  ##  ",
        " #   #  ",
        " #   ## ",
        " #    # "
    ],[
        " #      ",
        " #      ",
        " #      ",
        " #      ",
        " #      ",
        " #      ",
        " #      ",
        " #      ",
        " #      ",
        " #      ",
        " ###### "
    ],[
        " ##  ## ",
        " ##  ## ",
        " ##  ## ",
        " ##  ## ",
        " ##  ## ",
        " ###### ",
        " # ## # ",
        " # ## # ",
        " # ## # ",
        " # ## # ",
        " # ## # "
    ],[
        " #    # ",
        " ##   # ",
        " ##   # ",
        " ###  # ",
        " # #  # ",
        " # #  # ",
        " #  # # ",
        " #  # # ",
        " #   ## ",
        " #   ## ",
        " #   ## "
    ],[
        "  ####  ",
        " ##  ## ",
        " #    # ",
        " #    # ",
        " #    # ",
        " #    # ",
        " #    # ",
        " #    # ",
        " #    # ",
        " ##  ## ",
        "  ####  "
    ],[
        " #####  ",
        " #   ## ",
        " #    # ",
        " #    # ",
        " #    # ",
        " #   ## ",
        " #####  ",
        " #      ",
        " #      ",
        " #      ",
        " #      "
    ],[
        "  ####  ",
        " ##  ## ",
        " #    # ",
        " #    # ",
        " #    # ",
        " #    # ",
        " #    # ",
        " #  ### ",
        " #  ### ",
        " ##  ## ",
        "  ##### "
    ],[
        " #####  ",
        " #   ## ",
        " #    # ",
        " #    # ",
        " #   ## ",
        " #####  ",
        " #  #   ",
        " #  ##  ",
        " #   #  ",
        " #   ## ",
        " #    # "
    ],[
        "  ####  ",
        " ##  ## ",
        " #    # ",
        " #      ",
        "  #     ",
        "   ##   ",
        "     ## ",
        " #    # ",
        " #    # ",
        " ##  ## ",
        "  ####  "
    ],[
        " ###### ",
        "   ##   ",
        "   ##   ",
        "   ##   ",
        "   ##   ",
        "   ##   ",
        "   ##   ",
        "   ##   ",
        "   ##   ",
        "   ##   ",
        "   ##   "
    ],[
        " #    # ",
        " #    # ",
        " #    # ",
        " #    # ",
        " #    # ",
        " #    # ",
        " #    # ",
        " #    # ",
        " #    # ",
        " ##  ## ",
        "  ####  "
    ],[
        "##    ##",
        " #    # ",
        " #    # ",
        " ##  ## ",
        " ##  #  ",
        "  #  #  ",
        "  # ##  ",
        "  ####  ",
        "   ##   ",
        "   ##   ",
        "   ##   "
    ],[
        "## ## ##",
        "## ## ##",
        "## ## # ",
        " # ## # ",
        " # ## # ",
        " ## ### ",
        " ##  ## ",
        " ##  ## ",
        " ##  ## ",
        " ##  ## ",
        " ##  #  "
    ],[
        " #    # ",
        " ##  #  ",
        "  #  #  ",
        "  ###   ",
        "   ##   ",
        "   ##   ",
        "   ##   ",
        "  # ##  ",
        "  #  #  ",
        " ##  ## ",
        " #    # "
    ],[
        " #    # ",
        " #    # ",
        "  #  #  ",
        "  #  #  ",
        "   ##   ",
        "   ##   ",
        "   ##   ",
        "   ##   ",
        "   ##   ",
        "   ##   ",
        "   ##   "
    ],[
        " ###### ",
        "     ## ",
        "     #  ",
        "    ##  ",
        "    #   ",
        "   ##   ",
        "   #    ",
        "  #     ",
        " ##     ",
        " #      ",
        " ###### "
    ]]