--1.输入的字符串中各字符放大(charTolarge)
--2.再拼接(sideByside)
--3.再输出(say,sayit)
module MyPicture where
type Pictrue=[String]
sideByside::Pictrue->Pictrue->Pictrue
sideByside pic1 pic2 =[x++y|(x,y)<-zip pic1 pic2]
sideByside pic1 pic2 =[x++y|(x,y)<-zip pic1 pic2]
formPic:: String->Int->Pictrue
formPic str n
|n==1 =sideByside (charTolarge (str!!0)) (charTolarge (str!!1))
|otherwise =sideByside ( formPic str (n-1)) (charTolarge (str!!n))
formPic str n
|n==1 =sideByside (charTolarge (str!!0)) (charTolarge (str!!1))
|otherwise =sideByside ( formPic str (n-1)) (charTolarge (str!!n))
say::String->String
say str=unlines ( formPic str (length str-1))
sayit::String->IO ()
sayit=putStr.say
sayit=putStr.say
charTolarge:: Char->Pictrue
charTolarge c
|c=='A'||c=='a'= [" A "," A A ","A A ","AAAAA ","A A "]
|c=='B'||c=='b'=["BBBB ","B B ","BBBB ","B B ","BBBB "]
|c=='C'||c=='c'=[" CCCC ","C ","C ","C "," CCCC "]
|c=='D'||c=='d'=["DDD ","D D ","D D ","D D ","DDD "]
|c=='E'||c=='e'=["EEEEE ","E ","EEEEE ","E ","EEEEE "]
|c=='F'||c=='f'=["FFFFF ","F ","FFFF ","F ","F "]
|c=='G'||c=='g'=[" GGGG ","G ","G GG ","G G "," GGG "]
|c=='H'||c=='h'=["H H ","H H ","HHHHH ","H H ","H H "]
|c=='I'||c=='i'=["IIIII "," I "," I "," I ","IIIII "]
|c=='J'||c=='j'=[" JJJJ "," J "," J ","J J "," JJ "]
|c=='K'||c=='k'=["K KK ","K K ","KK ","K K ","K KK "]
|c=='L'||c=='l'=["L ","L ","L ","L ","LLLLL "]
|c=='M'||c=='m'=["M M ","MM MM ","M M M ","M M M ","M M M "]
|c=='N'||c=='n'= ["N N ","NN N ","N N N ","N NN ","N N "]
|c=='O'||c=='o'=[" OOO ","O O ","O O ","O O "," OOO "]
|c=='P'||c=='p'=["PPPP ","P P ","PPPP ","P ","P "]
|c=='Q'||c=='q'=[" QQQ ","Q Q ","Q Q ","Q Q "," QQ Q "]
|c=='R'||c=='r'=["RRRR ","R R ","RR R ","R R ","R RR "]
|c=='S'||c=='s'=[" SSSS ","S ","SSSSS "," S ","SSSS "]
|c=='T'||c=='t'=["TTTTT "," T "," T "," T "," T "]
|c=='U'||c=='u'=["U U ","U U ","U U ","U U ","UUUUU "]
|c=='V'||c=='v'=["V V ","V V ","V V "," V V "," V "]
|c=='W'||c=='w'=["W W ","W W W ","W W W ","W W W "," W W "]
|c=='X'||c=='x'=["X X "," X X "," X "," X X ","X X "]
|c=='Y'||c=='y'=["Y Y "," Y Y "," Y "," Y "," Y "]
|c=='Z'||c=='z'=["ZZZZZ "," Z "," Z "," Z ","ZZZZZ "]
|c=='0'=[" 000 ","00 0 ","0 0 0 ","0 00 "," 000 "]
|c=='1'=[" 1 "," 11 "," 1 "," 1 ","11111 "]
|c=='2'=[" 222 ","2 2 "," 2 "," 2 ","22222 "]
|c=='3'=["3333 "," 3 "," 333 "," 3 ","3333 "]
|c=='4'=[" 4 "," 44 "," 4 4 ","44444 "," 4 "]
|c=='5'=["55555 ","5 ","55555 "," 5 ","55555 "]
|c=='6'=["66666 ","6 ","66666 ","6 6 ","66666 "]
|c=='7'=["77777 "," 7 "," 7 "," 7 "," 7 "]
|c=='8'=["88888 ","8 8 ","88888 ","8 8 ","88888 "]
|c=='9'=["99999 ","9 9 ","99999 "," 9 ","99999 "]
|c==' '=[" "," "," "," "," "]
|otherwise = error "out of the scope of A-Z or 0-9"