第12回 基礎プログラミング I レポート課題 氏名:笹原千珠子 学籍番号:c109080A 語学クラス:英語 コース(系):政策マネジメント チーム名:SGOY チームホームページアドレス:http://roy/~c108203/SGOY/ プロジェクト名:「十二単 色目 検索」・「GO TO SCHOOL」 ---- 1. チーム全体の進み具合は、 「GO TO SCHOOL」のほうは物語と一緒に画像が出てくるゲームを作ったようだ。 どちらもプログラムは完成して、後は調整をして完成だと思う。 2. 「十二単 色目 検索」は、デモ版が完成し、完成版ももう少しでできそうだ。 ウェブページなども完成に近づいてきた。 3. 担当したのはデモ版のデータとプログラム、春と夏のデータ作りの部分。そしてプレゼ ンテーションの原稿。 4.デモ番は、最初に作ったものを見たメンバーから検索結果の色がでるようにし た方がいいという意見でた。 5.最初に作ったものは、字がずらずら並んで見にくかった。そこでプログラミン グを新しく作り替えて、字だけでなく、最後には画像が表示されるようになった。 6. 考えた設定 まず一覧に出てくる季節を数字で選択し、その後その季節の色目が何種類か出てくる。見たい色目を選ぶとその色目がウェブブラウザに出てくる。 プログラム #!/usr/koeki/bin/ruby $KCODE = 'e' #日本語で読めるようにする print("検索したい色目の季節を選んで下さい\n") #始めに表示する文章 colordata = Array.new #季節から選べるようにする STDERR.print("1. 春 \t 2. 夏 \t 3.秋 \t 4.冬:") #候補を表示してここから選べるようにする。 season = gets.to_i # season に変数を取ってきて文字列でなく数字としてあつかう。 if season == 1 #もし1を入力したら以下のものが適用される seasoncolor = "chizu.dat" setdata = ["紅梅の匂","躑躅"] #入っているデータ sethtml = ["koubainonioi", "tutuji"] # url に入る変数 elsif season == 2 #もし2を入力したら以下のものが適用される seasoncolor = "summer.dat" setdata = ["卯花","撫子"] sethtml = ["unohana", "nadesiko"] elsif season == 3 #もし3を入力したら以下のものが適用される seasoncolor = "fall.dat" setdata = ["薄", "女郎花"] sethtml = ["usuki", "ominaesi"] elsif season == 4 #もし4を入力したら以下のものが適用される seasoncolor = "winter.dat" setdata = ["梅重", "楓紅葉"] sethtml = ["umegasane", "kaedemomiji"] end #p season, seasoncolor i = 0 #候補を数える open(seasoncolor, "r") do |r| #上で選んだ seasoncolor を開いて読み込む while color = r.gets #読み込んだものを color に入れる if /(\S+)\s+(\S+)\s+(\S+)/ =~ color #もしデータが文字列、空白、文字列、空白、文字列で並んでいたら colordata[i] = [$1, $2, $3] #データの一列目から三列目もデー タが colordata に入る i += 1 #候補が0からのスタートになっているので1を足す end end end j = 0 while j < setdata.length #全てのデータを参照するまで繰り返す STDERR.printf("%d: %s /t", j+1, setdata[j]) #色目の候補を表示して選べるよ うにする j += 1 #0からのスタートになっているので1を足す end STDERR.print("\nどのくみあわせ?:") #さらに色目の候補から選ぶための指示を表示 ans = gets.to_i #取ってきた数字を入れる ans -= 1 #数字がひとつずつ引いたものになる。 # p ans printf("%s\n", setdata[ans]) #上で選んだ色目を表示 k = 0 l = 0 m = 0 while k < colordata.length #データを全て参照するまで以下の動作を繰り返す if setdata[ans] == colordata[k][0] #setdata のans とcolordata が同じだったら if colordata[k][1] == "表" #もしkが表だったら以下の print 文を表示 printf("%s%d\t %s\n", colordata[k][1], l += 1, colordata[k][2]) else #それ以外なら以下を表示 printf("%s%d\t %s\n", colordata[k][1], m += 1, colordata[k][2]) end end k += 1 #0になっているので1足す end url = "http://roy/~c108203/irome/color/" + sethtml[ans] + ".html" # url に選んだ色目の名前が入り、その色目の url になる #p url system("firefox -remote 'OpenURL(#{url}, new-window)'") #最後にウェブブラウザで選んだ色目のページが出る 実行した結果画面 pan{c109080}% ./chizu.rb [~/public_html] 検索したい色目の季節を選んで下さい 1. 春 2. 夏 3.秋 4.冬:2 1: 卯花 2: 撫子 どのくみあわせ?:1 卯花 表1 白 表2 白 表3 白 表4 白 表5 白 表6 白 裏1 白 裏2 白 裏3 黄 裏4 青 裏5 淡青 #この後ブラウザに色目がでてくる。 結果の考察 色目の名前と色の組み合わせが表示され、最後には画像が表示できた。ただ字が 並ぶよりも画像があった方がいいし、色目の表と裏もひとつずつ出るので 分かりやすいと思った。 ファイルオープンは、違うファイルのデータを読み込むときだけに使うと思って いた。同じファイルのデータも読み込めると分かって良かった。 参考文献 ウェブページ:日本の服の歴史 Maccahusigi http://www.bb.em-net.ne.jp/~maccafushigi/index.html ウェブページ2:かさね色目 http://www.kariginu.jp/kikata/kasane-irome.htm ウェブページ3:襲の色目 - Wikipedia http://ja.wikipedia.org/wiki/%E3%81%8B%E3%81%95%E3%81%AD%E3%81%AE%E8%89%B2%E7%9B%AE 7. プレゼン原稿の解説 プレゼンテーションのツールを使って発表するときのことを考えて、スライドごと に何を言うかおおまかに書いた。後はメンバー全体で話し合って変えていきたい。 8. 自分が作ったもの デモ版のデータ デモ版のプログラム 春と夏のデータ プレゼンテーション原稿 9. 動物で何か描こうと思っていたのだが、何の動物にするか迷った。 結局、自分が未年生まれのおひつじ座なので羊のキャラクターにした。 キャラクタのアドレス 080 参考文献 ウェブページ:2010 年度 基礎プログラミング I 講義ノート (シラバス) 西村 まどか http://roy/~madoka/2010/r1/ 共同学習者:吉田瑞恵