第12回 基礎プログラミング I レポート課題 氏名:吉田瑞恵 学籍番号:C1082030 語学クラス:英語(?) コース(系):社会 チーム名:SGOY チームホームページアドレス:http://roy/~c108203/SGOY/ プロジェクト名:十二単 色目 検索 チーム全体の進み具合 どちらも大体完成していると思える。あとはチーム内で意見を出し合い改良していく。 "GO TO SCHOOL" 物語の進行にしたがい、画像を表示させるようにしたようだ。 "十二単 色目 検索" ウェブ上の色見本を、表示させるようにした。 プロジェクト全体の進み具合 プログラムの基本的な部分はできた。 データ作成も、色見本作成も一部はできた。 これからすること ・襲のデータ作成(秋冬の) ・色見本作成 ・プログラム改良 ・その他 細かい修正 プロジェクトの担当部分 プログラム本体(ほぼ完成) 説明書(ほぼ完成) 企画書(ほぼ完成) 表示させる襲の色見本ページ(一部のみ完成) 通年・秋冬のデータ作成(通年は完成、秋冬は一部のみ完成) チーム内のプロジェクト外メンバーに指摘された点について 色見本が出るようにした方が良いのではないか 改良の進展具合 ウェブ上に作ってある、色見本を表示させるようにした。 自分の行ったパート プログラム本体改良(iromekensaku.rb) 説明書一部訂正 (00readme) 襲色ページ作り 襲データ作り(other.dat,autmun.dat) プログラムiromekensaku.rbについて 設定 1を選ぶと日本の伝統色、2で襲の色目が検索できるプログラム。 (web上の色見本も表示させること) #!/usr/koeki/bin/ruby $KCODE='e' #日本語での出力を指示 number = 0 #始めに選択してもらう番号 printf("検索したいものを選んで下さい。\n") #説明文 printf("1.伝統色を探す 2.襲の色目を探す\n") #選択肢の表示 STDERR.printf("1 か 2 を入力して下さい:") #入力の促進をうながす number = gets.to_i #変数numberに入力された数字をいれる。 if number == 1 #もし 1 が選ばれたなら、伝統色の検索を始める。 printf("調べたい伝統色の名前を\n") #説明 STDERR.printf("ローマ字か漢字で入力して下さい:") #入力をうながす pattern = STDIN.gets.chomp #入力されたものをpatternにいれる request = Regexp.new(pattern,true,'e') #検索 open("irome.dat","r") do |iro| #irome.datを開き読む込む while irome = iro.gets if request =~ irome # p iro if /(\S+)\s+(\S+)\s+(\S+)/ =~ irome #データが文字 空白 文字 空白 文字の場合 printf("%s %s.png\n", $1,$3) #色名の漢字とローマ字のみ表示。 url = "http://roy/~c108203/irome/color/" + $3 + ".png" #$3の色名ローマ字をURLに組込み表示 system("firefox -remote 'OpenURL(#{url}, new-tab)'") #新しいウィンドウでなく、タブで開かせる end #if /(\S+)〜 終了 end #if request =~ irome 終了 end #while 終了 end #if number == 1 終了 elsif number == 2 #もし2が選ばれたら colordata = Array.new #季節から選べるように STDERR.print("好きな季節の番号を選んで下さい。\n") STDERR.print("1. 春 \t 2. 夏 \t 3. 秋 \t 4. 冬:")#選択肢 season = gets.to_i #選ばれた数字を正数として取り入れる if season == 1 #1の春が選ばれたら seasoncolor = "spring_d.dat" #春のデータが入ったファイルから setdata = ["紅梅の匂","躑躅"] #データとして入っているものを取りだす sethtml = [x STDERR.print("\nどの襲を見ますか? :") #表示されたものの中から選ばせる ans = gets.to_i #入力された数字 ans を正数として取り入れる ans -= 1 #排列は0から数えるので、1ずつ引いたものを表示する printf("%s\n", setdata[ans]) #setdata中の、ans番目の中の要素を表示 k = 0 l = 0 #表の変数をいれる m = 0 #裏の変数をいれる while k < colordata.length # if setdata[ans] == colordata[k][0] # 検索されたデータの if colordata[k][1] == "表" #colordataの2個目の要素が"表"の場合 printf("%s%d\t %s\n", colordata[k][1], l += 1, colordata[k][2]) #表の2個目の要素を表示し、表の変数に1足す else #colordataの2個目の要素が"表"でなければ printf("%s%d\t %s\n", colordata[k][1], m += 1, colordata[k][2]) #表の2個目の要素を表示し、裏の変数に1足す end #if,else文終了 end #if setdata〜 終了 k += 1 end #while 終了 url = "http://roy/~c108203/irome/color/" + sethtml[ans] + ".html" #urlに上のsethtmlから取り込まれたものをいれる system("firefox -remote 'OpenURL(#{url}, new-window)'") #上でurlとして表示されたものを、firefoxで開く end #全体終了 変更点など 西村先生に作っていただいたプログラムを、前回まで作っていたプログラムに取 り入れた。伝統色検索では検索して出た結果のローマ字部分をURLに取り込み、 新しいタブを開くようにした。 初め、検索された色見本のURLを電子チケットで表示させるページを作り、そこ からクリックで飛ぶようにしようとして意味が分からなくなっていた。 実行結果 1.伝統色を探す場合 pan{c108203}% ./iromekensaku.rb [~/public_html/irome] 検索したいものを選んで下さい。 1.伝統色を探す 2.襲の色目を探す 1 か 2 を入力して下さい:1 調べたい伝統色の名前を ローマ字か漢字で入力して下さい:nezu 藤鼠 hujinezu.png 銀鼠 ginnnezu.png 江戸鼠 edonezu.png 梅鼠 umenezu.png 藍鼠 ainezu.png 錆鼠 sabinezu.png 利休鼠 rikyuunezumi.png 表示されたページ http://roy/~c108203/irome/color/hujinezu.png http://roy/~c108203/irome/color/ginnnezu.png http://roy/~c108203/irome/color/edonezu.png http://roy/~c108203/irome/color/umenezu.png http://roy/~c108203/irome/color/ainezu.png http://roy/~c108203/irome/color/sabinezu.png http://roy/~c108203/irome/color/rikyuunezumi.png 2.色目を探す場合 pan{c108203}% ./iromekensaku.rb [~/public_html/irome] 検索したいものを選んで下さい。 1.伝統色を探す 2.襲の色目を探す 1 か 2 を入力して下さい:2 好きな季節の番号を選んで下さい。 1. 春 2. 夏 3. 秋 4. 冬:1 1: 紅梅の匂 2: 躑躅 どの襲を見ますか? :1 紅梅の匂 表1 より淡い紅梅 表2 淡紅梅 表3 紅梅 表4 紅梅 表5 濃紅梅 表6 青 裏1 より淡い蘇芳 裏2 淡蘇芳 裏3 蘇芳 裏4 蘇芳 裏5 濃蘇芳 表示されたページ http://roy/~c108203/irome/color/koubainonioi.html 考察 襲の検索は上手くいった。 だが色そのものの検索は、その文字列を含む多くの色が出てしまう。 特に 色 や iro で検索された場合あまりにも多くのデータが表示され、 利用者が困るだろう。絞り込みなどの改良が必要だと感じた。 作成襲色見本ページ(一部) http://roy/~c108203/irome/color/koubainonioi.html http://roy/~c108203/irome/color/tutuji.html http://roy/~c108203/irome/color/unohana.html http://roy/~c108203/irome/color/nadesiko.html http://roy/~c108203/irome/color/usuki.html http://roy/~c108203/irome/color/ominaesi.html http://roy/~c108203/irome/color/umegasane.html http://roy/~c108203/irome/color/kaedemomiji.html キャラクタの由来 実家で飼っているミドリガメを描いた。 のんびりいこう、という思いはあまりない。(実はカメは想像以上にすばやい) だがうちのミドリガメはマイペースで部屋の中を闊歩していたので、マイペース でいこう、という思いを込めた。 (よくマイペース と のんびり は同一視されるが、違う気がする) アドレス http://roy/~c108203/char_r1_c108203.png 参考文献 有職装束研究【綺陽会】>装束の知識と着方>色彩と色目>襲色目 http://www.kariginu.jp/kikata/5-2.htm ウィキペディア 襲の色目 http://ja.wikipedia.org/wiki/%E8%A5%B2%E3%81%AE%E8%89%B2%E7%9B%AE 共同学習者:笹原千珠子