第7回 基礎プログラミング II レポート課題 氏名:小関文紀 学籍番号:c1090638 語学クラス:中国語 1 コース(系):地域共創コース 1.a 制作意図 高校時代に後輩を上手く指導できなかったため、シミュレーションをつくり今後 に活かしていきたいと思ったから。 遊び方 選択肢を選び後輩を育て上げていく。 連絡先 c109063@e.koeki-u.ac.jp b 考えた設定 選択肢を選び、それによってエンディングの異なるプログラム。 作成したプログラム #!/usr/koeki/bin/ruby def message(naiyou) STDERR.printf("%s はどうする\n",naiyou) STDERR.print("* 1 * \t勉強する\n") STDERR.print("* 2 * \t運動をする\n") STDERR.print("* 3 * \tゲームをする\n") STDERR.print("* 4 * \t平凡に過ごす\n\n") end def benkyou(e) if e == 1 gaku = 5 elsif e == 2 gaku = 2 elsif e == 3 gaku = 1 else gaku = 3 end end STDERR.printf("大学生活を Enjoy しよう\n") sleep 1 STDERR.printf("あなたの名前は?? : ") name = gets.chomp if name == "" name = "ペス" end printf(" %s という名前にした。\n\n", name) gakuryoku = 1 year = 0 STDERR.print("将来就職するために頑張ろう。\n\n") while year < 4 printf(" %d 年目 \n\n", year += 1) message(name) STDERR.print("何をしますか? : ") ans = gets.chomp.to_i gakuryoku += benkyou(ans) print("\n\n------------------------------\n") end printf("\n %s は", name) if gakuryoku > 19 print("公務員になった。\n") elsif gakuryoku > 15 print("中小企業に就職した。\n") elsif gakuryoku > 11 print("アスリートになった。\n") elsif gakuryoku > 4 print("自宅警備委員になった。(ニートになった)\n") end もとにしたプログラムからの変更点 メソッド名を message benkyou に変更した。 エンディングの数を増やした。 実行結果 1, pan{c109063}% ./syumiresyon.rb [~/public_html/advertise2] 大学生活を Enjoy しよう あなたの名前は?? : ペス という名前にした。 将来就職するために頑張ろう。 1 年目 ペス はどうする * 1 * 勉強する * 2 * 運動をする * 3 * ゲームをする * 4 * 平凡に過ごす 何をしますか? : 1 ------------------------------ 2 年目 ペス はどうする * 1 * 勉強する * 2 * 運動をする * 3 * ゲームをする * 4 * 平凡に過ごす 何をしますか? : 1 ------------------------------ 3 年目 ペス はどうする * 1 * 勉強する * 2 * 運動をする * 3 * ゲームをする * 4 * 平凡に過ごす 何をしますか? : 1 ------------------------------ 4 年目 ペス はどうする * 1 * 勉強する * 2 * 運動をする * 3 * ゲームをする * 4 * 平凡に過ごす 何をしますか? : 1 ------------------------------ ペス は公務員になった。 2, pan{c109063}% ./syumiresyon.rb [~/public_html/advertise2] 大学生活を Enjoy しよう あなたの名前は?? : ペス という名前にした。 将来就職するために頑張ろう。 1 年目 ペス はどうする * 1 * 勉強する * 2 * 運動をする * 3 * ゲームをする * 4 * 平凡に過ごす 何をしますか? : 1 ------------------------------ 2 年目 ペス はどうする * 1 * 勉強する * 2 * 運動をする * 3 * ゲームをする * 4 * 平凡に過ごす 何をしますか? : 1 ------------------------------ 3 年目 ペス はどうする * 1 * 勉強する * 2 * 運動をする * 3 * ゲームをする * 4 * 平凡に過ごす 何をしますか? : 1 ------------------------------ 4 年目 ペス はどうする * 1 * 勉強する * 2 * 運動をする * 3 * ゲームをする * 4 * 平凡に過ごす 何をしますか? : 3 ------------------------------ ペス は中小企業に就職した。 3, pan{c109063}% ./syumiresyon.rb [~/public_html/advertise2] 大学生活を Enjoy しよう あなたの名前は?? : ペス という名前にした。 将来就職するために頑張ろう。 1 年目 ペス はどうする * 1 * 勉強する * 2 * 運動をする * 3 * ゲームをする * 4 * 平凡に過ごす 何をしますか? : 1 ------------------------------ 2 年目 ペス はどうする * 1 * 勉強する * 2 * 運動をする * 3 * ゲームをする * 4 * 平凡に過ごす 何をしますか? : 2 ------------------------------ 3 年目 ペス はどうする * 1 * 勉強する * 2 * 運動をする * 3 * ゲームをする * 4 * 平凡に過ごす 何をしますか? : 1 ------------------------------ 4 年目 ペス はどうする * 1 * 勉強する * 2 * 運動をする * 3 * ゲームをする * 4 * 平凡に過ごす 何をしますか? : 2 ------------------------------ ペス はアスリートになった。 4, pan{c109063}% ./syumiresyon.rb [~/public_html/advertise2] 大学生活を Enjoy しよう あなたの名前は?? : ペス という名前にした。 将来就職するために頑張ろう。 1 年目 ペス はどうする * 1 * 勉強する * 2 * 運動をする * 3 * ゲームをする * 4 * 平凡に過ごす 何をしますか? : 1 ------------------------------ 2 年目 ペス はどうする * 1 * 勉強する * 2 * 運動をする * 3 * ゲームをする * 4 * 平凡に過ごす 何をしますか? : 4 ------------------------------ 3 年目 ペス はどうする * 1 * 勉強する * 2 * 運動をする * 3 * ゲームをする * 4 * 平凡に過ごす 何をしますか? : 3 ------------------------------ 4 年目 ペス はどうする * 1 * 勉強する * 2 * 運動をする * 3 * ゲームをする * 4 * 平凡に過ごす 何をしますか? : 3 ------------------------------ ペス は自宅警備委員になった。(ニートになった) 考察 1, 0 + 5 5 5 + 5 10 10 + 5 15 15 + 5 20 計算した結果20になり、19以降になると公務員になるので正しい。 2, 0 + 5 5 5 + 5 10 10 + 5 15 15 + 1 16 計算した結果16になり、15以降になると中小企業になるので正しい。 0 + 5 5 5 + 2 7 7 + 5 12 12 + 2 14 計算した結果14になり、11以降はアスリートになるので正しい。 4, 0 + 5 5 5 + 3 8 8 + 1 9 9 + 1 10 計算した結果10になり、4以降は自宅警備員になるので正しい。 d http://roy/~c109063/advertise2/ 2 感想 今回はプログラムだけでなくホームページまで手を加えなければならなかったた め非情に時間がかかった。中でも考察での再計算が考えていた以上に時間がかか り大変だった。一応後期で学んだことをプログラムに反映させることができたの で割りと満足のいく作品になった。 参考文献 http://roy/~c108100/advertise2/advertise.rb 2009年度の先輩のレポート 協同学習者 横山広樹 堀悠貴