第7回 ゼミ紹介 レポート課題 氏名: 進藤 江莉亜 学籍番号: c1101193 語学クラス: 英語2 コース(系): 環境 1A a 仕様書 企画意図 このプログラムは私の趣味で作ったゲームです。 今私の中で怖い系がマイブームなので、 今まで習ってきたことをふまえて怖いゲームが作れないかと思い このプログラムを作成しました。 遊び方 インストール 前のページ(index.html)の「プログラム」のハイパーリンクを右クリックし「Save Link AS...」を選択して、普段プログラムを保存しているディレクトリに保存します。 実行方法 プログラムを保存したディレクトリに移動し、プログラムを実行します。例えばカレントディレクトリにあるrubyというディレクトリにプログラムを保存した場合 pan{c10xxxx}% cd ruby でrubyディレクトリに移動し pan{c11xxxx}% ruby program.rb で実行できます。 プログラムを起動するとこんなメッセージが出てきます。 お前の名前なんだっけ?:*** ここで名前を入力。面倒ならそのまま進んで下さい ***か、お前もまざれよ ***知ってるか?学校の7不思議を土曜日から1話ずつ話して 13日の金曜日に7話目を話すと 恐ろしいことが起こるってさ ……嫌だったら耳塞いどけば良いし お前もなんかあったら話してくれ この次から選択肢が出てきます 恐怖度を上げないようにしましょう -アドレス- c110119@f.koeki-u.ac.jp b プログラム I 考えた設定 選択肢によって恐怖度の上がりが変わり、最後は恐怖度の度合いにより最後が決 まるというプログラム。 II 作成したプログラム #!/usr/koeki/bin/ruby def massage(name) # 選択肢 STDERR.printf("0 :%sは耳を塞いだ \n",name) STDERR.printf("1 :%sが怖い話をした\n",name) STDERR.printf("2 :%sは友人の話を聞いた \n",name) STDERR.printf("3 :%sは妖怪から話を聞いた \n",name) end def fat(preday,talk) # 状況 x = 3 * preday - talk printf("%d日目\n",preday) printf("混乱度 %d\n",x) x end STDERR.printf("お前の名前なんだっけ?:") name = gets.chomp # 名前入力 if name == "" # もし何もなかったら name = "ジェイソン" # ジェイソンと言う名前になる end printf("%sか、お前もまざれよ\n",name) sleep(0.3) printf("%s知ってるか?",name) sleep(0.5) print("学校の7不思議を土曜日から1話ずつ話して\n") sleep(1) print("13日の金曜日に7話目を話すと\n") sleep(0.7) print("\e[31m恐ろしいことが起こる\e[mってさ\n") sleep(1) print("……嫌だったら耳塞いどけば良いし\n") sleep(0.5) print("お前もなんかあったら話してくれ\n\n") sleep(1) fear = 3 # 恐怖度 panik = 1 # パニック度 day = 1 # 日数 while true # 繰り返し print("--------------------------------\n") massage(name) ans = gets.to_i # キーボードから入力。整数。 if ans == 0 print("・・・・・・\n") sleep(0.5) print("・・・・・・・・・・・・・\n") sleep(0.5) print("・・・・\n") sleep(0.5) print("・・・・・・・・・・\n") sleep(0.5) elsif ans == 1 print("これは、ボクが高校3年の\n") sleep(0.5) print("夏合宿のときに体験したことだ\n") sleep(0.5) print("・・・・・・・・・・・・・\n") sleep(0.5) print("・・・・・・・・・・\n") sleep(0.5) elsif ans == 2 print("これはオレが小学校3年の時\n") sleep(0.5) print("学校に忘れ物を取りに行ったときのことだ\n") sleep(0.5) print("・・・・・・・・・・・・・\n") sleep(0.5) print("・・・・・・・・・・\n") sleep(0.5) elsif ans == 3 print("これはワタシがまだ人間と仲がよかった頃\n") sleep(0.5) print("ある村で起こった奇怪な事件についてです\n") sleep(0.5) print("・・・・・・・・・・\n") sleep(0.5) print("・・・・・・・・・・・・・\n") sleep(0.5) print("・・・・・・・・・・\n") sleep(0.5) end panik += fat(day,ans) # パニック度 printf("パニック度 %d\n",panik) fear += day * ans # 恐怖度 printf("恐怖度 %d\n",fear) if day == 7 # もし日数が7になったら break # 繰り返しを抜ける end # ifの終わり day += 1 # 繰り返す度1加える end # whileの終わり print("-----------------------------\n") print("その後……\n") sleep(1) printf("%sは",name) if fear >= 80 print("金曜日の番人になった\n") elsif fear >= 60 print("賽の河原につれて行かれた\n") elsif fear == 32 print("心霊研究家になった\n") elsif fear >= 30 print("何とか家に帰れた\n") elsif fear <= 10 printf("臆病者と笑われた\n") end III もとにしたプログラムと変更点 def_rubiocci.rbをもとにし、色々とつけくわえました。 変更点 育成ゲームではなくホラーゲームに変更 IV 実行結果 pan{c110119}% ./program.rb [~/public_html/advertise2] お前の名前なんだっけ?: ジェイソンか、お前もまざれよ ジェイソン知ってるか?学校の7不思議を土曜日から1話ずつ話して 13日の金曜日に7話目を話すと 恐ろしいことが起こるってさ ……嫌だったら耳塞いどけば良いし お前もなんかあったら話してくれ -------------------------------- 0 :ジェイソンは耳を塞いだ 1 :ジェイソンが怖い話をした 2 :ジェイソンは友人の話を聞いた 3 :ジェイソンは妖怪から話を聞いた 2 これはオレが小学校3年の時 学校に忘れ物を取りに行ったときのことだ ・・・・・・・・・・・・・ ・・・・・・・・・・ 1日目 混乱度 1 パニック度 2 恐怖度 5 -------------------------------- 0 :ジェイソンは耳を塞いだ 1 :ジェイソンが怖い話をした 2 :ジェイソンは友人の話を聞いた 3 :ジェイソンは妖怪から話を聞いた 0 ・・・・・・ ・・・・・・・・・・・・・ ・・・・ ・・・・・・・・・・ 2日目 混乱度 6 パニック度 8 恐怖度 5 -------------------------------- 0 :ジェイソンは耳を塞いだ 1 :ジェイソンが怖い話をした 2 :ジェイソンは友人の話を聞いた 3 :ジェイソンは妖怪から話を聞いた 1 これは、ボクが高校3年の 夏合宿のときに体験したことだ ・・・・・・・・・・・・・ ・・・・・・・・・・ 3日目 混乱度 8 パニック度 16 恐怖度 8 -------------------------------- 0 :ジェイソンは耳を塞いだ 1 :ジェイソンが怖い話をした 2 :ジェイソンは友人の話を聞いた 3 :ジェイソンは妖怪から話を聞いた 0 ・・・・・・ ・・・・・・・・・・・・・ ・・・・ ・・・・・・・・・・ 4日目 混乱度 12 パニック度 28 恐怖度 8 -------------------------------- 0 :ジェイソンは耳を塞いだ 1 :ジェイソンが怖い話をした 2 :ジェイソンは友人の話を聞いた 3 :ジェイソンは妖怪から話を聞いた 3 これはワタシがまだ人間と仲がよかった頃 ある村で起こった奇怪な事件についてです ・・・・・・・・・・ ・・・・・・・・・・・・・ ・・・・・・・・・・ 5日目 混乱度 12 パニック度 40 恐怖度 23 -------------------------------- 0 :ジェイソンは耳を塞いだ 1 :ジェイソンが怖い話をした 2 :ジェイソンは友人の話を聞いた 3 :ジェイソンは妖怪から話を聞いた 0 ・・・・・・ ・・・・・・・・・・・・・ ・・・・ ・・・・・・・・・・ 6日目 混乱度 18 パニック度 58 恐怖度 23 -------------------------------- 0 :ジェイソンは耳を塞いだ 1 :ジェイソンが怖い話をした 2 :ジェイソンは友人の話を聞いた 3 :ジェイソンは妖怪から話を聞いた 2 これはオレが小学校3年の時 学校に忘れ物を取りに行ったときのことだ ・・・・・・・・・・・・・ ・・・・・・・・・・ 7日目 混乱度 19 パニック度 77 恐怖度 37 ----------------------------- その後…… ジェイソンは何とか家に帰れた V 考察 pan{SHINDO Eria}% ./program.rb [~/public_html/advertise2] お前の名前なんだっけ?:ASIMO ASIMOか、お前もまざれよ ASIMO知ってるか?学校の7不思議を土曜日から1話ずつ話して 13日の金曜日に7話目を話すと 恐ろしいことが起こるってさ ……嫌だったら耳塞いどけば良いし お前もなんかあったら話してくれ -------------------------------- 0 :ASIMOは耳を塞いだ 1 :ASIMOが怖い話をした 2 :ASIMOは友人の話を聞いた 3 :ASIMOは妖怪から話を聞いた 1 これは、ボクが高校3年の 夏合宿のときに体験したことだ ・・・・・・・・・・・・・ ・・・・・・・・・・ 1日目 混乱度 2 パニック度 3 恐怖度 4 -------------------------------- 0 :ASIMOは耳を塞いだ 1 :ASIMOが怖い話をした 2 :ASIMOは友人の話を聞いた 3 :ASIMOは妖怪から話を聞いた 1 これは、ボクが高校3年の 夏合宿のときに体験したことだ ・・・・・・・・・・・・・ ・・・・・・・・・・ 2日目 混乱度 5 パニック度 8 恐怖度 6 -------------------------------- 0 :ASIMOは耳を塞いだ 1 :ASIMOが怖い話をした 2 :ASIMOは友人の話を聞いた 3 :ASIMOは妖怪から話を聞いた 1 これは、ボクが高校3年の 夏合宿のときに体験したことだ ・・・・・・・・・・・・・ ・・・・・・・・・・ 3日目 混乱度 8 パニック度 16 恐怖度 9 -------------------------------- 0 :ASIMOは耳を塞いだ 1 :ASIMOが怖い話をした 2 :ASIMOは友人の話を聞いた 3 :ASIMOは妖怪から話を聞いた 3 これはワタシがまだ人間と仲がよかった頃 ある村で起こった奇怪な事件についてです ・・・・・・・・・・ ・・・・・・・・・・・・・ ・・・・・・・・・・ 4日目 混乱度 9 パニック度 25 恐怖度 21 -------------------------------- 0 :ASIMOは耳を塞いだ 1 :ASIMOが怖い話をした 2 :ASIMOは友人の話を聞いた 3 :ASIMOは妖怪から話を聞いた 1 これは、ボクが高校3年の 夏合宿のときに体験したことだ ・・・・・・・・・・・・・ ・・・・・・・・・・ 5日目 混乱度 14 パニック度 39 恐怖度 26 -------------------------------- 0 :ASIMOは耳を塞いだ 1 :ASIMOが怖い話をした 2 :ASIMOは友人の話を聞いた 3 :ASIMOは妖怪から話を聞いた 1 これは、ボクが高校3年の 夏合宿のときに体験したことだ ・・・・・・・・・・・・・ ・・・・・・・・・・ 6日目 混乱度 17 パニック度 56 恐怖度 32 -------------------------------- 0 :ASIMOは耳を塞いだ 1 :ASIMOが怖い話をした 2 :ASIMOは友人の話を聞いた 3 :ASIMOは妖怪から話を聞いた 0 ・・・・・・ ・・・・・・・・・・・・・ ・・・・ ・・・・・・・・・・ 7日目 混乱度 21 パニック度 77 恐怖度 32 ----------------------------- その後…… ASIMOは心霊研究家になった 名前をちゃんと変更することもできたしある特定の数値で変わる最後も表示する ことができた。 pan{SHINDO Eria}% ./program.rb [~/public_html/advertise2] お前の名前なんだっけ?: ジェイソンか、お前もまざれよ ジェイソン知ってるか?学校の7不思議を土曜日から1話ずつ話して 13日の金曜日に7話目を話すと 恐ろしいことが起こるってさ ……嫌だったら耳塞いどけば良いし お前もなんかあったら話してくれ -------------------------------- 0 :ジェイソンは耳を塞いだ 1 :ジェイソンが怖い話をした 2 :ジェイソンは友人の話を聞いた 3 :ジェイソンは妖怪から話を聞いた 1 これは、ボクが高校3年の 夏合宿のときに体験したことだ ・・・・・・・・・・・・・ ・・・・・・・・・・ 1日目 混乱度 2 パニック度 3 恐怖度 4 -------------------------------- 0 :ジェイソンは耳を塞いだ 1 :ジェイソンが怖い話をした 2 :ジェイソンは友人の話を聞いた 3 :ジェイソンは妖怪から話を聞いた 1 これは、ボクが高校3年の 夏合宿のときに体験したことだ ・・・・・・・・・・・・・ ・・・・・・・・・・ 2日目 混乱度 5 パニック度 8 恐怖度 6 -------------------------------- 0 :ジェイソンは耳を塞いだ 1 :ジェイソンが怖い話をした 2 :ジェイソンは友人の話を聞いた 3 :ジェイソンは妖怪から話を聞いた 1 これは、ボクが高校3年の 夏合宿のときに体験したことだ ・・・・・・・・・・・・・ ・・・・・・・・・・ 3日目 混乱度 8 パニック度 16 恐怖度 9 -------------------------------- 0 :ジェイソンは耳を塞いだ 1 :ジェイソンが怖い話をした 2 :ジェイソンは友人の話を聞いた 3 :ジェイソンは妖怪から話を聞いた 1 これは、ボクが高校3年の 夏合宿のときに体験したことだ ・・・・・・・・・・・・・ ・・・・・・・・・・ 4日目 混乱度 11 パニック度 27 恐怖度 13 -------------------------------- 0 :ジェイソンは耳を塞いだ 1 :ジェイソンが怖い話をした 2 :ジェイソンは友人の話を聞いた 3 :ジェイソンは妖怪から話を聞いた 1 これは、ボクが高校3年の 夏合宿のときに体験したことだ ・・・・・・・・・・・・・ ・・・・・・・・・・ 5日目 混乱度 14 パニック度 41 恐怖度 18 -------------------------------- 0 :ジェイソンは耳を塞いだ 1 :ジェイソンが怖い話をした 2 :ジェイソンは友人の話を聞いた 3 :ジェイソンは妖怪から話を聞いた 1 これは、ボクが高校3年の 夏合宿のときに体験したことだ ・・・・・・・・・・・・・ ・・・・・・・・・・ 6日目 混乱度 17 パニック度 58 恐怖度 24 -------------------------------- 0 :ジェイソンは耳を塞いだ 1 :ジェイソンが怖い話をした 2 :ジェイソンは友人の話を聞いた 3 :ジェイソンは妖怪から話を聞いた 1 これは、ボクが高校3年の 夏合宿のときに体験したことだ ・・・・・・・・・・・・・ ・・・・・・・・・・ 7日目 混乱度 20 パニック度 78 恐怖度 31 ----------------------------- その後…… ジェイソンは何とか家に帰れた 混乱度 pan{c110119}% bc -l [~/public_html/advertise2] 3 * 1 - 1 2 3 * 2 - 1 5 3 * 3 - 1 8 3 * 4 - 1 11 3 * 5 - 1 14 3 * 6 - 1 17 3 * 7 - 1 20 quit パニック度 pan{c110119}% bc -l [~/public_html/advertise2] 3 * 1 * 1 3 (3 * 2 * 1) + 3 - 1 8 (3 * 3 * 1) + 8 -1 16 (3 * 4 * 1) + 16 - 1 27 (3 * 5 * 1) + 27 - 1 41 (3 * 6 * 1) + 41 - 1 58 (3 * 7 * 1) + 58 - 1 78 quit 恐怖度 pan{c110119}% bc -l [~/public_html/advertise2] 3 + 1 * 1 4 4 + 2 * 1 6 6 + 3 * 1 9 9 + 4 * 1 13 13 + 5 * 1 18 18 + 6 * 1 24 24 + 7 * 1 31 quit ということでこのプログラムは正しい。 d 広告ページ http://roy/~c110119/advertise2/index.html B a 自分のトップページへのリンク http://roy/~c110119/advertise2/index.html b 仕様書へのリンク http://roy.e.koeki-u.ac.jp/~c110119/advertise2/siyosyo.html c 最高傑作のプログラムへのリンク http://roy.e.koeki-u.ac.jp/~c110119/advertise2/program.rb 2 感想 HPも作らなきゃいけなかったので大変でした。 でも自分の好きなようにプログラムを作れたので満足です。 3 参考文献 基礎プログラミング II 第 6 回 (目的に応じて使ってみよう) 「るびおっち」 西村まどか http://roy/~madoka/2011/r2/06/r2_06_11_theme_09_rubiocci.html (10) 06/27の授業内容:プログラムの公開 神田直弥 http://roy/~naoya/ruby/10.html