第7回 基礎プログラミング II レポート課題 氏名:酒井 春香 学籍番号:c109074A 語学クラス:英語 3 コース:政策マネ 1、 A. a. <企画意図> 犬が好きだったからゲームにして、遊びたかった。 <遊び方> 指示にしたがって選択肢を選ぶ。選び方によってエンディングが変わってくるの で楽しんでください。 <連絡先> c109074@e.koeki-u.ac.jp b.プログラムに関する部分 a)考えた設定 methodを使用したるびおっち的ゲームを考えた。 b)プログラム本体 #!/usr/koeki/bin/ruby $KCODE = "e" # 日本語コード def cry(ct) ct.times do # 入力した数に応じて以下を実行する print("わん!\t") end end def message(name) STDERR.printf("%sを世話しよう: \n", name) STDERR.print("[0]\t触れ合わない\n") STDERR.print("[1]\tドッグフードをあげる\n") STDERR.print("[2]\tしつけをする\n") STDERR.print("[3]\t散歩をする\n") end def fat(a,b) x = b - a return x # 値を戻す end printf("\n") print("もう少しでクリスマス☆\n") sleep 1 print("今日はプレゼントとして前から欲しかった犬を買いに\nペットショップにきました。\n") sleep 1 print("「いらっしゃいませー」\n") sleep 1 print("どの子にしようかな。。。\n") sleep 2 print("あっ!この柴犬可愛いなー!\n") sleep 1 print("「この子にしよう!おかあさん!!」\n") sleep 2 print("よって、酒井家は柴犬(♂)を買うことにしました。\n\n\n") sleep 1 print("家に帰るとおじいさんが怒っていた。\n") sleep 1 print("「動物を飼うことは簡単なことではない!」\n") sleep 1 print("「よってこれからちゃんと愛情込めて世話が出来るか一週間テストをする。」\n") sleep 1 print("「ちゃんと世話してこの犬と仲良くなれたら飼うことを許そう。」\n") sleep 1 print("大変なことになった。。。\n\n") sleep 1 print("さてあなたはちゃんと育てることができるかな?\n") sleep 1 print("ゲームスタート!\n") print("(鳴き声の回数が多いほど愛情の度合いがわかります。)\n\n") STDERR.printf("この柴犬の名前を付けてください。") name = gets.chomp # 名前を入力してもらい、nameに取り込む if name == "" # もし名前がなかったら name = "ポン太" # 自動的にポン太という名前にする end printf("%sという名前になった。\n",name) love = 0 # 愛情 friendly = 0 # 仲良し度 time = 0 # 実行回数 day = 0 # 育てた日付 while true # 繰り返す print("\n") if time == 7 break end # 7回実行したらループから抜ける if friendly < 0 break end # 仲良し度が0以下になったらループから抜ける printf("%d 日目\n\n",day += 1) message(name) # message 関数を表示 ans = gets.chomp.to_i # 入力された数値を ans に取り込む print("\n") love += 2 + ans - 2 friendly += fat(ans,love) # fat関数の答えを仲良し度に加えていく cry(love) # cry関数を表示 print("\n\n") if friendly > 0 # 仲良し度が0より大きければ printf("仲良し度 %s \n\n","★" * friendly) end time += 1 print("------------------------------------------------\n") end print("結末。。。\n") if friendly < 15 # 仲良し度が4未満なら printf(" %s は一人でいなくなった。。。\nもうおじいさんは犬は買うなと言った。\n",name) elsif friendly < 38 # 仲良し度が8未満なら printf(" %s とある程度仲良くなれた。しぶしぶおじいさんが許してくれた。\n",name) elsif friendly < 50 # 仲良し度が15未満なら printf(" %s と結構仲良くなれた。おじいさんに飼うことを許してもらえた。\n",name) else # 仲良し度が上記以外なら printf(" %s は最高のパートナーとして酒井家の一員になった。\n",name) end c)もとにしたプログラムからの変更点 メソッドの名前を変更した。 print文を内容に即して変更した。 仲良し度を★で表せるようにした。 d)実行結果 1、 pan{c109074}% ./wanko.rb [~/Ruby] もう少しでクリスマス☆ 今日はプレゼントとして前から欲しかった犬を買いに ペットショップにきました。 「いらっしゃいませー」 どの子にしようかな。。。 あっ!この柴犬可愛いなー! 「この子にしよう!おかあさん!!」 よって、酒井家は柴犬(♂)を買うことにしました。 家に帰るとおじいさんが怒っていた。 「動物を飼うことは簡単なことではない!」 「よってこれからちゃんと愛情込めて世話が出来るか一週間テストをする。」 「ちゃんと世話してこの犬と仲良くなれたら飼うことを許そう。」 大変なことになった。。。 さてあなたはちゃんと育てることができるかな? ゲームスタート! (鳴き声の回数が多いほど愛情の度合いがわかります。) この柴犬の名前を付けてください。 ポン太という名前になった。 1 日目 ポン太を世話しよう: [0] 触れ合わない [1] ドッグフードをあげる [2] しつけをする [3] 散歩をする 0 ------------------------------------------------ 2 日目 ポン太を世話しよう: [0] 触れ合わない [1] ドッグフードをあげる [2] しつけをする [3] 散歩をする 0 ------------------------------------------------ 3 日目 ポン太を世話しよう: [0] 触れ合わない [1] ドッグフードをあげる [2] しつけをする [3] 散歩をする 0 ------------------------------------------------ 4 日目 ポン太を世話しよう: [0] 触れ合わない [1] ドッグフードをあげる [2] しつけをする [3] 散歩をする 0 ------------------------------------------------ 5 日目 ポン太を世話しよう: [0] 触れ合わない [1] ドッグフードをあげる [2] しつけをする [3] 散歩をする 0 ------------------------------------------------ 6 日目 ポン太を世話しよう: [0] 触れ合わない [1] ドッグフードをあげる [2] しつけをする [3] 散歩をする 0 ------------------------------------------------ 7 日目 ポン太を世話しよう: [0] 触れ合わない [1] ドッグフードをあげる [2] しつけをする [3] 散歩をする 0 ------------------------------------------------ 結末。。。 ポン太 は一人でいなくなった。。。 もうおじいさんは犬は買うなと言った。 2、 pan{c109074}% ./wanko.rb [~/Ruby] もう少しでクリスマス☆ 今日はプレゼントとして前から欲しかった犬を買いに ペットショップにきました。 「いらっしゃいませー」 どの子にしようかな。。。 あっ!この柴犬可愛いなー! 「この子にしよう!おかあさん!!」 よって、酒井家は柴犬(♂)を買うことにしました。 家に帰るとおじいさんが怒っていた。 「動物を飼うことは簡単なことではない!」 「よってこれからちゃんと愛情込めて世話が出来るか一週間テストをする。」 「ちゃんと世話してこの犬と仲良くなれたら飼うことを許そう。」 大変なことになった。。。 さてあなたはちゃんと育てることができるかな? ゲームスタート! (鳴き声の回数が多いほど愛情の度合いがわかります。) この柴犬の名前を付けてください。 ポン太という名前になった。 1 日目 ポン太を世話しよう: [0] 触れ合わない [1] ドッグフードをあげる [2] しつけをする [3] 散歩をする 1 わん! ------------------------------------------------ 2 日目 ポン太を世話しよう: [0] 触れ合わない [1] ドッグフードをあげる [2] しつけをする [3] 散歩をする 1 わん! わん! 仲良し度 ★ ------------------------------------------------ 3 日目 ポン太を世話しよう: [0] 触れ合わない [1] ドッグフードをあげる [2] しつけをする [3] 散歩をする 1 わん! わん! わん! 仲良し度 ★★★ ------------------------------------------------ 4 日目 ポン太を世話しよう: [0] 触れ合わない [1] ドッグフードをあげる [2] しつけをする [3] 散歩をする 3 わん! わん! わん! わん! わん! わん! 仲良し度 ★★★★★★ ------------------------------------------------ 5 日目 ポン太を世話しよう: [0] 触れ合わない [1] ドッグフードをあげる [2] しつけをする [3] 散歩をする 3 わん! わん! わん! わん! わん! わん! わん! わん! わん! 仲良し度 ★★★★★★★★★★★★ ------------------------------------------------ 6 日目 ポン太を世話しよう: [0] 触れ合わない [1] ドッグフードをあげる [2] しつけをする [3] 散歩をする 3 わん! わん! わん! わん! わん! わん! わん! わん! わん! わん!わん! わん! 仲良し度 ★★★★★★★★★★★★★★★★★★★★★ ------------------------------------------------ 7 日目 ポン太を世話しよう: [0] 触れ合わない [1] ドッグフードをあげる [2] しつけをする [3] 散歩をする 3 わん! わん! わん! わん! わん! わん! わん! わん! わん! わん!わん! わん! わん! わん! わん! 仲良し度 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ------------------------------------------------ 結末。。。 ポン太 とある程度仲良くなれた。しぶしぶおじいさんが許してくれた。 3、 pan{c109074}% ./wanko.rb [~/Ruby] もう少しでクリスマス☆ 今日はプレゼントとして前から欲しかった犬を買いに ペットショップにきました。 「いらっしゃいませー」 どの子にしようかな。。。 あっ!この柴犬可愛いなー! 「この子にしよう!おかあさん!!」 よって、酒井家は柴犬(♂)を買うことにしました。 家に帰るとおじいさんが怒っていた。 「動物を飼うことは簡単なことではない!」 「よってこれからちゃんと愛情込めて世話が出来るか一週間テストをする。」 「ちゃんと世話してこの犬と仲良くなれたら飼うことを許そう。」 大変なことになった。。。 さてあなたはちゃんと育てることができるかな? ゲームスタート! (鳴き声の回数が多いほど愛情の度合いがわかります。) この柴犬の名前を付けてください。 ポン太という名前になった。 1 日目 ポン太を世話しよう: [0] 触れ合わない [1] ドッグフードをあげる [2] しつけをする [3] 散歩をする 2 わん! わん! ------------------------------------------------ 2 日目 ポン太を世話しよう: [0] 触れ合わない [1] ドッグフードをあげる [2] しつけをする [3] 散歩をする 2 わん! わん! わん! わん! 仲良し度 ★★ ------------------------------------------------ 3 日目 ポン太を世話しよう: [0] 触れ合わない [1] ドッグフードをあげる [2] しつけをする [3] 散歩をする 2 わん! わん! わん! わん! わん! わん! 仲良し度 ★★★★★★ ------------------------------------------------ 4 日目 ポン太を世話しよう: [0] 触れ合わない [1] ドッグフードをあげる [2] しつけをする [3] 散歩をする 3 わん! わん! わん! わん! わん! わん! わん! わん! わん! 仲良し度 ★★★★★★★★★★★★ ------------------------------------------------ 5 日目 ポン太を世話しよう: [0] 触れ合わない [1] ドッグフードをあげる [2] しつけをする [3] 散歩をする 3 わん! わん! わん! わん! わん! わん! わん! わん! わん! わん!わん! わん! 仲良し度 ★★★★★★★★★★★★★★★★★★★★★ ------------------------------------------------ 6 日目 ポン太を世話しよう: [0] 触れ合わない [1] ドッグフードをあげる [2] しつけをする [3] 散歩をする 3 わん! わん! わん! わん! わん! わん! わん! わん! わん! わん!わん! わん! わん! わん! わん! 仲良し度 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ------------------------------------------------ 7 日目 ポン太を世話しよう: [0] 触れ合わない [1] ドッグフードをあげる [2] しつけをする [3] 散歩をする 3 わん! わん! わん! わん! わん! わん! わん! わん! わん! わん!わん! わん! わん! わん! わん! わん! わん! わん! 仲良し度 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ------------------------------------------------ 結末。。。 ポン太 と結構仲良くなれた。おじいさんに飼うことを許してもらえた。 4、 pan{c109074}% ./wanko.rb [~/Ruby] もう少しでクリスマス☆ 今日はプレゼントとして前から欲しかった犬を買いに ペットショップにきました。 「いらっしゃいませー」 どの子にしようかな。。。 あっ!この柴犬可愛いなー! 「この子にしよう!おかあさん!!」 よって、酒井家は柴犬(♂)を買うことにしました。 家に帰るとおじいさんが怒っていた。 「動物を飼うことは簡単なことではない!」 「よってこれからちゃんと愛情込めて世話が出来るか一週間テストをする。」 「ちゃんと世話してこの犬と仲良くなれたら飼うことを許そう。」 大変なことになった。。。 さてあなたはちゃんと育てることができるかな? ゲームスタート! (鳴き声の回数が多いほど愛情の度合いがわかります。) この柴犬の名前を付けてください。 ポン太という名前になった。 1 日目 ポン太を世話しよう: [0] 触れ合わない [1] ドッグフードをあげる [2] しつけをする [3] 散歩をする 3 わん! わん! わん! ------------------------------------------------ 2 日目 ポン太を世話しよう: [0] 触れ合わない [1] ドッグフードをあげる [2] しつけをする [3] 散歩をする 3 わん! わん! わん! わん! わん! わん! 仲良し度 ★★★ ------------------------------------------------ 3 日目 ポン太を世話しよう: [0] 触れ合わない [1] ドッグフードをあげる [2] しつけをする [3] 散歩をする 3 わん! わん! わん! わん! わん! わん! わん! わん! わん! 仲良し度 ★★★★★★★★★ ------------------------------------------------ 4 日目 ポン太を世話しよう: [0] 触れ合わない [1] ドッグフードをあげる [2] しつけをする [3] 散歩をする 3 わん! わん! わん! わん! わん! わん! わん! わん! わん! わん!わん! わん! 仲良し度 ★★★★★★★★★★★★★★★★★★ ------------------------------------------------ 5 日目 ポン太を世話しよう: [0] 触れ合わない [1] ドッグフードをあげる [2] しつけをする [3] 散歩をする 3 わん! わん! わん! わん! わん! わん! わん! わん! わん! わん!わん! わん! わん! わん! わん! 仲良し度 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ------------------------------------------------ 6 日目 ポン太を世話しよう: [0] 触れ合わない [1] ドッグフードをあげる [2] しつけをする [3] 散歩をする 3 わん! わん! わん! わん! わん! わん! わん! わん! わん! わん!わん! わん! わん! わん! わん! わん! わん! わん! 仲良し度 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ------------------------------------------------ 7 日目 ポン太を世話しよう: [0] 触れ合わない [1] ドッグフードをあげる [2] しつけをする [3] 散歩をする 3 わん! わん! わん! わん! わん! わん! わん! わん! わん! わん!わん! わん! わん! わん! わん! わん! わん! わん! わん! わん!わん! 仲良し度 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ------------------------------------------------ 結末。。。 ポン太 は最高のパートナーとして酒井家の一員になった。 e)考察 仲良し度によって結末が変わるか確かめ算をした。 1の場合 pan{c109074}% bc -l [~/Ruby] (2 + 0 - 2 + 0) - 0 0 (2 + 0 - 2 + 0) - 0 0 (2 + 0 - 2 + 0) - 0 0 (2 + 0 - 2 + 0) - 0 0 (2 + 0 - 2 + 0) - 0 0 (2 + 0 - 2 + 0) - 0 0 (2 + 0 - 2 + 0) - 0 0 0 + 0 + 0 + 0 + 0 + 0 + 0 0 計算した結果あっていた。 2の場合 (2 + 1 - 2 + 0) - 1 0 (2 + 1 - 2 + 1) - 1 1 (2 + 1 - 2 + 2) - 1 2 (2 + 3 - 2 + 3) - 3 3 (2 + 3 - 2 + 6) - 3 6 (2 + 3 - 2 + 9) - 3 9 (2 + 3 - 2 + 12) - 3 12 0 + 1 + 2 + 3 + 6 + 9 + 12 33 計算した結果あっていた。 3の場合 (2 + 2 - 2 + 0) - 2 0 (2 + 2 - 2 + 2) - 2 2 (2 + 2 - 2 + 4) - 2 4 (2 + 3 - 2 + 6) - 3 6 (2 + 3 - 2 + 9) - 3 9 (2 + 3 - 2 + 12) -3 12 (2 + 3 - 2 + 15) - 3 15 0 + 2 + 4 + 6 + 9 + 12 + 15 48 計算した結果あっていた。 3の場合 (2 + 3 - 2 + 0) - 3 0 (2 + 3 - 2 + 3) - 3 3 (2 + 3 - 2 + 6) - 3 6 (2 + 3 - 2 + 9) - 3 9 (2 + 3 - 2 + 12) - 3 12 (2 + 3 - 2 + 15) - 3 15 (2 + 3 - 2 + 18) - 3 18 0 + 3 + 6 + 9 + 12 + 15 + 18 63 計算した結果あっていた。 c.なし d.リンク先 http://roy.e.koeki-u.ac.jp/~c109074/advertise2/ 2、感想 今回は、最高傑作を作るということで、プログラム本体に力をいれました。 途中計算が合わなくて悩みましたが、友達に教えてもらってなんとか理解できま した。 ホームページの作業も忘れているところが結構あったので、レポートをやってい るうちに復習することができました。 3、参考文献 西村まどか先生のHPより 昨年度の先輩のレポート講評から http://roy.e.koeki-u.ac.jp/~c108040/advertise2/plan.rb 共同学習者 佐竹 聡美 / 横山 広樹